반응형

간혹 가다가 특정 본의 위치부터 하위 본들까지의 물리를 끄고 싶을 때가 있다.

 

찾아보니 USkeletalMeshComponent::TermBodiesBelow라는 함수가 있었다.

 

설명은 Terminate physics on all bodies below the named bone, effectively disabling collision forever.

 

말 그대로 해당 이름의 본부터 하위 본들 모두의 물리를 제거한다는 것이다.

 

물리를 제거하기 때문에 그만큼 그 뒤로 물리 계산이 줄게 되니 효과적으로 영원히 충돌을 막을 수 있다.

 

코드를 보면 Body 사이의 Constraint를 제거하고 모든 Body들도 제거한다.

 

내가 넘겨준 본의 Body까지 제거한 다는 것을 기억해두자!

 

참고로 다시 복구 하는 것은 안된다.

 

엔진 코드에서 검색해보면 HideBone()과 같은 함수들도 찾을 수 있는데 여러가지 버전이 있는 것 같다.

 

궁금해서 테스트 삼아 사용해봤는데 렌더링되는 부분까지 제거된다.

 

물리만 끄고 싶을 때는 TermBodiesBelow를 사용하고 렌더링까지 고려해야 할 때는 HideBone()류의 함수를 고려해보자.

 

당연하지만 블루프린트도 있으니 블루프린트로 작업하시는 분들도 이용해보시길!

 

https://docs.unrealengine.com/en-US/API/Runtime/Engine/Components/USkeletalMeshComponent/TermBodiesBelow/index.html

반응형

'프로그래밍 > UnrealEngine' 카테고리의 다른 글

언리얼엔진 4 개발환경 구축하기  (0) 2019.04.17
Posted by msparkms
,