Version: Unity 6.0 (6000.0)
언어 : 한국어
휠 콜라이더
휠 콜라이더 마찰

휠 콜라이더 소개

Unity에서 정확한 휠 동작을 시뮬레이션하려면 각 휠에 휠 콜라이더를 사용할 수 있습니다. 휠 콜라이더는 휠 회전과 차량 움직임을 관리하며, 서스펜션 시스템을 시뮬레이션하는 프로퍼티도 포함합니다.

Wheel collider 컴포넌트는 API에서 WheelCollider 클래스로 표시됩니다.

휠 콜라이더 레이캐스트

휠 콜라이더는 씬 뷰에서 2D 원형으로 표시됩니다(휠 콜라이더 시각화 참조). 그러나 실제로는 하나의 물리 레이캐스트입니다. PhysX는 휠의 중심을 통과하는 서스펜션 방향을 따라 로컬 Y축으로 레이캐스트를 수행합니다. 레이캐스트의 시작과 끝은 다음 지점에 있습니다.

  • 레이캐스트는 최대 서스펜션 압축 시 휠 상단 바로 위(즉, Y축의 Suspension Distance 상단의 Radius 바로 바깥쪽)에서 시작됩니다.
  • 레이캐스트는 최대 서스펜션 확장 시 휠 하단 바로 아래(즉, Y축의 Suspension Distance 하단의 Radius 바로 바깥쪽)에서 끝납니다.

이러한 레이캐스트 설정은 휠 콜라이더가 이동하는 동안 실제로 다른 표면(예: 지면)을 따라 굴러가지 않는다는 것을 의미합니다. 플레이 모드에서는 휠 콜라이더의 회전이 변경되지 않습니다. 그러나 휠이 지면을 따라 구르는 것처럼 보이도록 휠 모델의 회전을 변경해야 합니다. 이렇게 하려면 모델과 콜라이더가 두 개의 개별 게임 오브젝트에 있어야 합니다. 휠 콜라이더의 트랜스폼은 차량을 기준으로 고정되어야 하며, 모델은 회전할 수 있어야 합니다. 그런 다음 휠 콜라이더의 글로벌 위치를 휠 모델에 전송하도록 설정하고 스크립트를 통해 휠 모델을 회전시킬 수 있습니다. 이 워크플로의 예시는 휠 콜라이더를 사용하여 예시 차량 생성을 참조하십시오.

PhysX의 휠 콜라이더 레이캐스트 설정에 대한 자세한 내용은 PhysX 4.1 차량 SDK 기술 자료를 참조하십시오.

레이캐스트 휠 콜라이더를 위한 지면 준비

레이캐스트 설정에서 중요한 것은 휠이 도로 레벨의 배리에이션(예: 도로에서 단차 위로 굴러 올라가는 경우)에서 항상 매끄럽게 굴러 올라가거나 내려가지는 않는다는 것입니다. 단차나 연석에 부딪히면 휠이 잘렸다가 중앙선이 단차를 지날 때만 ‘튀어나오는’ 현상이 발생할 수 있습니다.

휠 콜라이더 차량이 단차(지면이 급격히 상승하는 부분)를 지나가는 두 프레임. 첫 번째 프레임에서는 휠이 단차를 통과하는 것처럼 보입니다. 이는 휠 모델의 중앙에 있는 레이캐스트가 아직 단차에 도달하지 않았기 때문입니다. 두 번째 프레임에서는 휠 모델이 단차에 올바르게 나타납니다. 이러한 변화는 휠 중앙의 레이캐스트가 높이 변화를 감지하여 휠이 단차에서 사실적으로 구르는 것이 아니라 ‘튀어나오는’ 것처럼 보일 때 발생합니다.
휠 콜라이더 차량이 단차(지면이 급격히 상승하는 부분)를 지나가는 두 프레임. 첫 번째 프레임에서는 휠이 단차를 통과하는 것처럼 보입니다. 이는 휠 모델의 중앙에 있는 레이캐스트가 아직 단차에 도달하지 않았기 때문입니다. 두 번째 프레임에서는 휠 모델이 단차에 올바르게 나타납니다. 이러한 변화는 휠 중앙의 레이캐스트가 높이 변화를 감지하여 휠이 단차에서 사실적으로 구르는 것이 아니라 ‘튀어나오는’ 것처럼 보일 때 발생합니다.

레이캐스트는 중심점이 도달할 경우 도로의 작은 틈이나 단차로 미끄러져 내려갈 수도 있습니다.

휠 콜라이더 차량이 틈(지면이 급격히 하강하는 부분)을 지나가는 두 프레임. 첫 번째 프레임에서는 휠이 틈 위에 올바르게 놓여 있는 것처럼 보입니다. 이는 휠 모델의 중앙에 있는 레이캐스트가 아직 틈에 도달하지 않았기 때문입니다. 두 번째 프레임에서는 휠 모델이 틈에 떨어진 것처럼 보입니다. 이러한 변화는 휠 중앙의 레이캐스트가 높이 변화를 감지하여 휠이 사실적으로 굴러가는 것이 아니라 갑자기 떨어지는 것처럼 보일 때 발생합니다.
휠 콜라이더 차량이 틈(지면이 급격히 하강하는 부분)을 지나가는 두 프레임. 첫 번째 프레임에서는 휠이 틈 위에 올바르게 놓여 있는 것처럼 보입니다. 이는 휠 모델의 중앙에 있는 레이캐스트가 아직 틈에 도달하지 않았기 때문입니다. 두 번째 프레임에서는 휠 모델이 틈에 떨어진 것처럼 보입니다. 이러한 변화는 휠 중앙의 레이캐스트가 높이 변화를 감지하여 휠이 사실적으로 굴러가는 것이 아니라 갑자기 떨어지는 것처럼 보일 때 발생합니다.

따라서 부드럽고 정확한 시뮬레이션을 위해서는 지면 충돌 지오메트리가 최대한 매끄러워야 합니다. 지면에 범프 또는 요철이 있는 경우 이를 테스트하고 반복 작업을 수행하여 휠의 동작을 만족스럽게 만들어야 합니다.

휠 콜라이더 시각화

휠 콜라이더를 선택하면 씬 뷰에 주요 휠 콜라이더 프로퍼티의 시각화를 제공하는 기즈모가 표시됩니다.

씬 뷰에 있는 단일 휠 콜라이더 기즈모. 이 스크린샷에서는 기즈모를 명확하게 표시하기 위해 모든 메시가 비활성화되어 있습니다.
씬 뷰에 있는 단일 휠 콜라이더 기즈모. 이 스크린샷에서는 기즈모를 명확하게 표시하기 위해 모든 메시가 비활성화되어 있습니다.

기즈모의 시각적 표시는 다음과 같습니다.

  • 큰 2D 원: 물리 휠의 크기를 나타냅니다. 크기를 변경하려면 휠 콜라이더의 Radius 프로퍼티를 사용합니다.
  • 가로 녹색 선: X축을 따라 휠 콜라이더의 중간 지점을 나타냅니다. 이 선의 각도는 휠의 회전을 나타냅니다.
  • 작은 3D 구체: 휠에 힘이 적용되는 지점을 나타냅니다. 이 값을 변경하려면 휠 콜라이더의 Force App Point Distance 프로퍼티를 사용합니다.
  • 세로 주황색 선: 선의 위쪽과 아래쪽 점은 휠에 적용된 힘의 결과로 휠이 중심점에서 수직 Y축을 따라 위아래로 움직일 수 있는 최대 거리를 나타냅니다. 이 값을 변경하려면 휠 콜라이더의 Suspension Distance 프로퍼티를 사용합니다. 주황색 선이 녹색 선과 교차하는 지점은 휠에 작용하는 힘 또는 동등한 힘이 없을 때 휠이 놓이는 ‘정지’ 지점을 나타냅니다. 이 값을 변경하려면 휠 콜라이더의 Target Position 프로퍼티를 사용합니다.

빠른 참조 및 디버깅을 위해 기즈모 시각화를 사용할 수 있습니다.

휠 콜라이더
휠 콜라이더 마찰