본문 바로가기
Unity 3D

Unity 3D 엔진 기초 (8) Rigidbody

by 연꿈술사 2023. 8. 11.

안녕하세요 연꿈술사입니다.

오늘은 Rigidbody에 대해 알아보겠습니다. Rigidbody도 Collider와 마찬가지로

물리연산을 하는 컴포넌트입니다. Collider가 충돌에 대한 연산을 했다면, Rigidbody는 중력과 관련이 있습니다.

우리가 빈 화면에 Cube를 하나 생성하고 Rigidbody 컴포넌트를 추가한 후 게임을 실행해보면, Cube가 하염없이

바닥으로 떨어지는 것을 볼 수 있습니다.

Collider와 마찬가지로 2D 에서는 Rigidbody 2D를 사용해야합니다.

이 떨어지는 속도는 중력가속도를 기반으로 만들어져 있습니다. 이에 대해 궁금하시면

Edit-Project Settings-Physics-Cloth Gravity를 확인해보시면 알 수 있습니다.

 

Rigidbody Component

 

Rigidbody 컴포넌트에 있는 항목들에 대해 한 번 알아보겠습니다.

Mass : 물체의 질량을 의미합니다. 낙하속도에는 차이가 없지만, 관성과 관련이 있어 다른 물체와 부딪힐 때 영향을 받습니다.

Drag : 저항과 관련있는 기능입니다. 수치가 올라가면 저항력이 올라가 하강속도가 달라집니다.

Angular Drag : 회전저항과 관련이 있어 이도 수치가 높아지면 회전력이 떨어집니다.

Use Gravity : 중력을 사용할지 결정하는 항목입니다. 중력을 사용하지 않지만 물리연산이 필요한 경우에 체크해제를 하여 사용합니다.

Is Kinematic : 이 항목을 체크하면 중력뿐만 아니라 관성,  가속도 등 물리효과가 아예 적용되지 않습니다.

Interpolate : 캐릭터의 움직임이 자연스럽지 않을 때 이를 좀 더 자연스럽게 하기 위해 쓰는 기능입니다. Interpolate를 선택하면 이전 프레임을 통해 다음 프레임을 만들고, Extrapolate를 선택하면 다음 프레임을 예측해서 만들어냅니다.

Collision Detection : 충돌 탐지기능으로 기본값인 Discrete는 충돌을 체크하고, Continuous는 연속적인 충돌체크, Continuous Dynamic은 속도가 빠른 물체에 대해 정밀하게 물리효과를 계산합니다. 마지막으로 Continuous Speculative는 예측해서 물리연산을 합니다.

 

Rigidbody에 대해서 간단하게 알아보았습니다. 추가적으로 Rigidbody를 사용하는 코드들에 대해서는 추후에 추가해서 알려드리겠습니다.

감사합니다. 연꿈술사였습니다.

 

댓글