리지드바디(Rigidbody) 는 게임 오브젝트의 물리적 동작을 가능하게 하는 주요 컴포넌트입니다. 리지드바디가 연결된 오브젝트는 중력에 즉시 반응합니다. Collider 컴포넌트도 하나 이상 추가할 경우 게임 오브젝트가 당하는 충돌에 의해 움직입니다.
Rigidbody 컴포넌트는 연결된 게임 오브젝트의 이동을 제어하므로 스크립트에서 포지션과 회전 같은 트랜스폼 프로퍼티를 변경하여 오브젝트를 이동하려고 하면 안됩니다. 그 대신 Forces 를 가하여 게임 오브젝트를 밀고 물리 엔진이 결과를 계산하도록 해야 합니다.
경우에 따라 게임 오브젝트에 리지드바디를 연결하되, 물리 엔진으로 모션이 제어되는 것을 원치 않을 수 있습니다. 예를 들어 스크립트 코드로 캐릭터를 직접 제어하면서도 캐릭터가 트리거(콜라이더에서 트리거 참조)에 의해 감지될 수 있게 하고 싶을 수 있습니다. 이렇게 스크립트로 생성되는 비물리적인 모션을 키네마틱 모션이라고 합니다. Rigidbody 컴포넌트에는 Is Kinematic 이라는 프로퍼티가 있습니다. 이 프로퍼티는 물리 엔진의 제어 대상에서 컴포넌트를 제외하고, 스크립트에서 컴포넌트가 물리 힘의 영향을 받지 않고 움직이도록 하기 위해 사용할 수 있습니다. 오브젝트에 대한 물리를 켜고 끌 수 있게 스크립트에서 Is Kinematic 값을 변경할 수 있지만, 성능 오버헤드가 발생하므로 신중하게 사용해야 합니다.
이 컴포넌트의 설정 및 스크립팅 옵션에 대한 자세한 내용은 리지드바디 및 리지드바디 2D 레퍼런스 페이지를 참조하십시오.
리지드바디가 정의된 최소 선형 또는 회전 속도보다 느리게 이동하면 물리 엔진에서 정지했다고 간주됩니다. 그러면 게임 오브젝트가 충돌이나 힘을 받을 때까지 다시 이동하지 않으므로 “휴면” 모드로 설정됩니다. 이 최적화는 리지드바디가 다음 번에 “깨어날” 때까지(즉, 움직임을 다시 시작할 때까지), 리지드바드를 업데이트하는 데 프로세서 시간이 사용되지 않습니다.
대부분의 용도에서 Rigidbody 컴포넌트는 휴면 상태로 전환하고 깨우는 작업은 사용자가 인지하지 못하는 사이에 수행됩니다. 하지만 Transform 포지션을 수정하여 (리지드바디가 없는)정적 콜라이더를 게임 오브젝트 안으로 이동하거나 오브젝트에서 멀리 이동할 경우 오브젝트가 깨어나지 않을 수 있습니다. 이 경우 리지드바디 게임 오브젝트 아래의 바닥을 오브젝트 밖으로 이동하면 오브젝트가 공중에 매달릴 수 있습니다. 이러한 경우에는 WakeUp
함수를 사용하여 게임 오브젝트를 명시적으로 깨울 수 있습니다. 휴면에 대한 자세한 내용은 Rigidbody 및 Rigidbody 2D 컴포넌트 페이지를 참조하십시오.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.