[Unity/3D] 캡슐 콜라이더 개념과 사용 예제

지즈·2024년 12월 27일
0

Unity

목록 보기
1/17

캡슐 콜라이더(CapsuleCollider)

캡슐 콜라이더(Capsule Collider)란?

Capsule Collider는 Unity에서 제공하는 물리 콜라이더 중 하나로, 캡슐 모양의 충돌 영역이다. 캡슐은 두 개의 반구와 그 사이를 연결하는 실린더로 구성된 형태이며, 사람 캐릭터나 세로로 긴 물체의 충돌을 처리할 때 주로 사용된다.

캡슐 콜라이더의 특징

[사진 출처 : Unity Documentation ]

구조 : 캡슐의 위쪽과 아래쪽 끝부분인 반구(Hemispheres)와 두 반구 사이인 실린더(Cylinder)로 구성된다

사용 목적 : 보통 캐릭터와 같이 키가 크고 세로로 긴 물체에 사용된다. 충돌 감지가 부드럽게 작동하며, 캐릭터가 장애물에 걸리기보다는 자연스럽게 스쳐 지나가도록 설계할 수 있다.

성능 : 캡슐 콜라이더는 복잡한 메쉬 콜라이더보다 계산이 단순하므로 성능이 우수하다. 단순한 모양이라 충돌 감지와 처리에서 효율적이다.

축(Axis) : 캡슐의 축은 X, Y, Z 축 중 하나를 기준으로 설정할 수 있으며, 기본적으로는 Y축을 따라 세워진 모양이다.


캡슐 콜라이더의 주요 속성

  1. Center:
    • 캡슐의 중심점(로컬 좌표 기준)
  2. Radius:
    • 캡슐의 반구와 실린더의 반지름.
  3. Height:
    • 캡슐의 전체 높이(반구 두 개와 실린더를 포함한 높이).
  4. Direction:
    • 캡슐의 축 방향을 나타냅니다 (0: X축, 1: Y축, 2: Z축).

예제

using UnityEngine;

public class CapsuleColliderExample : MonoBehaviour
{
    void Start()
    {
        // 캡슐 콜라이더 추가
        CapsuleCollider capsuleCollider = gameObject.AddComponent<CapsuleCollider>();

        // 속성 설정
        capsuleCollider.center = new Vector3(0, 1, 0); // 캡슐 중심
        capsuleCollider.radius = 0.5f;                // 반지름
        capsuleCollider.height = 2.0f;                // 높이
        capsuleCollider.direction = 1;               // Y축 기준
    }
}
profile
클라이언트 개발자가 되는 그 날까지 킵 고잉

0개의 댓글