Posted in: Unity, 메서드 & 팁 정리

(유니티) 카메라 Projection(투영방식)

유니티 카메라의 Projection(투영방식)은 두 가지 방식이 있습니다. Perspective 와 Orthographic 입니다. Perspective 방식 Perspective 는 카메라 위치에서 부터 투영선이 벌어집니다. 가까이 있는 것은 크게 보이고 멀리 있는 것은 작게 보입니다. 투영선을 조절할려면 Field of View 를 조절하면 됩니다. Perspective 는 사물에 대한 원근감과 공간감을 잘 표현해서 보여줍니다. Orthographic 방식 Orthograpic 은 투영선이 평행을 이루고 있습니다. […]

Posted in: Unity, 메서드 & 팁 정리

(유니티) 코루틴 Coroutine

코루틴 Coroutine 코루틴은 유니티가 지원하는 기능입니다. 함수의 작업 과정 사이에 대기시간을 삽입할 수 있습니다. 코루틴 사용 법 위 스크립트를 게임 오브젝트에 컴포넌트하고 실행시키면 Hello Unity를 순차적으로 읽어냅니다. 이제 코루틴을 사용해서 Hello 를 읽어내고 3초후에 Unity 를 읽어내게 해보겠습니다. 코루틴을 사용할 함수는 IEnumerator 라는 타입을 사용합니다. HelloUnity 함수를 보면 yield return new WaitForSeconds 라는 코드가 있는데 […]

Posted in: Unity, 메서드 & 팁 정리

(유니티) 회전(rotation)과 쿼터니언

게임 오브젝트를 코드에서 회전시키기 위해 new Vector3();를 사용하면 에러가 난다. Vector3 형식을 Quaternion 형식으로 변환할 수 없다.라는 문구가 뜨는데 위치와 달리 회전은 쿼터니언(Quaternion)을 사용한다. Quaternion.Euler함수를 사용하면 Vector3를 쿼터니언으로 쉽게 변환할 수 있다. 쿼터니언은 x,y,z,w 4개의 축을 사용하여 Vector3를 사용했을 때 생기는 짐벌락 현상을 방지한다. 짐벌락 현상이란 오브젝트가 회전을 하면 회전하는 오브젝트 기준으로는 공간 좌표도 회전하게 […]

Posted in: Unity, 메서드 & 팁 정리

(유니티) 로컬 스페이스, 글로벌 스페이스

각각 로컬 스페이스, 글로벌 스페이스 설정일 때 로케이션 방향을 본 것입니다. 글로벌은 게임 세상을 기준으로 하는 절대적인 좌표축. 로컬은 나 자신의 부모 또는 나 자신의 회전을 기준으로 하는 좌표축입니다. 두 가지의 차이점은 글로벌은 절대적인 좌표이고 로컬은 상대적인 좌표입니다. 보통 평행이동은 기본적으로 로컬 스페이스를 기준으로 이동합니다. 게임 세상을 기준으로 하는 것이 아니라 자기 자신을 기준으로 한다는 […]

Posted in: Unity, 메서드 & 팁 정리

(유니티) 충돌감지함수 – OnTrigger, OnCollision

사진이 작아서 잘 안보이지만 유니티 게임 오브젝트는 (3D의 경우) ‘Collider’ 컴포넌트를 가진다. 2D의 경우 Add Conponent 를 통해서 추가하면 된다. (Add Component -> Physics -> 원하는 Collider) ‘Collider’ 컴포넌트를 가지고 있으면 충돌처리를 할 수 있다. ‘Collider’ 컴포넌트의 ‘Is Trigger’ 가 체크(true)되있으면 다른 게임오브젝트들이 통과할 수 있다. 이제부터 설명할 함수들은 조건이 성사되면 유니티에서 실행시켜주는 함수들이다. void OnTriggerEnter(Collider […]

Posted in: Unity, 메서드 & 팁 정리

(유니티) 게임 매니저가 쓰이는 이유

  유니티에서 ‘게임 매니저’ 스크립트를 만들면 이미지가 자동으로 톱니바퀴로 바뀐다. 이건 게임 설정을 의미하는 것과 비슷한 아이콘이다. 그 만큼 많은 사람들이 사용하기 때문에 유니티에서 자동으로 지원하는 것이다. 왜 사용할까?   파란색 박스를 노란색 목표지점까지 옮기는 ‘소코반’ 게임을 만들고 있다고 치자.   해당 게임에서 승리조건은 파란색 박스를 모두 노란색 목표지점까지 옮기는 것이다. 그렇다면 효율적으로 승리조건을 알아내는 방법은? […]

Posted in: Unity, 메서드 & 팁 정리

(유니티) 스크립트에서 Transform 컴포넌트 불러오기

보통 스크립트로 컴포넌트의 기능을 사용할 때 위 사진들처럼 사용하는 경우가 많다. 하지만 ‘Transform’ 컴포넌트는 모든 게임 오브젝트가 소유하는 컴포넌트이기 때문에 유니티에서 특혜를 받는다. 게임 오브젝트 자신이 가지고 있는 ‘Transform’ 컴포넌트를 사용할 경우 소문자로 transform 을 사용하면 바로 사용 가능하다. transform.원하는 함수;

Posted in: Unity, 메서드 & 팁 정리

(유니티) 벡터 연산 기초

  유니티를 사용하면 Vector3(또는 Vector2) 함수를 많이 접하게 된다. 게임에 활용되는 벡터 개념은 그리 어렵지 않다. 중요한 3가지 개념이 있는데 간단하게 알아보도록 하자. 벡터는 방향과 크기(거리, 길이, 속도)를 가진다.   몬스터는 (0, 0) 좌표에 있고 주인공은 (2, 2) 좌표에 있다고 가정해보자.   방향에 대한 내용은 밑에서 알아보기로 하고 크기에 관한 내용을 알아보자.   몬스터와 주인공 […]