728x90

문제

에픽게임스에서 무료로 배포한 Paragon 캐릭터 모델을 사용했을 때, 무기 메쉬 자체가 캐릭터 뼈대에 부착되어있어 제거하기가 어렵다. 내가 사용하는 TwinBlast 캐릭터는 weapon_l, weapon_r, grenade가 캐릭터의 스켈레톤에 달려있었다.

TwinBlast 캐릭터의 Skeleton Tree

해결

검색 결과 세 가지 방법이 있는 것으로 보인다.

  1. 무기의 매테리얼을 변경해 투명하게 만든다. 하지만 무기의 매테리얼을 투명하게 바꿔도 충돌이나 파티클 시스템에 영향을 줄 수 있다.
  2. 모델링 툴이나 프로그램을 사용해 직접 뼈대를 수정한다. 하지만 블렌더나 3ds max를 다룰 줄 모른다.
  3. 애니메이션 블루프린트에서 parent bone의 scale을 (0, 0, 0)으로 만든다.

따라서 내가 택한 것은 3번 방법이다.

캐릭터의 애니메이션 블루프린트(네이밍 컨벤션은 ABP_로 시작한다.)에서 아래와 같이 만들어준다.

노드의 모양이 다른 것은 Expose Pin을 Bind로 바꿨기 때문이다.

아직은 다른 스테이트 머신이나 처리가 없는데, 만약 있다면 위의 노드뭉치를 맨 뒤부분에 넣거나 cached pose를 만들어 다른 애니메이션 처리에 사용하면 될 듯 하다. 순서대로 설명하자면,

  1. Transform (Modify) Bone 노드를 만든다.
  2. Details 에서 Bone to Modify 드롭다운 메뉴를 클릭해 weapon의 parent bone을 선택한다.
  3. Scale의 Expose Pin을 Bind로 바꾸고 값을 (0, 0, 0)으로 해준다.(혹은 Pin에서 끌어다가 Make Vector 노드를 만들어 (0,0,0)을 넣어준다.)
  4. Scale Mode를 Replace Existing으로 바꿔준다.

참고로 처음 Transform(Modify) Bone 노드를 생성했을 때 모양이 사진과 다를텐데, 어차피 핀으로 값을 설정해주지 않기 때문에 Expose Pin을 다 Bind로 바꿔줬기 때문이다. 위의 과정을 거치고 나서 컴파일을 누르면 무기가 사라진 것을 프리뷰로 볼 수 있다.

Before
After

 

728x90