| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- c#
- 차이점
- map
- 자료구조
- 반복문
- MonoBehaviour
- list
- 벡터
- 배열
- 큐
- static_cast
- 힙영역
- 트리
- 멀티쓰레드
- 스택영역
- thread
- vector
- 알고리즘
- 프래그멘테이션
- 스택
- Queue
- rookiss
- 공부
- 기술면접
- 리스트
- std::map
- 인프런
- 객체지향
- std::unordered_map
- 해쉬맵
- Today
- Total
호빵의 IT 개발소
[MMO RPG] Collider 본문
콜라이더(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 |