Physical Material 이란?
피지컬 머티리얼은 피지컬 오브젝트가 월드와 동적으로 상호작용할 때의 반응을 정의하는데 사용된다.
물리 시뮬레이션 프리미티브에 바로 적용되거나 또는 머티리얼을 통해 적용해, 시뮬레이션에 쓰이는 피지컬 프로퍼티를 설정하고 제어하는 하나의 애셋이다.
피지컬 머티리얼은 꽤나 사용하기 쉽다. 만들자마자 모든 물리 오브젝트에 적용되는 기본 피지컬 머티리얼과 동일한 기본값 세트가 주어진다.
예를 들면 캐릭터의 시체(래그돌)이나 이동가능한 움직이는 상자 등이 있다.
충돌하는 오브젝트에 대한 마찰이나 바운스 효과를 조절하는 것에서도 사용할 수 있다.
생성법
만드는 방법은 아주 간단하다. 콘텐츠 브라우저에서 우클릭 -> 피직스 -> 피지컬 머티리얼을 선택하면 만들 수 있다.

버튼을 누르면 피지컬 머티리얼의 클래스를 선택해줘야 하는데, C++로 따로 만들 수 있으나 일단 기본인 PhysicalMaterial을 선택하자.

만들고 피지컬 머티리얼 에셋을 열어보면 아래와 같다.

프로퍼티가 여러가지 있다. 마찰력이나 밀도, 표면 프로퍼티 등등의 설정을 진행할 수있다.
프로퍼티에 대한 자세한 설명은 공식 문서에 나와있다.
https://docs.unrealengine.com/ko/Engine/Physics/PhysicalMaterials/Reference/index.html
피지컬 머티리얼은 C++로 확장해서 추가적으로 원하는 반응들을 만들어 써야할 것 같다.
사용법
피직스 머티리얼은 머티리얼, 피직스 애셋, 스태틱 메시에서 불러 사용할 수 있다.
머티리얼에서 사용법
머티리얼을 하나 만들고, 메인 머티리얼을 노드 디테일 창에 Phys Material에서 원하는 피지컬 머티리얼을 넣어주면 된다.


머티리얼 인스턴스를 만들어 변경할 수도 있다.

피직스 애셋 (스켈레탈 메시)
피직스 애셋에 대한 피지컬 머티리얼을 조절할 때는, 피직스 애셋의 모든 피직스 바디에 가장 자주 사용되는 피지컬 머티리얼을 할당하는 것으로 시작하는게 좋다.
피직스 애셋 툴에서 피직스 애셋을 열고, 툴탭에 있는 피지컬 머티리얼을 눌러 설정하면 된다.

피직스 바디가 다른 피지컬 머티리얼을 필요로 하는 경우엔, 개별적으로 조정해주면 된다.
피직스 애셋 툴에서 바디 편집모드를 켜서, 원하는 피직스 바디를 선택한 다음, 디테일 패널의 Physics 카테고리에서 단순 콜리전 피지컬 머티리얼(Simple Collision Physical Material)을 변경한다.

스켈레탈 메시와의 물리 상호작용에 대한 기본 동작은 연관된 피직스 애셋하고만 상호작용 하는 것이므로, 스켈레탈 메시의 머티리얼에 있는 피지컬 머티리얼은 사용되지 않는다.
스태틱 메시
스태틱 메시에는 단순 콜리전과 폴리곤별로 콜리전하는 복합 콜리전을 둘다 갖고있으며, 복합 콜리전은 각각 다양한 피지컬 머티리얼을 가질 수 있는 다양한 머티리얼 다수로 구성되어 있다.
콜리전 | 피지컬 머티리얼 순서 |
단순 콜리전 | 콜리전이나 트레이스가 Simple Collision (단순 콜리전)을 사용하면, 스태틱 메시 에디터에 설정된 스태틱 메시 상의 피지컬 머티리얼을 가리키며, 스태틱 메시 액터 의 Phys Material Override (피지컬 머티리얼 덮어쓰기)가 None (없음) 이외로 설정된 경우 해당 프로퍼티에 나열된 것을 사용한다. |
복합 콜리전 | 콜리전이나 트레이스가 Complex Collision (복합 콜리전)을 사용하면, 스태틱 메시 액터 에 적용된 머티리얼 또는 머티리얼 인스턴스 상의 피지컬 머티리얼을 가리키며, 스태틱 메시 액터의 Phys Material Override (피지컬 머티리얼 덮어쓰기)가 None (없음) 이외로 설정된 경우 해당 프로퍼티에 나열된 것을 사용한다. |
스태틱 메시에 대해 단순 콜리전 피지컬 머티리얼을 설정하려면, 스태틱 메시 에디터로 들어가 콜리전 탭 아래의 Simple Collision Physical Material 을 원하는 피지컬 머티리얼로 설정하면 된다.
