언리얼 메쉬에 애니메이션 입히기
1. 언리얼의 메쉬를 Export
2. 툴에서 작업 세팅
이 FBX 파일을 툴로 가져와
메쉬 상위에 조인트 또는 그룹노드를 두고
애니메이션 한다.
*메쉬에는 애니메이션값을 넣지 않는다.
*최상위 조인트 또는 그룹노드를 둔다.
*상위에 조인트 또는 그룹노드를 둘 때는 하위의 메쉬 이름과 같게(또는 알아볼 수 있게) 하면 좋다.
(언리얼에서 일일이 링크를 걸어주어야 하기 때문이다!)
*조인트또는 그룹노드의 위치를 메쉬에 Snap 하여 위치시킨 후 Freez한다.
*조인트를 OrientJoint 하여 축을 균일하게한다. (작업에 용이하도록 오브젝트 기준으로 축을 맞출 수도 있다.)
*작업을 시작하기 전, 처음 포즈를 그대로 두고 키를 넣거나 Studio Library(스튜디오 라이브러리)에 백업해둔다.
첫포즈가 언리얼의 것과 나의 애니메이션이 같아야 언리얼에서 그대로 메쉬가 움직인다.
나는 그룹노드를 쓰지 않고 joint를 사용했다.
3. 툴에서 Export
저장한 첫포즈를 맨 앞에 두고 Export한다.
4. 언리얼로 Import
임포트 옵션을 보면 T0을 레퍼런스 포즈로 사용 한다는 옵션을 클릭한다.
여기서 경험한 이슈
이 옵션을 클릭하지 않으니
"바인드 포즈를 찾을 수 없습니다. 시간 0을 바인드 포즈로 사용합니다." 라는 문구가 계속 뜨면서
애니메이션이 엉망 진창이 되었는데
검색해보니 이 옵션을 켜라고 해 그대로 했더니 문제가 해결 되었다.
그 위의 옵션은 효용이 있는지 모르겠으나 일단 켜고 했을 때 잘 되었으므로
이렇게 임포트 하기로 한다.
5. 루트에 할당하기
스켈레탈메시(분홍)를 씬에 올리면
아웃라이너에서 최상위 조인트 이름을 확인할 수 있다.
이 최상위 조인트에
언리얼에 처음부터 존재하고 있던 각 메쉬를 드래그 앤 드랍 해줄 것이다.
그러면 위와 같은 리스트가 나오는데 검색을 해서 해당 조인트를 선택해주면
최상위 조인트 아래로 그 메쉬가 들어가게 된다. (할당)
그러면 최종적으로
아웃라이너에서는
최상위 조인트(또는 그룹) -하위-> 해당 메쉬
의 모습이 된다.
6. 트랜스폼 위치값을 0으로
시퀀스에서 확인해보면 내가 작업한 애니메이션과 다를 것이다.
위치 값을 설정하지 않아서 그렇다.
마지막으로 트랜스폼 위치값을 0으로 설정한다.
디테일 창에서 트랜스폼의 위치값 옆에 있는 화살표를 누르면
모든 값이 0이 된다.
이 기어 메쉬가 조인트로부터 멀리 떨어진 값이 아닌
조인트와 딱 맞는 0값이 되게 하기 위해서다.
5.1. 다층 구조일 경우의 링크 방법
움직일 메쉬는 3개 뿐이고
애니는 조인트 2개에만 들어있다.
하지만 링크를 걸 때는 상위부터 차례로 해당 메쉬 바로 위의 조인트 (또는 그룹) 노드를
신중하게 할당해 주어야 한다.
맨 먼저 것을 할당하게 되면
최상위 조인트에 상위 메쉬와 함께 아래 것들이 위계 그대로 딸려 들어오게 된다.
그러면 그 아래 Shaft_Holder5 부터 차근차근 상위 순서대로 할당해주면 된다.
여기서 잠깐!
마야의 구조를 보면
Shaft_Holder5 의 바로 위 애니메이션은
joint_Shaft_Holder5이므로
joint_Shaft_Holder5에 할당해준다.
그러면 이렇게 구조에서 빠지고 맨 아래(이름순)로 위치하게 된다.
당황하지 않고 그 아래 Shaft_Top2도 할당해준다? 그렇지 않다.
여기에는 애니메이션도 없기 때문이다.
여기까지 할당을 완료했으면
앞서 한대로 모든 트랜스폼의 위치 값을 0으로 돌려준다.
시퀀스에서 재생하여 확인해보면
멀리 떨어져있거나 회전값이 안 맞아 보이는 것이 있다.
이럴 땐, 메쉬의 위치를 트랜스폼의 값 만큼 움직여 준다.
그래서 중간에 끼어있는 트랜스폼이 있을 경우 이의 값을 주의해야한다.
(마야 작업시 transform 노드의 Rotation 값을 0으로 하면 최적이겠지만 불가피 했을 경우)
로테이션이 -96이니 Shaft_Holder5 메쉬를 언리얼에서도 -96해준다.
*회전팁: -=96을 값 창에서 입력하면 자동 계산 된다.
전 후 사진을 보면 샤프트 홀더가 뷰포트에서도 회전되어있음을 볼 수 있다.
*트랜스폼 위치값은 베껴오지 않아도 된다. 어차피 0을 주어야 한다.
7. 확인하기
해당 메쉬가 최상위 조인트(또는 그룹) 하위의 조인트(또는 그룹) 에 들어가 있는지 확인하기 위해서는
콘텐츠 브라우저의 스켈레탈 메시(분홍)를 더블클릭하여
스켈레톤트리에 가면 이를 확인할 수 있..을 것 같지만 그렇지 않다.
이것은 최초의 임포트 한 파일이고,
우리는 수정을 아웃라이너에서 했기 때문이다.
따라서 시퀀스 레벨을 하나 만들어서 뷰포트에서 의도한 애니메이션이 맞는지 재생하며 확인해야한다.
더 정확하게 확인하고자 하는데 방법이 있다면 포스팅 하겠다.
'일상 > 3D_Ani' 카테고리의 다른 글
Maya Rigging_IK핸들 고치기_원하는 방향으로 (0) | 2023.10.17 |
---|---|
언리얼5 무비렌더큐 배경알파빼기 (0) | 2023.09.03 |
패스 선 삐져나옴 수정 (0) | 2023.06.20 |
패스에 브러쉬 입히기 (0) | 2023.06.20 |
포토샵에 새 브러쉬 넣기 (0) | 2023.06.20 |
댓글