Collider는 오브젝트의 물리적인 경계를 정의해주며,
충돌 감지, 트리거 이벤트, 중력 반응의 기준이 되는 영역입니다.
주요 요소
- isTrigger
물리 충돌 대신 이벤트 감지만 수행OnTrigger 계열 사용- material
마찰, 반발력 등을 정의하는 물리 재질- center
Vector3 충돌 영역 중심 위치- size, radius, height
충돌 영역 크기Collider 종류마다 다름
Rigidbody는 오브젝트에 중력, 질량, 힘, 속도, 회전, 마찰 등
실제 물리 법칙에 따른 움직임을 적용할 수 있게 해줍니다.
유니티에서 충돌이 발생하려면 움직임등의 상호 작용을 받아야 하기 때문에
충돌에 있어서 필수적인 요소중 하나입니다.
주요 요소
- mass
질량 (기본 1)관성에 영향- drag
선속도 감쇠공기 저항- angularDrag
회전 감쇠- useGravity
중력 적용 여부- isKinematic
물리 계산 사용 안 하고 수동으로 위치 제어- interpolation
부드러운 이동 처리
- None
보간 없음빠르지만 부자연스러울 수 있음- Interpolate
이전 프레임을 기준으로 현재 위치 보간부드럽게 보임- Extrapolate
현재 위치를 기준으로 다음 위치 예측빠른 반응에 유리, 예측 오류 가능- collisionDetectionMode
충돌 검출 정확도
- iscrete
느린 속도용. 프레임마다 충돌 검사. 빠른 오브젝트에선 뚫림- Continuous
빠르게 움직이는 Rigidbody가 Static Collider와의 충돌을 더 정밀하게 계산- ContinuousDynamic
Rigidbody가 다른 움직이는 Rigidbody와도 정확하게 충돌- ContinuousSpeculative
예측 기반 충돌 처리. 성능 최적화 + 터널링 방지
public void MovePosition(Vector3 position)Paramter
position
이동 시킬 위치Rigidbody를 물리적으로 해당 위치로 이동시킵니다
public void MoveRotation(Quaternion rot)Paramter
rot
적용할 회전값Rigidbody의 회전을 물리적으로 적용합니다.
public void AddForce(Vector3 force)Paramter
force
힘의 방향과 크기Rigidbody에 외부 힘을 가합니다
public void AddRelativeForce(Vector3 force)Paramter
force
힘의 로컬 방향과 크기Rigidbody의 로컬 좌표계 기준으로 힘 적용
public void AddTorque(Vector3 torque)Paramter
torque
회전 방향 및 세기Rigidbody에 회전력을 가합니다.
public void AddExplosionForce(float explosionForce, Vector3 explosionPosition, float explosionRadius)Paramter
explosionForce
폭발의 기본 힘explosionPosition
폭발 중심 좌표explosionRadius
폭발 반경지정 위치를 중심으로 폭발 효과처럼 힘을 퍼뜨립니다.
public extern void Sleep();Rigidbody를 비활성화시켜 물리 연산을 잠시 멈춥니다.
public extern void WakeUp();Sleep()된 Rigidbody를 강제로 깨웁니다.
public extern bool IsSleeping();현재 Rigidbody가 잠들어 있는지 확인합니다.
AddForce , AddExplosionForce , AddTorque , AddRelativeForce 등을 사용할 때
마지막 파라미터로 사용하는 열거형으로 미 표기시 ForceMode.Force 가 들어갑니다.
- Force
연속적인 힘mass 고려- Impulse
순간적인 충격mass 고려- VelocityChange
속도 직접 변경mass 무시- Acceleration
가속도 부여mass 무시