유니티(Unity) 리지드 바디 설명(Rigidbody)
- 유니티게임개발/기초공부
- 2024. 10. 20.
유니티(Unity) 리지드 바디 설명(Rigidbody)
리지드바디(Rigidbody)는 게임오브젝트가 물리엔진의 통제하에 놓이도록합니다. 리지드바디는 게임오브젝트가 사실적으로 움직이도록 힘(Force)과 토크(Torque)를 받을수있습니다. 어떤 오브젝트가 중력의 영향을 받거나 스크립팅을 통해 힘이 가해지거나 다른오브젝트와 상호작용하기위해서 리지드바디를 가져야합니다.
이것은 사실적인 충돌, 다양한 타입의 조인트 행위를 위한 시작입니다. 리지드바디에 힘을 가함으로써 게임오브젝트를 조작(manipulate)하면 트랜스폼 컴포넌트를 직접 조작하는것보다 더 다양하고 사실적인 느낌의 움직임을 만들어낼수있습니다. 일반적으로 동일한 오브젝트의 리지드바디와 트랜스폼을 동시에 조작하는것은 추천되지않습니다.
둘의 가장 큰 차이점은 힘의 사용입니다. 리지드바디는 힘과 토크를 받을수있지만 트랜스폼은 그렇지않습니다. 트랜스폼은 이동 또는 회전(translate, rotate)될수있지만 이것은 물리를 사용하는것과 같지않습니다.
리지드바디에 힘과 토크를 가하는것은 사실상 오브젝트의 위치, 회전을 변화시킬것입니다. 이것이 둘중하나만 사용해야하는 이유입니다. 물리를 사용하는 동시에 트랜스폼을 변화시키는것은 충돌과 다른 계산에서 문제를 발생시킬수있습니다.
AddForce
https://docs.unity3d.com/ScriptReference/Rigidbody.AddForce.html
AddTorque
https://docs.unity3d.com/ScriptReference/Rigidbody.AddTorque.html
물리 엔진의 영향을 받기 이전에 게임오브젝트에 확실히 리지드바디가 추가되어야합니다. 게임오브젝트의 component 에서 physics의 rigidbody를 선택하여 리지드바디를 추가할수있습니다. 이로써 오브젝트는 물리반응에대한 준비가 되며 중력의 영향을 받을것이고 스크립팅을 통해 힘을 받을수있습니다. 하지만 게임오브젝트가 정확하게 원하는대로 동작하기위해서 콜라이더 또는 조인트를 추가해야합니다.
https://docs.unity3d.com/kr/560/Manual/class-Rigidbody.html
https://docs.unity3d.com/Manual/RigidbodiesOverview.html
'유니티게임개발 > 기초공부' 카테고리의 다른 글
유니티 Google.IOSResolver.dll will not be loaded 에러 문제해결 (1) | 2024.10.22 |
---|---|
유니티 HDRP(HD Render Pipeline) 프로젝트 시작하기(Volume, Quality, Frame Settings) (0) | 2024.10.20 |
유니티 Random 클래스 랜덤 수(Random.Range, Random.value) 사용 예시 (0) | 2024.10.15 |
유니티(Unity) 오디오 소스(AudioSource) 플레이 함수 Play()와 PlayOneShot() 차이 (0) | 2024.10.15 |
유니티(Unity)에서 다양한 코루틴(Coroutine) 사용 예시 (1) | 2024.10.12 |