유니티5 중력 적용과 충돌 판정, 튕기게 하는 방법 [유니티5 기초강좌]중력 적용하는 방법과 오브젝트 간의
충돌 판정 적용, 또 충돌했을 때 튀기게 하는 법을 배워보도록 하겠습니다.
최종 목표 목표 영상
오브젝트에 중력을 적용시켜 위에서 아래로 낙하하도록 하고,
오브젝트 간의 충돌 시 튀기도록 제작하는 것이 목표입니다.
스크립트 제작 및 수정하기 우선 바닥 부분이 될 오브젝트를 불러옵니다.
바닥이 될 오브젝트의 이름을 변경해주고 크기와 기울기를 변경하여 줍니다.
Position은 오브젝트의 좌표를 변경합니다.
Rotation은 오브젝트의 기울기를 변경합니다.
Scale은 오브젝트의 크기를 변경합니다.
이번엔 굴러갈 큐브를 제작해줍니다.
통통 튈 예정이니깐 이름을 통통이라 지어줍니다
위치는 적당히 끝부분에 지정해줍니다.
통통이에게 중력 적용시키기
통통이가 위에서 아래로 떨어지면서 내려가야 하므로 중력을 적용시켜 주어야 합니다.
Component 툴의 Physics - Rigidbody를 눌러줍니다.
Inspector 뷰에 Rigidbody가 추가되었습니다. Use Gravity로 통통이에게 무게를 적용시켜줍니다.
오브젝트들이 닿게 되면 자동으로 충돌 판정을 하게 되며,
무게나 마찰력에 따라 무엇이, 어디로 밀릴지 등을 설정할 수도 있습니다.
통통이가 통통 튀게 만들기
중력을 적용시켜 바닥에 닿기 전까지 낙하되도록 만들었습니다.
이제 바닥에 닿게 되면 통통 튀면서 내려가도록 만들어 보도록 하겠습니다.
Project 뷰의 Create - Physic Material를 클릭합니다.
통통 튀는 동작을 할 것이므로 이름을 통통으로 지어줍니다.
통통 중 Bounciness를 수정합니다. 0이면 튀지 않고 1일 때 가장 많이 튑니다.
Friction Combine는 서로 부딪힐 때 마찰계수를 계산 방법을 지정하고,
Bounce Combine는 서로 부딪힐 때 반발계수(튀기는 정도)를 계산 방법을 지정합니다.
Average는 두 오브젝트의 평균값, Multiply는 곱셈, Minimum은 둘 중 작은 값, Maximum은 둘 중 큰 값을 적용시킵니다.
마찰계수는 평균값으로 반발계수는 큰 값을 적용시키겠습니다.
정보를 오브젝트에 적용 방법은 드래그 앤 드롭으로 적용시킬 수 있습니다.
통통이 오브젝트에 정상적으로 적용이 되었다면
Inspector 뷰의 Box Colider - Material에 통통이라고 되어 있을 겁니다.
카메라 위치 바꾸기
카메라의 위치가 너무 이상해서 통통이가 내려가는 것을 확인하기 힘듭니다.
카메라의 위치랑 앵글을 변경하여 잘 보이도록 수정하겠습니다.
간단하게 마우스로 앵글을 변경할 수 있습니다.
통통이가 너무 낮게 있어 높이 뛰지 못 해서 Y 축을 변경해주었습니다.
마치며...
별다른 코딩이나 어려운 부분 없이 간단하게
중력 및 큐브 낙하 시뮬레이션을 완성하였습니다.
중력이나 튀기는 오브젝트는 많이 사용하는 부분이라 꼭 숙지하고 계시는 게 좋습니다!
출처 [메카솔루션] http://Mechasolution.com |