[Unity] 10. 각종 컴포넌트 알아보기 (2) - Physic Material
공부/Unity

[Unity] 10. 각종 컴포넌트 알아보기 (2) - Physic Material

안녕하세요.

기계과 감성쟁이입니다.

 

오늘도 어김없는 포스팅.

저번 시간에 이어 Physic Material 컴포넌트를 알아보겠습니다.

 

1. Physic Mateiral (물리 재질)


 

Physic Material (물리재질)은

탄성과 마찰을 설정하는 컴포넌트입니다.

 

 

생성 방법은 일반 Material 과 같습니다.

 

1) Assets - 우클릭 - Create - Physic Material

2) 오브젝트에 드래그 앤 드롭

 

 Physic Material 의 Parameter 들은 다음과 같습니다.

 

1) Dynamic Friction : 운동마찰

   - 정역학에 등장하는 Kinetic Friction (운동마찰)과 개념이 같습니다.

     0 이면 마찰이 없고, 1이면 마찰이 굉~장히 큽니다.

 

2) Static Friction : 정지마찰

   - 마찬가지로 정역학에 등장하는 Static Friction (정지마찰)과 개념이 같습니다.

     0 이면 마찰이 없고, 1 이면 마찰이 굉~장히 큽니다.

 

출처 : https://www.quora.com/What-if-the-force-applied-is-less-than-static-friction-force

 

마찰은 너무 간단한 개념이라

사용예시는 생략하겠읍니다... 껄껄

 

3) Bounciness : 반동

   - 물체가 반동하는 정도를 나타냅니다. 

 

     유니티 매뉴얼에 '0 이면 반동이 없고, 1 이면 에너지의 손실없이 반동합니다' 라고 나와있으나,

     실제로 해보면 그렇지는 않습니다.

 

Bounciness 를 1, Drag 를 0 으로 설정했을 때

 

에너지의 손실이 없다면, 보존 법칙에 의해

같은 높이만큼 다시 튀어올라야 하는데, 안오르네요.

 

그 이유는, 이후에 나올 Bounciness Combine 과 관련이 있습니다.

 

변화하는 Drag 계수에 따라 Bounciness 가 영향을 받는지는 솔직히 잘 모르겠습니다.

 

 

4) Friction Combine : 두 물체 충돌 시 마찰 계산 방식

   Bounciness Combine : 두 물체 충돌 시 반동 계산 방식

 

'When two bodies are in contact, the same bounciness and friction effect is applied to both of them according to the chosen mode.' - 유니티 매뉴얼

 

두 물체가 접촉하면, Combine Mode 에 의해 같은 반동과 마찰 효과를 가진다고 합니다.

 

'There is a special case when the two colliders in contact have different combine modes set. In this particular case, the function that has the highest priority is used. The priority order is as follows: Average < Minimum < Multiply < Maximum. For example, if one material has Average set but the other one has Maximum, then the combine function to be used is Maximum, since it has higher priority.'

 

두 Collider가 (Physic Mateiral은 Collider 안에서 작용합니다) 서로 다른 Combine Mode를 가지는 경우는 흔하지 않은데, 만일 그런 경우에는 우선순위가 있다고 합니다.

 

그게 Average < Minimum < Multiply < Maximum 라는 거죠.

예를 들어, 하나는 Average고 하나는 Maximum이면, Maximum 으로 계산한답니다.

 

이렇게 Collider 안에 적용됩니다.

 

자 그러면 아까 Bounciness 설명에서 공이 제대로 튀지 않았던 이유를 알 수 있습니다.

바닥과 충돌할 때, Bounciness Combine에 의해 해당 값이 변경되어서 입니다.

 

아래 사진은 B.C 를 Maximum으로 놓았을 때 입니다.

 

 

잘 튀네요.

근데 점점 높게 튀어요...

 

에너지 손실이 아니라 유입이 생겨버렸네요.대체 어디일까요??????????? 저도 모르겠어요.

 

 

더 자세한 내용은 아래 사이트에 있으니 (사실 제가 올린 것과 비슷비슷)

참고하세요!

 

 

Unity - Manual: Physic Material

Physic Material Switch to Scripting The Physic Material is used to adjust friction and bouncing effects of colliding objects. To create a Physic Material select Assets > Create > Physic Material from the menu bar. Then drag the Physic Material from the Pro

docs.unity3d.com

 


 

야식을 먹을까 말까...Unity, 개발, 게임개발, 게임엔진, 공대생, 기계공학, 유니티, 유니티 deltaTime, 코딩, 프로그래밍