24.02.03 TIL - Unity : Rigid Body & Collider, 물리 작용과 충돌 처리

JJwoo·2024년 2월 3일

🕋 Rigid Body

기본적인 물리 작용 기능을 가진 컴포넌트,

크게 2D, 3D 용이 있다.

Rigid body의 속성

속성설명
Mass질량(무게)
Drag공기 저항이나 물의 저항
Angular Drag회전 저항
Automatic Center Of Mass질량 중심 자동 계산
Use Gravity중력 적용 여부
Is Kinematic외부 물리 작용 차단 여부
Interpolate보간 방법 (부드러운 운동)
Collision Detection충돌 감지 방식(불연속, 연속, 추측성)
Constraints위치와 각도에 물리 구현 적용 여부
Freeze PositionX, Y, Z 위치 고정
Freeze RotationX, Y, Z 회전 고정
Layer Overrides충돌 검출 레이어 지정
  • Is Kinematic : 체크 시 내부 코드를 이용한 물리구현만 가능 ( 해제 시 외부 물리작용도 가능)

  • Automatic Center Of Mass : 질량 중심 자동 계산, Unity가 오브젝트의 모든 Collider들의 형태와 분포를 분석하여 오브젝트의 질량 중심을 자동으로 결정.
    (복잡한 오브젝트들의 질량 중심을 잡아주는데 유용)

  • 2D Top View 환경에서는 대부분의 경우에서 Gravity(중력)을 0(Off)로 해준다.


💥 Collider

오브젝트 간의 충돌을 위한 컴포넌트

속성설명
Is Trigger콜라이더가 트리거로 작동할지 여부 (선택하면 충돌 시 통과하지만 충돌은 감지 / 해제하면 충돌 시 통과하지 않고 물리적 충돌만 발생)
Provides Contacts충돌 시 연락처 정보를 제공할 것인지 여부
Material물리적 속성(마찰, 반발 등)을 정의하는 물리 재질
Center위치 조절 (X, Y, Z)
Radius반경, 반지름 길이 조절
Height높이 길이 조절
Direction캡슐의 방향 (X-Axis, Y-Axis, Z-Axis)
Layer Overrides충돌 검출 시 예외를 둘 레이어 지정
  • Provides Contacts : 두 오브젝트가 충돌했을 때, 충돌 지점, normal vector, 강도 등의 상세 정보를 얻을 수 있음.
    (충돌 시 특정 이벤트가 필요 할 때 활용)

기본적인 충돌 발생 조건

  1. 두 오브젝트 모두 Collider 컴포넌트가 있어야 함
  2. 적어도 한 오브젝트는 Rigid Body가 있어야 함.
profile
개발 모코코

0개의 댓글