유니티5 중력 적용과 충돌 판정, 튕기게 하는 방법 [유니티5 기초강좌]

불친절한알렉스 2016-07-01 (금) 11:03 8년전 23388  

중력 적용하는 방법과 오브젝트 간의

 

 충돌 판정 적용, 또 충돌했을 때 튀기게 하는 법을 배워보도록 하겠습니다.

 

 

 

최종 목표

목표 영상


 

 

 

오브젝트에 중력을 적용시켜 위에서 아래로 낙하하도록 하고,

 

오브젝트 간의 충돌 시 튀기도록 제작하는 것이 목표입니다.

 

 

 

스크립트 제작 및 수정하기
 

우선 바닥 부분이 될 오브젝트를 불러옵니다.

 

ac6d9a74ed73d1afd1779a04d836ace1_1467338

 

바닥이 될 오브젝트의 이름을 변경해주고 크기와 기울기를 변경하여 줍니다.

 

 

Position은 오브젝트의 좌표를 변경합니다.

 

Rotation은 오브젝트의 기울기를 변경합니다.

 

Scale은 오브젝트의 크기를 변경합니다.

 

d1c817ed86dcd12c9ad7279a530ec3ea_1468199

 

이번엔 굴러갈 큐브를 제작해줍니다.

 

 

 

통통 튈 예정이니깐 이름을 통통이라 지어줍니다

 

위치는 적당히 끝부분에 지정해줍니다.

ac6d9a74ed73d1afd1779a04d836ace1_1467339

 

통통이에게 중력 적용시키기

 

 

통통이가 위에서 아래로 떨어지면서 내려가야 하므로 중력을 적용시켜 주어야 합니다.

 

 


 

 

 Component 툴의 Physics - Rigidbody를 눌러줍니다.

 

Inspector 뷰에 Rigidbody가 추가되었습니다.

Use Gravity로 통통이에게 무게를 적용시켜줍니다.

 

오브젝트들이 닿게 되면 자동으로 충돌 판정을 하게 되며,

 

무게나 마찰력에 따라 무엇이, 어디로 밀릴지 등을 설정할 수도 있습니다.

 


 

 

통통이가 통통 튀게 만들기

 

중력을 적용시켜 바닥에 닿기 전까지 낙하되도록 만들었습니다.

 

 

이제 바닥에 닿게 되면 통통 튀면서 내려가도록 만들어 보도록 하겠습니다.

 

 

 

Project 뷰의 Create - Physic Material를 클릭합니다.

 

통통 튀는 동작을 할 것이므로 이름을 통통으로 지어줍니다.

 

통통 중 Bounciness를 수정합니다. 0이면 튀지 않고 1일 때 가장 많이 튑니다.

 

Friction Combine는 서로 부딪힐 때 마찰계수를 계산 방법을 지정하고,

 

Bounce Combine는 서로 부딪힐 때 반발계수(튀기는 정도)를 계산 방법을 지정합니다.

 

Average는 두 오브젝트의 평균값, Multiply는 곱셈,

Minimum은 둘 중 작은 값, Maximum은 둘 중 큰 값을 적용시킵니다.

 

마찰계수는 평균값으로 반발계수는 큰 값을 적용시키겠습니다.

 

정보를 오브젝트에 적용 방법은 드래그 앤 드롭으로 적용시킬 수 있습니다.

 

ac6d9a74ed73d1afd1779a04d836ace1_1467339

 

통통이 오브젝트에 정상적으로 적용이 되었다면

 

Inspector 뷰의 Box Colider - Material에 통통이라고 되어 있을 겁니다.

 

 

 

카메라 위치 바꾸기

 

카메라의 위치가 너무 이상해서 통통이가 내려가는 것을 확인하기 힘듭니다.

 

카메라의 위치랑 앵글을 변경하여 잘 보이도록 수정하겠습니다.



 

간단하게 마우스로 앵글을 변경할 수 있습니다.

 

통통이가 너무 낮게 있어 높이 뛰지 못 해서 Y 축을 변경해주었습니다.

 


 

마치며...

 

별다른 코딩이나 어려운 부분 없이 간단하게

 

중력 및 큐브 낙하 시뮬레이션을 완성하였습니다.

 

중력이나 튀기는 오브젝트는 많이 사용하는 부분이라 꼭 숙지하고 계시는 게 좋습니다!


 

출처 [메카솔루션] http://Mechasolution.com 

메카리워즈 Image Map


모바일 버전으로 보기