BipedPlus를 쓰시는 분께서 보내 주신 질문입니다. 같은 부분이 궁금하실 수 있어 정리해 공유합니다.
제자리 모션은 Root(Ctrl_World)가 움직이지 않아도 됩니다. 실제로 이동하는 모션은 Bip001로 잡으면, 나중에 Root(Ctrl_World)를 움직일 때 걸음이 어긋납니다. Root(Ctrl_World)만 움직이면 발 IK가 바닥에 남아 미끄러집니다.
예전에는 익스포트할 때 스크립트로 Root를 이동의 부모로 두고, Bip001은 고정한 뒤 높이만 남겼습니다. BipedPlus에서는 어떻게 잡으면 되는지 궁금합니다.
이 처리는 보통 루트 모션이라고 부릅니다. 수평 이동과 높이를 어디에 둘지는 회사마다 다릅니다.
BipedPlus는 완성된 리그 계층을 제공합니다. Root(Ctrl_World) 아래에 Bip001이 있는 것은 일반적인 구성입니다. 애니메이션을 잡을 때는 Bip001을 움직이고, Root(Ctrl_World)는 그대로 두시면 됩니다. 둘 다 이동을 가지면 걸음이 겹치고, Root(Ctrl_World)만 밀면 발이 미끄러집니다.
한 가지 후처리 예는 이렇습니다. 애니메이션을 먼저 넣은 뒤, Bip001의 월드 위치를 키마다 기억합니다. Root(Ctrl_World)에는 높이를 뺀 X, Y만 넣고, Bip001에는 X, Y, Z를 굽습니다. 그러면 둘의 차이는 높이만 남습니다. Root(Ctrl_World)의 수평 키를 지우면 제자리 모션이 됩니다.
이런 익스포트 전 처리는 보통 회사 툴의 버튼으로 둡니다. 애니메이션 탭에 넣을지는 수요가 분명하지 않아 기다리고 있었습니다. 필요하신지, 주변에서도 필요하신지, 원하시는 동작의 예가 있으면 알려 주시면 이후 개발에 참고하겠습니다.
정리하면, 계층을 실행 전 상태로 잘 되돌리신다는 전제에서, 필요하신 방식의 루트 모션 스크립트를 자유롭게 작성해 실행하셔도 됩니다. 실행이 끝나면 이전 계층으로만 되돌려 주세요.