컴포넌트(Component)

이인혁·2024년 9월 4일
0

유니티

목록 보기
16/20
post-thumbnail

유니티에서 컴포넌트는 오브젝트를 이루고 있는 하나의 단위로 취급됩니다. 오브젝트가 상황에 따른 움직임과 반응을 일으키기 위해서는 컴포넌트가 필요합니다. 그 중 대표적으로 많이 사용하는 컴포넌트들을 소개하겠습니다.

Transform

유니티에서 모든 오브젝트들이 가지고 있는 컴포넌트입니다. 빈 오브젝트를 만들어도 Transform은 무조건 가지고 있습니다. 게임 오브젝트의 위치, 회전, 스케일(크기)을 관리하는 컴포넌트입니다.

  • Position : 오브젝트의 위치를 나타냅니다.

  • Rotation : 오브젝트의 회전을 나타냅니다.

  • Scale : 오브젝트의 크기를 나타냅니다.
    (다른 곳에서 asset을 다운받아 온 오브젝트라면 Scale은 안건드는걸 추천드립니다. Scale이 바뀌면 asset에서 제공하는 애니메이션등을 적용 못할수도 있습니다.)

Renderer

유니티의 오브젝트들 중 형태를 가지고 있는 오브젝트들이 가지고 있는 컴포넌트입니다. 화면에 그려질 물체나 이미지를 관리 및 처리하는 컴포넌트입니다.

  • 2D : 이미지를 그대로 가져와서 오브젝트에 적용하는 방식입니다.

  • 3D : Mesh Renderer종류들은 3D에서 많이 사용하는 입체 오브젝트에 Meterial을 입히는 방식입니다.

Collider/Collider2D

오브젝트들끼리 움직이다가 부딫히면 감지해주는 컴포넌트입니다. 보통 충돌처리가 필요한 오브젝트에 들어갑니다. 그냥 오브젝트들의 모양대로 충돌범위가 계산된다면 너무 많은 계산을 필요로 하기 때문에, 계산이 수월한 충돌 영역을 설정해주는 컴포넌트입니다.

  • 2D : Box Collider 2D, Capsule Collider 2D, Circle Collider 2D등이 있습니다.

  • 3D : Box Collider, Capsule Collider, Sphere Collider등이 있습니다.

  • 3D에서는 Is Trigger에 체크하면 Trigger역할을 하는 Collider가 됩니다.

Rigidbody/Rigidbody2D

충돌을 감지하면 충돌에 따른 물리계산을 해주는 컴포넌트입니다. 예를 들면, 플레이어가 점프를 할 때 작용하는 중력 또한 물리계산이 필요한데 이 컴포넌트에서 다 해줍니다. 즉, 게임 오브젝트에 물리 작용을 적용하기 위한 컴포넌트입니다.

  • 2D용 Rigidbody2D

  • 3D용 Rigidbody

Animator

오브젝트가 이동하거나 공격할때 똑같은 애니메이션이 적용된다면, 상당부분 어색함이 있고 몰입도가 떨어질 것입니다. 그 때마다 애니메이션을 다르게 적용할 수 있도록 해주는 컴포넌트입니다. 즉, 게임 오브젝트에 애니메이션을 적용할 수 있게 해주는 컴포넌트입니다.

  • Animator 컴포넌트

  • Animator Controller를 2번 클릭하면 뜨는 창입니다. 여기서 애니메이션을 관리하고 적용합니다.

profile
게임개발공부블로그

0개의 댓글