Game/Unity 17

[유니티] 프리팹(Prefabs)과 감지(Detection), 충돌(Collision) (2)

목표 - 프리팹의 개념을 이해하고 프리팹 인스턴스를 생성하기. - 프리팹화된 몹들을 감지하기. 충돌(Collision)과 감지(Detection) 게임을 하다 보면 몹의 특정 범위 내에 들어와서 공격을 받는 상황을 겪어보았을 것이다. 예를 들어보자. 타워 디펜스류 게임을 할 때 타워가 설치되고 몹을 인식하기 전까진 아무런 행동을 하지 않다가, 몹이 범위 안에 들어오면 공격을 하기 시작하는 것을 예로 들 수 있겠다. 이렇게 몹을 감지하고 공격하는 행동은 어떻게 해야 구현이 될까? 공격을 하기 위해선 몹을 감지하는 것이 우선이겠다. 여기서 감지(Detection)란 말 그대로 범위 내에 특정 오브젝트를 인식하는 것을 의미한다. 유니티에서는 감지를 하기 위해 자주 사용하는 것이 있는데, 바로 충돌(Collis..

Game/Unity 2023.02.01

[유니티] 프리팹(Prefabs)과 감지(Detection), 충돌(Collider) (1)

목표 - 프리팹의 개념을 이해하고 프리팹 인스턴스를 생성하기. - 프리팹화된 몹들을 감지하기. 프리팹(Prefabs) 게임을 하다 보면 동일한 목표를 가진 오브젝트가 여러 마리 생성되는 것을 쉽게 볼 수 있다. 예를 들어 보자. 우리가 한 번 씩 해본 메이플 스토리를 생각해보면, 사냥을 할 때 맵에 있는 몬스터들을 봤을 때 동일한 몬스터가 같은 패턴으로 행동한다. 일정 범위 내의 플레이어를 인식하고, 몬스터의 고유의 행동(공격)을 한다. 만약 이러한 몹들이 생성될 때마다 생성된 수만큼 오브젝트를 생성하고 컴포넌트를 부착한다면 굉장히 비효율적일 것이다. 이러한 상황을 해결하기 위해 사용하는 것이 바로 프리팹이다. Unity 공식 문서에 따르면 Unity의 프리팹 시스템은 게임 오브젝트를 생성, 설정 및 저..

Game/Unity 2023.01.26

[유니티] 오브젝트 이동 (2)

목표 - 오브젝트가 특정 경로를 따라 이동하게 구현 - 좌표와 애니메이션을 이용해 오브젝트가 움직이며 이동하게 구현 특정 경로를 따라 이동 이전 [유니티] 오브젝트 이동(1)에서는 기본적인 이동방법 2가지인 transform.Translate와 transform.position에 대해 간략하게 알아보았다. 이번 파트에서는 이 두 가지 방법 중 하나를 이용해서 경로를 따라 이동하는 것을 구현해보자. 다음과 같은 타일을 맵으로 해서 노란색 경로를 따라 지나가다 End를 만나면 멈추는 것을 구현해보자. Start부터 시작해서 꺾이는 분기점을 지나게 하려면 어떻게 해야할까? - Vector3.moveTowards 유니티 공식 문서에 따르면 Vector3의 프로퍼티중 MoveTowards는 다음과 같다. curr..

Game/Unity 2023.01.23

[유니티] 오브젝트 이동 (1)

목표 - 오브젝트가 특정 경로를 따라 이동하게 구현 - 좌표와 애니메이션을 이용해 오브젝트가 움직이며 이동하게 구현 오브젝트 이동 오브젝트가 특정 경로를 따라 이동하는 것을 구현하기 전에, 유니티에 존재하는 이동 방법들에 대해 먼저 알아보자. 우리가 어떤 오브젝트를 생성했을 때 그 오브젝트의 인스펙터창을 보게 되면 다음과 같은 Transform 컴포넌트가 항상 존재한다. 이 Transform 컴포넌트는, 유니티 공식 사이트에 따르면 Scene 속 각 Object의 Position(위치), Rotation(회전), Scale(크기)를 결정한다고 쓰여 있다. 쉽게 말해 좌표에 관한 정보를 담고 있다고 생각하면 되겠다. 따라서 이러한 위치를 프레임마다 변경한다면 우리는 마치 이 오브젝트가 이동하는 것처럼 보일..

Game/Unity 2023.01.19

[유니티] 카메라 조작 및 단축키

화면 회전 Scene에 우클릭을 유지하고 이동하면 화면이 마우스 방향을 따라 회전한다. 화면 상하좌우 이동 Scene에 우클릭을 유지하고 w(앞), s(뒤), a(좌), d(우), e(상), q(하). 이때 속도를 높이고 싶으면 Shift키도 같이 눌러준다. 카메라 2D/3D 전환 키보드 2번 카메라를 현재 Scene이 보이는 화면으로 전환 Hieararchy 창에서 Main Camera를 클릭하고, Ctrl + Shift + f (만약 물체를 현재 카메라 위치로 옮기고 싶으면, 오브젝트를 선택하고 Ctrl + Shift + f)

Game/Unity 2023.01.18

[유니티] 기초 UI

좌측에 Q,W,E,R,T,Y의 단축키를 통해 오브젝트를 이동시키거나 회전시키는 등의 기능을 사용할 수 있다. ① Scene 게임 오브젝트가 포함되는 공간. 캐릭터, 장애물, 배경 등을 배치할 수 있다. ② Console 유니티가 실행되며 생성되는 메시지를 출력하는 창. 유니티 스크립트에서 Debug 명령어를 통해 콘솔에 원하는 메시지를 표시할 수도 있다. 단축키는 Ctrl + Shift + C. ③ Game View 유니티가 실행됐을 때, 유저의 입장에서 보게되는 디스플레이. ④ Hieararchy Scene에 표시되는 게임 오브젝트를 표시하고 있는 계층 창. 여기서 Scene에 사용할 게임 오브젝트를 정렬하거나 그룹화할 수 있으며, 부모-자식 계층 구조를 사용할 수도 있다. ⑤ Project 해당 프로..

Game/Unity 2023.01.17