Unity를 깊이 탐구했다면 의심할 여지 없이 Unity의 기본 구성 요소 중 하나인 Rigidbody를 접했을 것입니다. 3D 게임을 개발하든 2D 게임을 개발하든 Rigidbody 구성 요소를 이해하는 것은 게임의 물리 기반 상호 작용에 필수적입니다. 이 필수 구성 요소의 속성을 자세히 살펴보고 분석해 보겠습니다.
1. Mass
'Mass' 속성은 물체의 무게를 나타냅니다. 질량이 클수록 물체가 움직이는 데 더 많은 힘이 필요하고 충돌 시 더 많은 힘을 발휘합니다. 본질적으로 물체의 질량은 물체가 힘에 반응하는 방식과 충돌하는 동안 다른 물체에 미치는 영향에 영향을 미칩니다.
2. Drag
'Drag'는 물체의 움직임에 반대되는 공기 저항(또는 2D 물체의 경우 유체 저항)을 나타냅니다. 항력이 클수록 물체에 작용하는 힘이 멈출 때 물체가 더 빨리 감속합니다. 드래그가 0인 리지드바디는 무한정 계속 움직이지만 드래그 값이 높을수록 더 빨리 느려집니다.
3. Angular Drag
드래그가 선형 이동에 반대한다면 'Angular Drag'는 회전 이동에 반대합니다. 게임 개체가 회전하는 경우 이 속성은 게임 개체가 멈추는 속도를 결정합니다. 0의 각도 항력은 영구 회전을 의미합니다.
4. Gravity
'Use Gravity' 옵션이 켜져 있으면 오브젝트가 Unity의 중력(Physics 설정에서 설정)의 영향을 받습니다. 이것이 지구의 중력을 시뮬레이션하여 물체에 자연스러운 낙하 동작을 제공하는 것입니다.
5. Kinematic
Rigidbody를 'Is Kinematic'으로 설정하면 외부 힘에 영향을 받지 않습니다. 이는 일반적으로 스크립트를 통해 개체를 수동으로 제어하고 있음을 의미합니다. 플랫포머에서 캐릭터가 점프하는 것처럼 물리력이 영향을 주지 않고 동작을 애니메이션하려는 경우에 유용합니다.
6. Interpolate
'Interpolation'은 리지드바디의 움직임을 부드럽게 하여 낮은 프레임 속도에서 때때로 발생할 수 있는 불안한 움직임을 방지합니다. 몇 가지 옵션이 있습니다.
- None : 보간이 없습니다.
- Interpolate : 개체의 이전 프레임을 기준으로 움직임을 부드럽게 합니다.
- Extrapolate : 물체의 현재 궤적을 기준으로 물체의 위치를 예측합니다.
7. Collision Detection
이 속성은 Unity가 Rigidbody에 대한 충돌 감지를 처리하는 방법을 나타냅니다.
- Discrete : 표준 충돌 감지. 경우에 따라 빠르게 움직이는 개체가 단일 프레임에서 얇은 개체를 통과하여 이동할 수 있습니다.
- Continuous : 빠르게 움직이는 물체가 다른 고체 물체를 통과하는 것을 방지하는 고급 감지.
- Continuous Dynamic : 연속과 비슷하지만 동적 객체(non-kinematic)에만 해당됩니다.
8. Constraints
'Constraints' 옵션을 사용하면 Rigidbody의 특정 모션 또는 회전을 잠글 수 있습니다. 예를 들어 개체가 X축을 따라 이동하거나 Z축을 중심으로 회전하지 않도록 하려면 해당 축을 잠글 수 있습니다.
결론
Rigidbody 구성 요소는 Unity의 물리 기반 상호 작용의 핵심입니다. 다양한 속성을 이해하고 조정하여 게임 세계에 생명을 불어넣는 사실적이거나 양식화된 움직임을 만들 수 있습니다. 다양한 조합으로 실험하여 물체가 어떻게 반응하는지 확인하고 게임 메커니즘에 대한 완벽한 균형을 찾습니다.
'Unity' 카테고리의 다른 글
GameObject의 activeSelf, activeInHierarchy (0) | 2023.08.10 |
---|---|
Unity : 게임 오브젝트에 Bouncing (0) | 2023.08.09 |
텍스처 압축 포맷에서 사용하는 용어 (0) | 2023.08.03 |
텍스처 압축 포맷 : ASTC와 ETC2 (2) | 2023.08.02 |
TextMeshPro 한글 글꼴 만들기 (0) | 2023.08.01 |