[유니티]리지드바디 (Rigidbody) 사용법
퍼갈 땐 출처 표기!!
안녕하신가, 오늘은 게임 개발에 거의 필수라고 볼 수가 있는 것에 대해서 알려주도록 하겠다.
그것은 바로 리지드바디라고 하는 물리엔진과 같은 것이다. 오늘은 그 리지드바디에 대하여 자세하게 알려주도록 하겠다.
Rigidbody란
물리 제어로 동작하게 하는 것, 즉 힘과 토크를 받아서 오브젝트가 사실적으로 움직이도록 해주는 것입니다. 리지드바디가 포함된 모든 게임 오브젝트는 중력의 영향을 받아야 하며 스크립트를 이용해 가해진 힘으로 움직이거나 다른 오브젝트와 상호작용을 해야 한다.
출처 : UnityDocumentation
장점
간단하게 적용이 되며 간단하게 사용이 된다.
기본적으로 사용을 할 수가 있다. (따로 설치 안 해도 됨)
단점
비용이 생각보다 많이 나간다.
사용 방법
위에 있는 장점에서 소개한 대로 쉽게 적용이 가능하다.
1) 적용할 GameObject를 선택한다.
2) Add Component를 누른 후 Rigidbody를 검색한다.
3) Rigidbody를 클릭한다.
이렇게 되면 리지드바디가 적용되었다.
만약 자신이 2D라면 Rigidbody2D를 선택해 주자
옵션
리지드바디에는 여러 가지 옵션이 있다. 그 옵션들을 하나하나 설명해 주겠다.
Mass : 질량
Drag : 힘에 의해 움직일 때 공기 저항이 영향을 미치는 정도
Angular Drag : 토크로 회전할 때 공기 저항이 영향을 미치는 정도
Use Gravity : 중력 사용
Is Kinematic : 물리엔진으로 제어되지 않음
Interpolate
-None : 보간이 적용 X
-Interpolate : 이전 프레임에 맞게 부드럽게 처리
-Extrapolate : 다음 프레임을 예상해 움직임을 부드럽게 처리
Collision Detection
-Discrete : 모든 콜라이더에 대해 불연속 충돌 검사 사용
-Continuous : 리지드바디가 있는 동적 콜라이더에 불연속 충돌 검사를, 리지드바디가 없는 정적 콜라이더에 스위핑 기반 연속 충돌 검사를 사용
-Continuous Speculative : 리지드바디와 콜라이더에 추측성 연속 충돌 검사
Constraints
-Freeze Position : 리지드바디에 대한 월드 좌표 고정
- Freeze Rotation : 리지드바디에 대한 로컬 좌표 고정
*위에 설명은 공식 문서와 본인의 생각을 합친 글이니 100% 정확하지 않을 수가 있습니다.
오늘은 이렇게 리지드바디에 대해서 알아보았다. 이 글이 많은 사람에게 큰 도움이 되었으면 한다.
만약 질문이 있다면 댓글로 물어보아라. 언제든지 답변할 자신이 있다.
다음에는 더욱더 좋은 글로 돌아오겠다.
댓글
댓글 쓰기