유니티 25

[Unity Shader/테크니컬 아티스트를 위한 유니티 쉐이더 스타트업] 1일차 : 프로퍼티(Properties)

_Name : 기능의 변수명. _를 붙이는 것이 필수는 아니지만, 외부에서 입력받았다는 것을 표시하기 위해 자주 쓰인다고 한다. "display name" : 화면에 나타나는 글자 number : 초기값 ● Range _Name ("display name", Range (min, max)) = number Range : 슬라이더바 입력 형식. 최솟값과 최댓값 입력 ● Float _Name ("display name", Float) = number ● Int _Name ("display name", Int) = number ● Color _Name ("display name", Color) = (number, number, number, number) ● Vector _Name ("display name"..

Unity/Shader 2023.03.15

[Unity UI] 1일차 Menu

UI 배우기 전에도 전체적인 구조 잡는 부분이 중요하겠다고 생각했지만, UI는 특히나 구조가 매우 중요하다고 느꼈다. UITabMenu에서 UIMenu들을 관리하고, UIMenu는 각각의 메뉴에 들어가는 txt, image를 관리한다. 각각의 Menu button 클릭 - 클릭된 메뉴의 text색이 변하고 이미지 활성화 UITabMenu using System.Collections; using System.Collections.Generic; using UnityEngine; public class UItabMenu : MonoBehaviour { public UIMenu[] arrUIMenu; private UIMenu selectedUIMenu; void Start() { foreach (UIMenu..

Unity/수업내용 2023.02.06

[Unity] AddListener와 for문

2023.02.06 - [Unity/수업내용] - [Unity UI] 1일차 Button [Unity UI] 1일차 Button btnBlue는 Main에서 직접 이벤트를 관리, btnYellow와 btnGreen은 Button들을 관리하는 UIButtons에서 이벤트를 관리하는 방법으로 코드를 작성하였다. UIButtons using System.Collections; using System.Collections.Generic; usi narmhye.tistory.com 이전 글에서 있었던 문제의 원인을 찾아보았다. 문제가 발생한 코드 UIButtons의 Start private void Start() { for(int i = 0; i < arrBtns.Length; i++) { this.arrBtns..

Unity/수업과제 2023.02.06

[Unity UI] 1일차 Button

! UI는 순서대로 쌓여 화면에 출력됨( Hierachy 순서 중요) ! btnBlue는 Main에서 직접 이벤트를 관리, btnYellow와 btnGreen은 Button들을 관리하는 UIButtons에서 이벤트를 관리하는 방법으로 코드를 작성하였다. UIButtons using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class UIButtons : MonoBehaviour { public enum eBtnTypes { Yellow, Green } public Button[] arrBtns; public Button btnBlue; public System.Ac..

Unity/수업내용 2023.02.06

[Unity] Object Pooling 오브젝트 풀링_최적화, Garbage Collector

반복해서 오브젝트를 생성하고 파괴하는 방법은 많은 Garbage Collector를 발생시키며, CPU의 순간적인 성능 소모 및 프레임 저하를 불러옴 이러한 문제를 해결하기 위하여 Object Pooling 기법을 사용! Object Pooling 오브젝트의 생성/파괴 대신 Pool을 만들어 오브젝트를 활성화/비활성화 하며 관리 이러한 오브젝트들은 메모리 내에 계속 남아있기 때문에, CPU 성능 소모 ↓ 메모리 사용량 ↑ Garbage Collertor? 메모리 관리 방법. Heap에서 객체의 위치를 기억하는 참조변수가 모두 사라지면 정리되지 않은 메모리 garbage 발생 garbage가 메모리 공간이 부족할 정도로 쌓이면 Garbage Collection( GC )기능에 의해 삭제(해제) ! 시스템에..

Unity/수업과제 2023.02.06

[Unity2D] Shooting Game 구조 만들기 연습

DontDestroyOnReoad : Scene이 바뀌어도 제거되지 않음 ! Scene 만들면 가장 먼저 Scene이름의 Empty, Script 만들기 ! lifetime transform.SetParent(transform) Camera.main.orthographicSize -> bullet.transform.position.y가 카메라 사이즈를 넘어가면 사라지게 활용 App using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class App : MonoBehaviour { private string version = "Version ..

Unity/수업내용 2023.02.03

[Unity 2D / 유니티 교과서] 6장 예제 ClimbCloud

Rigidbody : 중력, 마찰 힘 계산 (강체) -물리 영향을 무시 : Body Type - Kinematic (기본 Dynamic) -회전을 방지 : Constraints - Freeze Rotation z활성 Collider : 충돌 판정 OnTriggerEnter2D(Colider2D) : SceneManager 자주 사용하게 될 Find method -복수형에 주의! 단수형은 처음 찾은 대상을 반환, 복수형은 배열을 반환 FindGameObjectsWithTag(태그이름) FindObjectsOfType(타입이름) using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Scen..

Unity/수업내용 2023.02.01

[Unity 2D] Mecanim (애니메이션 상태 시스템) 연습

처음에 SetInteger를 호출할수 없어 이유를 한참 찾았는데, Animator 타입을 Animation으로 자꾸 잘못 적었다. 항상 자세히 보기!! Animator.SetInteger(Parameter이름, Transition에 설정한 상태); Transition은 Has Exit Time, Fixed Duration 해제, 0으로 설정 : 키를 눌렀을 경우에만 transition이 일어나도록 Idle, Walk가 아닌 한번만 재생할 애니메이션은 Inspector의 Loop Time 해제 using System.Collections; using System.Collections.Generic; using UnityEngine; public class CucumberController : MonoBeh..

Unity/수업과제 2023.02.01