Unity3D Collider Component


최종 수정일 : 2018-08-13

[Collider Component]



  • 충돌을 감지하는 센서 역할을 하는 컴포넌트
  • Box, Sphere, Capsule, Mesh, Wheel, Terrain 의 형태 Collider 제공

    Box Collider


  • 가장 다용도로 사용.
  • Center, Size 속성으로 박스 형태를 조절
    BoxCollider Component

    Sphere Collider


  • 가장 속도 처리가 빠른 Collider.
  • Radius 속성으로 구체의 반지름을 조절
  • 정밀한 충돌 감지를 해야하는 경우를 제외하고서는 대부분 Sphere Collider 사용하는 것을 권장.
    SphereCollider Component

    Capsule Collider


  • 주로 인체 또는 나무, 가로등과 같은 모델의 충돌체로 사용.
  • Height 속성으로 캡슐의 높이 조절 가능.
  • Direction 속성은 Height 값을 변경했을 때 커지는 축을 설정. 기본 Y축.
    CapsuleCollider Component

    Mesh Collider


  • CPU 부하가 가장 높은 Collider
  • 아주 세밀한 충돌 감지에 사용된다.
  • 유니티에서는 Mesh Collider 간의 충돌 감지가 안되도록 기본값 설정.
  • 속도 저하를 방지하기 위함
  • Convex 속성을 체크하면 Mesh 간의 충돌 감지 가능하나, 단순 메쉬로 변경.
    MeshCollider Component

    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했을 시,
  • 두 물체가 서로 떨어졌을 때


참고 자료

  • https://docs.unity3d.com/kr/2017.4/Manual/class-BoxCollider.html
  • https://docs.unity3d.com/kr/2017.4/Manual/class-SphereCollider.html
  • https://docs.unity3d.com/kr/2017.4/Manual/class-MeshCollider.html
  • https://docs.unity3d.com/kr/2017.4/Manual/class-CapsuleCollider.html
 Date: July 18, 2018
 Tags:  Unity

Previous
⏪ Unity3D RigidBody Component

Next
Unity3D Quaternion Component ⏩