유니티에서 컴포넌트는 오브젝트를 이루고 있는 하나의 단위로 취급됩니다. 오브젝트가 상황에 따른 움직임과 반응을 일으키기 위해서는 컴포넌트가 필요합니다. 그 중 대표적으로 많이 사용하는 컴포넌트들을 소개하겠습니다.
유니티에서 모든 오브젝트들이 가지고 있는 컴포넌트입니다. 빈 오브젝트를 만들어도 Transform은 무조건 가지고 있습니다. 게임 오브젝트의 위치, 회전, 스케일(크기)을 관리하는 컴포넌트입니다.
Position : 오브젝트의 위치를 나타냅니다.
Rotation : 오브젝트의 회전을 나타냅니다.
Scale : 오브젝트의 크기를 나타냅니다.
(다른 곳에서 asset을 다운받아 온 오브젝트라면 Scale은 안건드는걸 추천드립니다. Scale이 바뀌면 asset에서 제공하는 애니메이션등을 적용 못할수도 있습니다.)
유니티의 오브젝트들 중 형태를 가지고 있는 오브젝트들이 가지고 있는 컴포넌트입니다. 화면에 그려질 물체나 이미지를 관리 및 처리하는 컴포넌트입니다.
2D : 이미지를 그대로 가져와서 오브젝트에 적용하는 방식입니다.
3D : Mesh Renderer종류들은 3D에서 많이 사용하는 입체 오브젝트에 Meterial을 입히는 방식입니다.
오브젝트들끼리 움직이다가 부딫히면 감지해주는 컴포넌트입니다. 보통 충돌처리가 필요한 오브젝트에 들어갑니다. 그냥 오브젝트들의 모양대로 충돌범위가 계산된다면 너무 많은 계산을 필요로 하기 때문에, 계산이 수월한 충돌 영역을 설정해주는 컴포넌트입니다.
2D : Box Collider 2D, Capsule Collider 2D, Circle Collider 2D등이 있습니다.
3D : Box Collider, Capsule Collider, Sphere Collider등이 있습니다.
3D에서는 Is Trigger에 체크하면 Trigger역할을 하는 Collider가 됩니다.
충돌을 감지하면 충돌에 따른 물리계산을 해주는 컴포넌트입니다. 예를 들면, 플레이어가 점프를 할 때 작용하는 중력 또한 물리계산이 필요한데 이 컴포넌트에서 다 해줍니다. 즉, 게임 오브젝트에 물리 작용을 적용하기 위한 컴포넌트입니다.
2D용 Rigidbody2D
3D용 Rigidbody
오브젝트가 이동하거나 공격할때 똑같은 애니메이션이 적용된다면, 상당부분 어색함이 있고 몰입도가 떨어질 것입니다. 그 때마다 애니메이션을 다르게 적용할 수 있도록 해주는 컴포넌트입니다. 즉, 게임 오브젝트에 애니메이션을 적용할 수 있게 해주는 컴포넌트입니다.
Animator 컴포넌트
Animator Controller를 2번 클릭하면 뜨는 창입니다. 여기서 애니메이션을 관리하고 적용합니다.