Cube(Black)
좌: Cube(Black), 우: Physics Materials 설정값
이번 예제는 간단하게 3D Object인 Plane과 Cube를 사용하였으며 스크립트는 없습니다.
(사실 이렇게 글 시작 전 이미지 하나 띄우는 게 생각보다 꼭 봐야 할 이미지인데 이번엔 봐야 할 게 더 생기다 보니 이렇게 이미지가 많아졌습니다.. 흠.. 가독성을 위해 다음부턴 더 보기 좋게 올려보도록 하겠습니다.. 저게 뭔지도 모르는데 일단 보고 하라는 느낌이라 ..ㅠ)
-Physics Materials-
물리 재질은 게임 오브젝트의 모습이 아니라 오브젝트가 물리 엔진에 반응하는 방식에 영향을 줍니다.
농구공과 볼링공의 탄성의 차이를 생각하면 될 것 같습니다.
둘은 질량에도 차이가 있지만 표면이 매우 달라 다른 표면에 다르게 반응합니다
물리 재질은 프로젝트에서 Create 버튼을 눌러 만들 수 있습니다.
만든 물리 재질을 클릭하여 인스펙터 창을 보면
표면이 다른 표면에 어떻게 반응할지를 제어할 수 있습니다.
--------------------------------------------------------------------------------------------------------
Dynamic Friction -> 오브젝트가 움직이면서 마찰하는 정도
Static Friction -> 고정 위치에서 오브젝트가 이동하기 위해 가해야 하는 힘의 크기
Bounciness(탄력성) -> 오브젝트가 튀는 방식 제어 높을수록 오브젝트가 쉽게 튀어 오름
Friction Combine -> 특정 재질로 다른 오브젝트에 마찰이 결합되는 방법을 결정
Bounce Combine -> 특정 재질로 다른 오브젝트에 탄력이 결합되는 방법을 결정
Combine.Average -> 두 충돌하는 재료의 마찰, 탄력의 평균
Combine.Maximum -> 두 충돌하는 재료의 마찰, 탄력 중 큰 것을 사용
Combine.Minimum -> 두 충돌하는 재료의 마찰, 탄력 중 작은 것을 사용
Combine.Multiply -> 두 충돌하는 재료의 마찰, 탄력의 곱
--------------------------------------------------------------------------------------------------------
여기서 물리 재질은 주어진 게임 오브젝트에서 충돌체(Collider -> Material)에 적용됩니다!
일단 지금 예제에서 간단히 보여주고자 하는 부분을 알기 위해 실행 화면 바로 보도록 하겠습니다!
!? Cube가 자연스럽게 미끄러지는 게 보이시나요 !?
Dynamic Friction, Static Friction을 모두 0으로 한 Physics Materials을
Player(Cube)와 Cube(Black)에 적용하였기 때문에 그렇습니다.
이번 예제에서 Friction Combine을 Minimum으로 해두었는데
사실 Dynamic Friction이 둘 다 0이기 때문에 큰 의미는 없다고 보셔도 됩니다.
여기서 Bounciness의 값을 최댓값인 1로 올려보면
이렇게 통통 튀는 Cube를 보시게 될 겁니다. 여기서 주체 못 하고 튀게 되는 건 아무래도
Dynamic Friction이 0인데 반해 Bounciness 값이 1이기 때문일 겁니다.
그리고 Friction Combine, Bounce Combine의 경우에는
다른 두 오브젝트에 다른 설정의 Physics Materials을 적용하였을 때 사용하시기 좋습니다.
아무래도 역시 가장 좋은 것은 직접 해보는 거겠죠?!
이 포스팅은
https://unity3d.com/kr/learn/tutorials/topics/physics/physics-materials?playlist=17120
을 참고하였습니다.
'Unity > 기초 예제' 카테고리의 다른 글
유니티 Joints, Hinge Joint 간단한 예제 유니티 기초 (0) | 2021.06.02 |
---|---|
유니티 Joints, Fixed Joint, Spring Joint 간단한 예제 유니티 기초 (0) | 2021.05.31 |
유니티 Invoke InvokeRepeating CancelInvoke 함수반복호출 간단한 예제 유니티 기초 (0) | 2021.05.25 |
유니티 Instantiate 프리팹 복제 Random.Range 난수생성 랜덤값 간단한 예제 유니티 기초 (0) | 2021.05.24 |
유니티 Destroy 오브젝트 제거 간단한 예제 유니티 기초 (0) | 2021.05.20 |