언리얼로 제작된 샘플 캐릭터들을 보면 항상 Twist bone이 팔과 다리부분에 달려 있는데
이 Bone은 해부학적으로는 존재하지 않고, 꼬임 현상(캡디 Wrap 현상이라고도 하더군요.)을 해소하기 위한
하나의 방편으로서 쓰이는 것으로 아주 "대략적인"개념만 알고 있습니다.
이번에 프로젝트를 진행하면서, 제가 제작한 캐릭터도 이와 같은 현상을 피해갈 수 없었기에
(특히 손목, 어깨..) 이 부분을 좀 더 파고들기로 했습니다.
우선, 이 부분에 관해서 대학교 다닐 때 읽던 책에서 봤던 기억이 어렴풋이 났습니다.
바로 리깅의 대표적인 책으로 알려져있는 캐릭터 셋업 테크닉~!
하지만 저는 이 책의 소중함을 모르고 고가로 처분해버렸죠. (이 때 당시에 이 책은 절판되었기에.)
다시 매입해서 조금 살펴보니..쉽게 생각할 문제가 아니더군요.
Constraint관련 된 개념도 적용이 되기에 Bone과 Bone사이의 관계에 대해서 명확히 짚어 넘어가야 할 필요가 있었습니다. 더군다나 Max의 Biped로 설명되는 부분이랑 중복이 되서 조금 헷갈리는 부분도 있었구요.
일단 먼저 짚고 넘어가야할 부분은 Max 나 Maya에서 작업하는 Constraint 관련 옵션들은 엔진으로 넘어가지 않는 것으로 알고있는데, 그렇다면 애니메이션을 다 이곳에서 작업해서 Bone에 애니메이션을 Bake후 가져가는 방법밖에 없는
것인지, 아니면 엔진에서 따로 Bone들과 관련된 Connection들(Constraint)을 연결해주는지 그 여부가 중요했습니다.
전자의 경우에 해당한다면. 결국 외부 애니메이션들은 다시 수작업을 걸쳐야 하는 번거로움이 더해지기 때문에 거의 무용지물일 것이라 생각이 됐고. (Twist bone까지는 애니메이션이 없더라구요.)
만약 후자의 경우라면..뭔가 조금 더 테스트 해볼 수 있지 않을까 생각이 됐습니다.
어찌됐던 책은 잠깐 덮어두고, 언리얼의 샘플 캐릭터에게는 이 Twistbone이 제대로 작동이나 하고있는지 확인할겸,
Echo project를 열어봤습니다.
근데 신기한게, Hand bone을 회전시키니, Lowerarm과 관련된 Twistbone이 회전을 합니다!
Maya로 Export해서 테스트 해보니, Twistbone은 그대로 있었구요.
이 말은, 엔진 어딘가에서 이 Bone들을 제어하고 있다는 것이겠죠.
하지만 어디서 이 부분이 제어되는 것인지는 확인이 불가했습니다. Animation Blueprint도 아닌 것 같고..
여하튼 현재 포럼에 문의 중이니 곧 답이 달리지 않을까 생각이 됩니다.
----
Constraint를 마야에서 설정하면 언리얼로 임포트가 되는지 테스트 해봅니다.
-> 안됍니다..
Animation Blueprint에서 제어가 되는 게 맞네요.
Echo_PostProcess_AnimBP에 의해서 제어가 되고 있습니다!
주말간 이 녀석을 한번 뜯어봐야겠네요. 오늘은 업무가 밀려서 패스..
Twistbone은 Animbp 내 Twist Setup에서 제어되고 있습니다.
요렇게 구성되어있는데, 적용하는건 어렵지 않을 것 같네요.
이외에 적용해보고 싶은 기능은, 본의 움직임에 따라 적용되는 Morpher이 있습니다.
이 또한 Anim BP에서, Pose Driver로 제어가 되고 있네요. 이 부분 또한 적용을 해봐야겠어요!