[Collider Component]
충돌을 감지하는 센서 역할을 하는 컴포넌트
Box, Sphere, Capsule, Mesh, Wheel, Terrain 의 형태 Collider 제공
Box Collider
가장 다용도로 사용.
Center, Size 속성으로 박스 형태를 조절
Sphere Collider
가장 속도 처리가 빠른 Collider.
Radius 속성으로 구체의 반지름을 조절
정밀한 충돌 감지를 해야하는 경우를 제외하고서는 대부분 Sphere Collider 사용하는 것을 권장.
Capsule Collider
주로 인체 또는 나무, 가로등과 같은 모델의 충돌체로 사용.
Height 속성으로 캡슐의 높이 조절 가능
Direction 속성은 Height 값을 변경했을 때 커지는 축을 설정. 기본 Y축.
Mesh Collider
CPU 부하가 가장 높은 Collider
아주 세밀한 충돌 감지에 사용된다.
유니티에서는 Mesh Collider 간의 충돌 감지가 안되도록 기본값 설정.
속도 저하를 방지하기 위함
Convex 속성을 체크하면 Mesh 간의 충돌 감지 가능하나, 단순 메쉬로 변경.
Wheel Collider
차량의 바퀴에 사용할 목적으로 제공.
바퀴의 서스펜션, 바닥과의 마찰저항과 미끄러지는 저항을 세밀하게 조절 가능.
Terrain Collider
유니티에 내장된 Terrain Engine을 이용해 생성한 지형에 적용되는 Collider.
지형의 복잡도에 따라 Collider의 부하가 높아진다.
로우폴리 Mesh를 이용해 Mesh Collider로 대체하는 것도 좋은 방법.
충돌 감지 조건.
충돌을 일으키는 양쪽 게임오브젝트 모두 Collider 컴포넌트가 추가돼 있어야 한다.
두 게임오브젝트 중 움직이는 쪽에는 반드시 Rigidbody Component가 있어야한다.
연산 처리 속도가 빠른 Collider
Sphere Collider > Capsule Collider > Box Collider
충돌 이벤트.
Collider 컴포넌트를 포함한 게임오브젝트 간의 충돌이 발생할때 호출되는 이벤트.
모든 Collider Component에는 IsTrigger 속성이 있다.
이 속성을 체크할 경우 충돌은 감지되지만, 물리적인 충돌은 일어나지 않는다.
주로 감지 센서 역할을 하는 게임오브젝트에서 많이 사용하는 속성.
void OnCollisionEnter
IsTrigger UnCheck했을 시,
두 물체 간의 충돌이 일어나기 시작했을 때
void OnCollosionStay
IsTrigger UnCheck했을 시,
두 물체 간의 충돌이 지속될 때
void OnCollisionExit
IsTrigger UnCheck했을 시,
두 물체가 서로 떨어졌을 때
void OnTriggerEnter
IsTrigger Check했을 시,
두 물체 간의 충돌이 일어나기 시작했을 때
void OnTriggerStay
IsTrigger Check했을 시,
두 물체 간의 충돌이 지속될 때
void OnTriggerExit
IsTrigger Check했을 시,
두 물체가 서로 떨어졌을 때
'Unity C#' 카테고리의 다른 글
Unity Quaternion에 대한 정리 (0) | 2018.07.23 |
---|---|
Photon Server에 대한 기본 정리 (0) | 2018.07.18 |
Unity RigidBody Component 정리 (0) | 2018.07.17 |
Unity3d GameObject에 관한 정리 (0) | 2018.07.17 |
Unity3d 그래픽스, 조명에 관한 정리 (0) | 2018.07.16 |