반응형
Rigidbody 뜻
뜻 : 물리학에서 형태가 변하지 않는 물체를 가리키는 강체
Rigidbody 는 물리적인 동작(중력, 충돌, 힘, 관성 등)을 적용할 수 있게 해줍니다
특징
1. Rigidbody는 Collider와 함께 사용되며, 충돌 처리를 가능하게 합니다.
- Rigidbody가 없으면 Collider는 고정된 물리 객체(Static Collider)로 작동하여 움직일 수 없습니다.
2. AddForce를 사용하여 특정 방향으로 힘이나 회전력을 적용할 수 있습니다.
Rigidbody의 주요 속성
1. Mass (질량)
오브젝트의 질량을 설정합니다. 값이 클수록 더 큰 힘이 필요하며, 충돌 시 반응이 더 무거워 보입니다.
- 기본값: 1
2. Drag (저항)
공기 저항을 시뮬레이션합니다. 값이 높을수록 움직임이 더 빨리 멈춥니다.
- Angular Drag: 회전에 대한 저항.
3. Use Gravity (중력 사용)
체크하면 오브젝트에 중력이 적용되어 아래로 떨어집니다.
4. Is Kinematic
체크하면 물리 엔진의 영향을 받지 않으며, 스크립트를 통해 직접 움직임을 제어할 수 있습니다.
- 예: 애니메이션으로 제어되는 오브젝트.
5. Constraints (제약 조건)
특정 축의 위치나 회전을 고정할 수 있습니다.
- 예: Z축 움직임을 고정하여 2D 게임에서 X, Y축만 사용.
Rigidbody의 주요 메서드
- AddForce(Vector3 force, ForceMode mode)
특정 방향으로 힘을 가합니다. - AddTorque(Vector3 torque, ForceMode mode)
회전력을 적용합니다. - MovePosition(Vector3 position)
오브젝트를 특정 위치로 이동시킵니다. (Kinematic 상태일 때 주로 사용) - MoveRotation(Quaternion rotation)
오브젝트의 회전을 설정합니다. - WakeUp() / Sleep()
Rigidbody를 깨어나게 하거나 물리 연산에서 제외시킵니다.
Rigidbody 사용 시 주의 사항
- Transform.position 직접 변경 금지
Rigidbody가 있는 오브젝트는 Transform.position을 직접 수정하지 말고, MovePosition을 사용해야 합니다.
직접 수정하면 물리 엔진의 계산과 충돌이 불안정해질 수 있습니다. - FixedUpdate 사용
Rigidbody 관련 물리 계산은 FixedUpdate에서 처리해야 합니다. - Collider와 함께 사용
충돌 처리를 위해 반드시 Collider를 함께 추가해야 합니다. - Is Kinematic vs Use Gravity
- Is Kinematic을 활성화하면 물리 연산을 받지 않으므로, 충돌이나 중력 영향을 받지 않습니다.
- Use Gravity는 오브젝트가 중력의 영향을 받을지 여부를 결정합니다.

Collider 뜻
뜻 : 충돌
충돌 영역(물리적 경계)를 의미한다
Collider가 없으면 물리 엔진은 해당 오브젝트를 "눈에 보이지 않음"으로 간주합니다.
Rigidbody와 Collider의 조합
- Rigidbody + Collider
- 물리 엔진의 영향을 받고, 충돌을 처리할 수 있습니다.
- 일반적인 물리적 오브젝트의 기본 조합.
- 예: 떨어지는 공, 움직이는 캐릭터.
- 충돌 처리가 이루어지려면 충돌하는 두 오브젝트 중 하나 이상이 Rigidbody를 가져야 합니다.
- Rigidbody만
- 물리 엔진의 영향을 받지만 충돌 감지 불가.
- 바닥과 충돌 없이 물체가 뚫고 지나가거나 다른 오브젝트와 상호작용하지 않습니다.
- 특정 상황에서 사용 가능(충돌이 필요 없고, 물리적 계산만 필요한 경우).
- 예: 단순히 중력을 받아 떨어지는 포인트.
- 물리 엔진의 영향을 받지만 충돌 감지 불가.
- Collider만
- 충돌 영역만 정의하며, 물리 엔진의 영향을 받지 않습니다.
- 주로 고정된 물체에 사용됩니다.
- 예: 벽, 바닥, 트리거(trigger).
- Is Kinematic + Collider
- Rigidbody가 있지만 물리 엔진의 영향을 받지 않고, 충돌만 감지합니다.
- 애니메이션 제어나 스크립트를 통한 직접 움직임에 사용.
- 예: 문이 열릴 때의 애니메이션.
- 예: 문이 열릴 때의 애니메이션.
참고)
반응형
'유니티' 카테고리의 다른 글
| [Unity Error]Stack can only contain Overlay cameras. The camera: Camera_UI has a type Base that is not supported. Will skip rendering. (2) | 2025.02.06 |
|---|---|
| unity Collider / Collision 차이 (5) | 2025.01.23 |
| UNITY 파일 브라우저(File Browser/File Explorer) 열기 (3) | 2025.01.23 |
| System.IO(파일입출력)/ FileStream 의 기능과 뜻 (2) | 2025.01.23 |
| unity 바이너리(Binary)란? 왜 필요할까 (3) | 2025.01.23 |