호빵의 IT 개발소

[MMO RPG] Collider 본문

C#, 유니티/MMO RPG 만들기 기초(클라이언트)

[MMO RPG] Collider

호빵Stack 2022. 1. 21. 23:14

콜라이더(Collider) 컴포넌트는 물리 충돌 처리를 위한 오브젝트의 형태를 정의합니다. 콜라이더는 보이지 않는 요소이므로 오브젝트의 메시와 정확히 동일한 모양일 필요는 없으며, 실제로는 게임플레이 시에는 대략적인 근사치로도 크게 구분되지 않으며 더 효율적입니다.

 

player에 가장 보편적으로 사용하는 Capsule Collider를 사용해 보겠습니다.

1. Player를 선택하여 Add Component에서 Capsule Collider검색하여 추가합니다.

 -다양한 collider가 있습니다. 모델에 따라서 알맞은 collider를 선정하여 사용합니다.

2. 모델에 크기에 맞게 Capsule Collider 크기를 수정하기 위해 Edit Collider를 클릭해 줍니다.

3. 모델을 보면 초록색 캡슐모양이 생긴것을 볼 수 있습니다. 초록색 범위가 collider에 범위이며 캐릭터에 맞게 빨간 부분을 좌클릭하여 크기를 조절할 수 있습니다.

4. Rigidbody 를 추가하겠습니다. Rigidbody란 캐릭터나 모델에 중력을 주는 component입니다. 중력을 주지 않게 되면 현재 모델은 공중에서 날라다니게 됩니다.

5. Rigidbody에서 Use Gravity를 활성화 해줍니다.

*Rigidbody에서 가장 자주 쓰이는 3가지를 말씀 드리겠습니다.

 - Mass : 질량 즉, kg이라고 생각하시면 됩니다.

 - Use Gravity : 중력 활성화

 - Is Kinematic : 오브젝트가 물리엔진으로 제어되지 않고 Transform으로만 조작됩니다.

*Constraints에 있는 Freeze Position과 Freeze Rotation은 추후 적용할 때 설명드리겠습니다.

 

6. 테스트를 위해 3D Object에서 Plane을 생성한 뒤 Plane에서 모델을 공중에 조금 떨어뜨려 놓고 테스트를 해봅시다.

 

플레이 전

 

플레이 후

 

 

※만약 Player에 Collider가 없거나 Plane에 Collider가 없다면?(두개 중 하나라도 없을 시) Player는 충돌하는 곳이 없으므로 Plane을 통과하여 계속 밑으로 떨어지게 됩니다. (Gravity 영향) 

 

 

 

---------------------------------------------------------------------------------------------------------------------------

참고 : [인프런] Rookiss님의 [C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티  엔진

'C#, 유니티 > MMO RPG 만들기 기초(클라이언트)' 카테고리의 다른 글

[MMO RPG] Trigger  (0) 2022.01.21
[MMO RPG] Collision  (0) 2022.01.21
[MMO RPG] Rotation  (0) 2022.01.19
[MMO RPG] Position  (0) 2022.01.19
[MMO RPG] Player 간단한 움직임 구현  (0) 2022.01.17
Comments