본문 바로가기

Unity 공부시작

유니티 :: 프로퍼티와 싱글턴 오브젝트 * 프로퍼티 : 어떤 값에 접근하는 징검다리 프로퍼티는 public 자료형 프로퍼티명{get {}set {}} 과 같이 선언된다. get은 값을 리턴해주는 함수이고 set은 값을 변경해주는 함수이다. 괄호가 없어 인자를 받아올 수 없어 보이지만, 'value'를 이용하여 인자처럼 받아올 수 있다. 만약 set을 써주지 않고 get만 써준다면 읽기 전용 프로퍼티를 만들 수 있다. 이 프로퍼티의 용도는 private으로 선언된 변수에 다른 클래스에서 접근할 때 private로 선언된 변수를 변경하지 못하고 읽기만 할 수 있도록 해줄 수 있다. GameManager를 읽기 전용 프로퍼티로 선언한 코드private static GameManager instance; public static GameManager..
유니티 :: 좌표계 유니티의 좌표계는 아래와 같이 3가지가 있다. 1. World Point : 실제 gameObject의 transform.position 값 2. Viewport Point : 카메라 내에서 오브젝트가 위치하고 있는 비율 ( 따라서 값이 0~1 사이의 값으로 나타난다 ) 3. Screen Point : 카메라 내에서 오브젝트의 위치를 해상도를 기준으로 좌표를 매긴 값 ex) 1920 x 1080 해상도에서는 (0, 0) 부터 (1920, 1080) 까지 표현할 수 있다. 즉, World Point 값 x Viewport Point 값 = Screen Point 값이 된다. * Viewport Point를 활용하면 현재 오브젝트가 화면 내에 나타나지 않을 때 어디에 위치해 있는지 알 수 있다. x < 0 ..
유니티 :: 이벤트 함수 이벤트 함수란, 호출되지 않아도 만들어져만 있다면 자동으로 실행되는 함수로, 호출되는 시점이 정해져 있는 함수들이다. 1. Reset() : 에디터에서 처음 연결될 때, 혹은 Reset 명령을 실행했을 때 호출 2. Awake() : Start 함수 이전, 혹은 활성화 직후에 호출되는 함수 3. OnEnable / OnDisable : 활성화 / 비 활성화할 때마다 호출 OnEnable의 경우 Start 이전, Awake 후에 호출되는 함수이다. 순서) Awake() -> OnEnable() -> Start() 4. OnCollisionXXX 와 OnTriggerXXX 의 차이는 물리적 연산을 하는 지 여부에 있다. OnColiision의 경우 물리적 연산이 작용된다. OnCollis..
Unity2D 기능 구현 :: 날아오는 화살 막아내기 1. prefab에 오브젝트 할당하기 1. 화살과 캐릭터의 주먹 충돌 OnTriggerEnter2D(Collider2D col) : Score 증가 2. 화살과 캐릭터 몸체 충돌 OnCollisionEnter2D(Collision2D col) : Hp 감소 이미지 파일들은 InFlearn 강의 의 수업 자료를 이용하였습니다. 수정) 싱글턴 오브젝트 이용
유니티 :: prefab에 오브젝트 할당 prefab에 연결되는 객체는 반드시 프리팹 내부에 있는 오브젝트여야 한다. 이 말은, prefab은 다른 scene의 오브젝트와 달리 public GameObject를 선언해주어도 오브젝트를 외부에서 드래그 & 드랍으로 할당해줄 수 없다. 나의 경우 GameManager를 prefab에 할당하고 싶었는데, GameManager의 자료형을 할당해 주는 방법은 찾지 못하였고 GameObject를 찾아주는 GameObject.Find() 를 이용하였다. * GameObject.Find() 는 Scene에 있는 모든 오브젝트들을 검사하여 찾아주는 것으로, 부하가 걸리는 함수이다. 따라서 Frame마다 실행되는 Update 함수에 쓰지 않는 등 신경 쓰면서 사용해야 한다. 1. prefab의 Start함수에 p..
유니티 :: Vector3와 Translate // 대각선 움직임이 더 빠른 경우 Vector3 - (x, y, z)로 이루어진 자료형 - x, y, z는 좌표가 아니라, 부모로부터 x, y, z만큼 떨어져 있다는 것을 의미한다. - Vector3 끼리의 곱은 불가능하나 상수와의 곱은 가능하다. Vector3.right : (1, 0, 0)Vector3.left : (-1, 0, 0)Vector3.up : (0, 1, 0)Vector3.down : (0, -1, 0)Vector3.forward : (0, 0, 1) Vector3.back : (0, 0, -1)Vector3.one : (1, 1, 1)Vector3.zero : (0, 0, 0) 자신이 원하는 Vector3을 만들고 싶다면 Vector3 tempVector3 = new Vector3(a, b, c); 의 형태로 만들 수 ..
콜라한캔 :: 유니티 다운로드 https://store.unity.com/kr/download?ref=personal 유니티 코리아 다운로드 사이트