[유니티]리지드바디 (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% 정확하지 않을 수가 있습니다.



오늘은 이렇게 리지드바디에 대해서 알아보았다. 이 글이 많은 사람에게 큰 도움이 되었으면 한다.

만약 질문이 있다면 댓글로 물어보아라. 언제든지 답변할 자신이 있다. 

다음에는 더욱더 좋은 글로 돌아오겠다.

댓글

이 블로그의 인기 게시물

[유니티]많이 나는 오류 해결법

[유니티]유니티 엔진은 어떻게 설치하면 좋을까?

[유니티]새 프로젝트 생성은 어떻게 하면 좋을까?