: 충돌을 감지
-Collider 종류
1) Box Collider
박스 형태의 Collider.
Edit Collider | 씬뷰에서 직접 Collider 크기를 조절 |
Is Trigger | 충돌을 감지만 하는가? (체크==true -> 물리적 충돌은 발생×) |
Material (Physic Material) | 물리와 관련된 Material을 받음 (ex. 탄성도) |
Center | Collider 위치 조정 |
Size | Collider 크기 조절 |
2) Sphere Collider
구체 모양의 Collider.
가장 속도 처리가 빠른 Collider.
Radius | 구체의 반지름 조절 |
3) Capsule Collider
캡슐 모양의 Collider.
주로 인체, 나무, 가로등 과 같은 모델의 충돌체로 많이 사용.
Height | 캡슐의 높이 조절 |
Direction | Height 속성 값을 변경했을 때 커지는 축을 설정. |
4) Mesh Collider
대상의 형태로 감싸주는 Collider.
충돌 감지를 위한 CPU 부하가 가장 높은 Collider.
아주 세밀한 충돌 감지에 사용.
유니티에는 Mesh Collider 간의 충돌 감지가 되지 않도록 기본값이 설정되어 있는데, 이는 속도 저하를 방지하기 위함.
Convex | 체크 == Mesh Collider의 충돌 감지 활성화 |
Mesh | 해당 게임오브젝트를 넣어 대상의 형태인 Collider 생성 |
5) Wheel Collider
차량의 바퀴에 사용할 목적으로 제공되는 Collider.
6) Terrain Collider
유니티에 내장된 Terrain Engine을 이용해 지형에 적용되는 Collider.
지형의 복잡도에 따라 Collider의 부하가 높아지는데, 이럴때는 로우폴리 Mesh를 이용해 Mesh Collider로 대체하는 것도 좋은 방법이다.
-충돌 감지 조건
1) 충돌을 일으키는 양쪽 게임오브젝트 모두 Collider 컴포넌트가 있어야 한다.
2) 두 게임오브젝트 중 움직이는 쪽에는 반드시 Rigidbody 컴포넌가 있어야한다.
-충돌 발생 이벤트 함수
함수명 | 호출 조건 | Is Trigger 옵션 |
void OnCollisionEnter | 두 물체 간의 충돌이 일어나기 시작했을 때 | |
void OnCollisionStay | 두 물체 간의 충돌이 지속될 때 | |
void OnCollisionExit | 두 물체가 서로 떨어졌을 때 | |
void OnTriggerEnter | 두 물체 간의 충돌이 일어나기 시작했을 때 | ∨ |
void OnTriggerStay | 두 물체 간의 충돌이 지속될 때 | ∨ |
void OnTriggerExit | 두 물체가 서로 떨어졌을 때 | ∨ |
'프로그램 공부 > Unity 컴포넌트' 카테고리의 다른 글
Image (0) | 2019.06.28 |
---|---|
Character Controller (0) | 2019.06.13 |
파티클 시스템 (Particle System) (0) | 2019.05.25 |
Rigidbody (0) | 2019.05.23 |
Transform (0) | 2019.05.23 |