| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- 습관형성 #직장인자기계발 #오공완
- 오블완
- sparkmain(clone) 무한생성
- Unity
- 트리구조
- list clear
- unity korea
- Simulation
- 크루스칼
- 깊이탐색
- readonly
- 너비탐색
- 디지털트윈
- unity sparkmain(clone)
- dropdown
- 행동트리
- 티스토리챌린지
- raycast
- 최단거리 알고리즘
- 드롭다운
- GetComponent
- C#
- 유니티
- 최소신장트리 mst
- dfs
- articulation body
- 유니티 sparkmain(clone)
- removeAll
- sparkmain(clone)
- navisworks api
- Today
- Total
낑깡의 게임 프로그래밍 도전기
Unity C# WheelCollider 본문
WheelCollider는 Unity에서 자동차 물리 시뮬레이션을 구현할 때 사용하는 특수한 Collider 컴포넌트다.
일반적인 BoxCollider나 SphereCollider와 달리, WheelCollider는 실제 바퀴처럼 회전, 지면 접촉 감지, 서스펜션 반응, 마찰 계산 등을 전담하는 물리 시스템이다.
1. 바퀴 회전 및 이동 계산
WheelCollider는 차량의 엔진 토크, 브레이크, 스티어링(조향) 입력을 받아 바퀴 회전 및 전진/후진 동작을 물리적으로 계산함
motorTorque: 바퀴에 엔진 힘을 가함 (구동력)
brakeTorque: 바퀴에 제동력을 가함
steerAngle: 조향 각도 조절
2. 서스펜션 시뮬레이션
바퀴가 움직이며 위아래로 움직이는 서스펜션 효과를 포함.
주요 속성:
suspensionDistance: 서스펜션의 총 이동 거리
suspensionSpring: 서스펜션의 스프링 강도 및 감쇠력 (spring, damper, targetPosition)
3. 마찰력(Friction) 계산
타이어가 지면에 접촉할 때 전방향/측면 마찰력을 자동 계산하여 미끄러짐, 코너링 등을 시뮬레이션함.
forwardFriction / sidewaysFriction: 마찰 계수, 슬립 값 조절 가능
4. 지면 접촉 감지
WheelCollider.GetGroundHit(out WheelHit hit) 메서드를 통해:
지면에 닿았는지 여부
접촉 지점 위치, 노멀
슬립 정도
지면 물리재질 (PhysicMaterial) 등 정보 획득 가능
*주의 사항
WheelCollider는 Mesh와는 독립적림. 실제 회전 시각 효과를 주려면 바퀴 메시에 직접 transform.Rotate() 등을 사용해서 시각적으로 동기화해줘야 함.
회전 방향이나 위치를 맞추기 위해 WheelCollider.GetWorldPose(out Vector3 pos, out Quaternion rot) 사용 권장
사용팁
| 항목 | 설명 |
| center | WheelCollider의 로컬위치 |
| radius | 바퀴 반지름 |
| mass | 바퀴 질량 |
| isGround | 바퀴가 지면에 닿았는지 여부 |
| ConfigureVehicleSusvteps() | 고속 주행 시 정밀도 향상을 위한 세부 설정(고급용) |
'Unity C#' 카테고리의 다른 글
| Unity C# Json 사용하기 : 외부에 저장하고 불러오기 (0) | 2024.12.05 |
|---|---|
| Unity C# 초보자를 위한 Json 초간단 기초 개념 (0) | 2024.11.28 |
| Unity C# 저장 기능 JSON 과 Bin(Binary) 차이점 (1) | 2024.11.25 |
| Unity C# 시네머신 Dolly Cart 멈췄다 움직이기 (0) | 2024.10.28 |
| Unity C# Material Rendering Mode 스크립트로 제어하기 런타임에서 변경 (0) | 2024.10.15 |