Physic Material 은 충돌하는 게임 오브젝트의 마찰 또는 바운스 효과를 조정합니다.
물리 머티리얼을 생성하려면 메뉴 모음에서 Assets > Create > Physic Material 을 선택합니다.그런 다음 프로젝트 뷰에서 해당 물리 머티리얼을 씬의 Collider 로 드래그합니다.
프로퍼티: | 기능: |
---|---|
Dynamic Friction | 이미 움직이고 있을 때 사용되는 마찰입니다. 일반적으로 0과 1 사이의 값입니다. 값이 0이면 얼음처럼 미끄러워지고 1이면 오브젝트가 큰 힘이나 중력에 밀리지 않는 한 아주 빨리 정지합니다. |
Static Friction | 오브젝트가 표면 위에 가만히 놓여 있을 때 사용되는 마찰입니다. 일반적으로 01 사이의 값입니다. 0이면 얼음처럼 미끄러워지고, 1이면 오브젝트를 움직이기가 매우 힘들어집니다. |
Bounciness | 표면이 얼마나 탄성이 있는지 나타냅니다. 값이 0이면 오브젝트가 바운스하지 않고 값이 1이면 오브젝트가 에너지 손실 없이 바운스합니다. 다만 시뮬레이션에 적은 양의 에너지가 더해질 수 있는 근사값이 있을 수 있습니다. |
Friction Combine | 충돌하는 두 오브젝트의 마찰이 합쳐지는 방법입니다. |
- Average | 두 마찰 값의 평균이 사용됩니다. |
- Minimum | 두 값 중 작은 값이 사용됩니다. |
- Maximum | 두 값 중 큰 값이 사용됩니다. |
- Multiply | 두 마찰 값을 서로 곱합니다. |
Bounce Combine | 충돌하는 두 오브젝트의 탄성을 합치는 방법입니다. 마찰 결합 모드와 동일한 모드가 있습니다. |
마찰은 표면이 서로 미끄러지지 않도록 하는 정도입니다. 이 값은 오브젝트를 쌓으려고 할 때 중요합니다. 마찰의 두 가지 형태는 동적 마찰과 정지 마찰입니다. Static friction 은 오브젝트가 가만히 정지해 있는 경우에 사용합니다. 이 마찰은 오브젝트가 움직이기 시작하는 것을 방지합니다. 오브젝트에 충분히 큰 힘이 가해지면 오브젝트가 움직이기 시작합니다. 이 시점에 Dynamic Friction 이 작용하기 시작합니다. 이제 Dynamic Friction 이 오브젝트가 서로 접촉하는 동안 오브젝트의 속도를 줄이려고 합니다.
두 바디가 접촉되어 있는 경우 선택된 모드에 따라 동일한 탄성 및 마찰 효과가 두 바디에 모두 적용됩니다. 접촉하는 두 콜라이더에 서로 다른 결합 모드가 설정된 특별한 경우가 있습니다. 이 경우 우선 순위가 가장 높은 함수가 사용됩니다. 우선 순위는 Average < Minimum < Multiply < Maximum 입니다. 예를 들어 한 머티리얼에 Average 가 설정되어 있지만 다른 머티리얼에는 Maximum 이 설정되어 있는 경우 우선 순위가 높은 Maximum 결합 함수가 사용됩니다.
Nvidia PhysX 엔진이 사용하는 마찰 모델은 시뮬레이션 성능과 안정성을 최적화하도록 튜닝되어 있고, 현실 세계의 물리를 유사하게 표현하지 않을 수 있습니다. 특히 단일 점보다 큰 접촉 표면(예: 서로 겹치게 쌓은 박스 2개)은 접점이 2개 있는 것으로 계산되고, 현실 세계의 물리보다 마찰력이 두 배입니다. 이 경우 더 사실적인 결과를 얻기 위해 마찰 계수에 0.5를 곱할 수 있습니다.
동일한 로직이 탄성 모델에도 적용됩니다. Nvidia PhysX는 위치 보정 등 다양한 시뮬레이션 정보로 인해 완벽한 에너지 보존을 보장하지 않습니다. 예를 들어 중력에 영향을 받는 오브젝트의 탄성값이 1이고 탄성이 1인 지표에 충돌할 경우 오브젝트가 최초 위치보다 더 높은 위치에 다다를 것이라고 예상할 수 있습니다.