반응형
간혹 가다가 특정 본의 위치부터 하위 본들까지의 물리를 끄고 싶을 때가 있다.
찾아보니 USkeletalMeshComponent::TermBodiesBelow라는 함수가 있었다.
설명은 Terminate physics on all bodies below the named bone, effectively disabling collision forever.
말 그대로 해당 이름의 본부터 하위 본들 모두의 물리를 제거한다는 것이다.
물리를 제거하기 때문에 그만큼 그 뒤로 물리 계산이 줄게 되니 효과적으로 영원히 충돌을 막을 수 있다.
코드를 보면 Body 사이의 Constraint를 제거하고 모든 Body들도 제거한다.
내가 넘겨준 본의 Body까지 제거한 다는 것을 기억해두자!
참고로 다시 복구 하는 것은 안된다.
엔진 코드에서 검색해보면 HideBone()과 같은 함수들도 찾을 수 있는데 여러가지 버전이 있는 것 같다.
궁금해서 테스트 삼아 사용해봤는데 렌더링되는 부분까지 제거된다.
물리만 끄고 싶을 때는 TermBodiesBelow를 사용하고 렌더링까지 고려해야 할 때는 HideBone()류의 함수를 고려해보자.
당연하지만 블루프린트도 있으니 블루프린트로 작업하시는 분들도 이용해보시길!
반응형
'프로그래밍 > UnrealEngine' 카테고리의 다른 글
언리얼엔진 4 개발환경 구축하기 (0) | 2019.04.17 |
---|