[Unity] 기본 컴포넌트 : Transform, Rigidbody, Material, Collider

niireymik·2025년 1월 28일

Unity

목록 보기
2/4

Unity에는 오브젝트에 기본으로 부여되거나 매우 자주 쓰는 컴포넌트가 정해져 있는데, 바로 Transform, Rigidbody, Material, Collider이다. 각 컴포넌트가 무엇인지 간단히 알아보고, 어떤 속성을 가지는지도 함께 알아보자! :>




📌 Transform

Unity 에디터에서 오브젝트 생성 시 모든 게임 오브젝트에 기본적으로 부여되는 컴포넌트
해당 오브젝트의 위치(Position), 회전(Rotation), 크기(Scale) 등의 변환 정보를 담음


위 설명처럼, Tranform은 Unity에서 어떤 오브젝트를 생성하든 항상 붙어 다니는 컴포넌트이다. x, y, z축을 기준으로 위치, 회전, 크기 값을 나타낸다.

Transform컴포넌트는 기본적으로 제공되기 때문에 Scene 창에서 도구(좌측에 세로로 놓인 버튼)를 선택해 사용하거나 Inspector 창에서 값을 입력해 바로 조정할 수 있다!




📌 Rigidbody

물리 효과를 받기 위한 컴포넌트

Rigidbody는 Unity에서 중력 등의 물리 현상과 관련된 속성을 포함하는 컴포넌트이다. Rigidbody 컴포넌트를 오브젝트에 추가하기만 하면 바로 중력이 적용되는데, 이처럼 물리 현상과 관련된 많은 기능을 미리 구현해둔 컴포넌트가 바로 Rigidbody이다.


Rigidbody 적용해 보기

1. Inspector 창에서 Add Component → Physics → Rigidbody 컴포넌트 추가
Scene 창이나 Hierachy 창에서 (미리 추가해둔) 3D 오브젝트를 클릭하면 해당 오브젝트가 가진 컴포넌트들이 Inspector 창에 모두 표시된다. 이 Inspector 창에서 Add Component 버튼을 클릭하면 다양한 컴포넌트를 추가할 수 있다.

이 중 우리는 물리 현상을 다루는 Rigidbody 컴포넌트를 추가할 것이므로 Physics에 들어가고, Rigidbody를 클릭하면 컴포넌트가 추가된다! :>
(물론 검색으로 바로 Rigidbody를 찾아도 된다~)


2. 시작 버튼을 클릭해서 게임 실행해보기. 아래로 중력을 받아 떨어지는 것 확인 가능

Rigidbody 주요 속성

  • Mass
    • 무게
    • 수치가 높을수록 무거워짐
  • Use Gravity
    • 중력 적용 여부
  • Is Kinematic
    • 외부 물리 효과를 무시
    • (외부로부터 충돌 이펙트를 받지 않아 움직이는 장애물을 만들 때 사용)



📌 Material / Physics Material

오브젝트의 표면 재질 / 탄성과 마찰을 다루는 물리적인 재질

Material은 오브젝트를 감싸는 표면의 재질을 결정한다. 색상이나 이미지를 설정할 수도 있고, 무광/유광의 정도도 설정할 수 있다.

Physics Material은 Material과 마찬가지로 '재질'이지만 이는 물리적인 재질을 설정하는 컴포넌트이다. 탄성력이 얼마나 되는지, 마찰력이 얼마나 되는지 등을 다루어 미끄러운 빙판이나 통통 튀는 농구공을 Physics Material로 구현할 수 있다.


Material 적용해 보기

1. Project 창의 Assets 내에 폴더 Materials 생성
Material 컴포넌트를 오브젝트에 추가하려면, 우선 기본 Material을 생성해 원하는 재질로 설정해 주어야 한다. 여러 Material들을 생성해 쉽게 관리하기 위해서 Project 창에서 우클릭Createfolder를 선택해 새로운 폴더를 생성하고, 이름을 Materials로 설정해 주자!


2. 생성한 폴더에서 우클릭 → Create → Material 생성해 이름 설정
Material을 생성한 후 이름을 설정해 주자. (나는 주황색을 적용할 것이라서 Orange로 했다)


3. 생성한 Material을 클릭하고 Inspector 창에서 Color 조정
생성한 Material을 클릭하면, 이 컴포넌트와 관련된 모든 정보가 Inspector 창에 나타난다. Inspector 창에서 이 Material의 다양한 속성을 조정할 수 있다.

Albedo 옆에 있는 색상 칸을 클릭하면 원하는 색상을 선택할 수 있다.


4. Capsule에 적용, Inspector 창에서 Metallic / Smoothness 조정해보기
생성한 Material을 적용해 보자! 적용할 오브젝트를 클릭하면 Inspector 창에 오브젝트가 가진 컴포넌트들이 표시될 것이다. Project 창에서 방금 생성한 Material을 드래그해서, Inspector 창의 컴포넌트들 맨 아래에 드롭하면 하나의 컴포넌트로 추가될 것이다! :)

오브젝트에 Material이 적용된 채로 여러 속성을 달리 해 보자. Project 창의 머티리얼을 다시 클릭해서, Metallic과 Smoothness의 값을 조정해 보자. Metallic은 금속 재질 수치, Smoothness는 빛 반사 수치이다!

Material 주요 속성

  • Metallic
    • 금속 재질 수치
  • Smoothness
    • 빛 반사 수치
    • 0이면 무광, 1로 갈수록 유광
  • Albedo
    • 재질에 들어가는 이미지
    • 이미지를 끌어다 놓아서 표면에 적용 가능
  • Tiling
    • 텍스쳐 반복 타일 개수
  • Emission
    • 텍스쳐 발광 조절
    • 체크해 색상 조절 가능
    • 물리적으로 빛이 나오는 것은 아님. 빛을 내는 오브젝트는 light로 따로 있음!

(+) Physics Material 주요 속성

  • Bounciness
    • 탄성력
    • 높을수록 많이 튀어오름
  • Friction
    • 마찰력
    • 낮을수록 많이 미끄러짐
    • Static/Dynamic은 정지해 있을 때의 마찰력과 움직이고 있을 때의 마찰력
  • 각각의 Combine
    • 다음 탄성을 계산하는 방식



📌 Collider

물리 경계 (충돌의 기준) 를 설정하는 컴포넌트
3D 오브젝트 생성 시 기본적으로 부여됨

Collider는 Unity에서 물리 경계를 설정할 수 있도록 제공하는 컴포넌트이다. 이는 3D 오브젝트 생성 시에는 기본적으로 부여된다. (Transform과 달리 모든 오브젝트에 부여되지는 않는다.)

콜라이더는 플레이어가 총알에 닿으면 죽거나, 점프대에 닿으면 튀어오르는 등의 '충돌 이벤트'를 처리하기 위해 사용한다. 우선 직접 적용해 보며 콜라이더 컴포넌트를 이해하자!

*충돌하는 경계 자체가 콜라이더이다. 충돌 시 어떤 이벤트를 발생시킬지는 스크립트(C# 코드)로 설정해야 한다. 이는 추후 다시 다루어 보자! :>


Collider 적용해 보기

1. Hierarchy 창에서 우클릭 → 3D Object에서 Plane 선택 → 캡슐 아래에서 바닥 역할을 하도록 위치 조정
물리 경계인 Collider의 개념을 쉽게 이해하기 위해서, 바닥의 기능을 해줄 Plane을 추가해 주자. 게임을 시작하면 캡슐이 바닥으로 떨어져서 멈출 수 있도록 Plane이 캡슐보다 아래에 있도록 위치를 조정해 준다.


2. 실행해보기 : 캡슐이 아래로 떨어지다가 바닥이랑 맞닿으며 멈춤
실행을 해 보면, 캡슐이 아래로 떨어지다가 바닥과 맞닿으며 멈춘다. Capsule과 Plane 모두 3D Object이기에 기본적으로 Collider가 부여되어 있다(Inspector 창에서 확인 가능).


3. 캡슐을 클릭한 후 Inspector 창에서 Capsule Collider의 Height 늘여서 다시 실행 : 캡슐이 아까보다 높은 위치에서 멈춤 (보이는 모습은 그대로지만, 물리 경계를 늘였기 때문!)

캡슐을 클릭하고 Inspector 창에서 Capsule Collider의 속성을 설정할 수 있다. 여기서 콜라이더의 높이를 (그림2처럼) 높여서 실행해 보자.

초록색 실선이 물리 경계인 Collider를 나타내는데, 이대로 실행하면 전처럼 바닥과 맞닿으며 멈추는 것이 아니라 조금 뜬 상태로 멈추는 것을 확인할 수 있다. 이는 우리 눈에 보이는 오브젝트는 원래 크기대로이지만, 물리 경계의 높이가 늘어났기 때문에 더 높은 곳에서 Plane과 닿아 멈춰 있는 것이다 ! :>

Rigidbody 주요 속성

  • Edit Collider
    • 클릭해 물리 경계 설정 가능
  • Is Trigger
    • 트리거 여부 결정 (자세한 내용은 추후 다룰 것!)



📝 정리하기
Transform은 위치/회전/크기를 설정하는 컴포넌트, Rigidbody는 물리 현상과 관련된 컴포넌트, Material은 재질을 나타내는 컴포넌트, Collider는 물리 경계를 나타내는 컴포넌트이다.

0개의 댓글