아바타는 booth 홈페이지에 있는 셀레스티아 아바타 구매하여 사용했습니다.
→셀레스티아 아바타
→셀레스티아 아바타 페이셜 트래킹 세팅
1. 오큘러스 기기 환경설정 세팅(핸드트래킹 및 페이셜 트래킹을 사용하지 않을 경우에는 1.2부터 보시면 됩니다.)
1.1 핸드트래킹 및 페이셜 트래킹 위한 환경설정
==>오큘러스 기기내 환경설정에 들어가서 움직임 추적을 눌러줍니다.
==>페이셜 트래킹 및 핸드트래킹을 위해 왼쪽 메뉴들을 들어가 알맞게 설정을 해 줍니다.
1.2 IOBT를 위한 사용자의 키 설정
==> 환경설정에서 실제 공간 메뉴를 선택하고, 바닥 높이를 설정을 눌러 설정을 해줍니다.(사용자의 키가 다 다르기 때문에 키를 받아옵니다. 이 바닥높이를 제대로 설정해 주지 않으면, 사용자가 서있어도 계속 앉아있는 모습을 유지할 것입니다.)
2. 사전 커스텀 아바타 세팅
주의점!!!!!!
아바타의 Animation Type이 Humanoid 타입이어야 합니다.
IOBT는 Unity Humanoid의 타입을 가지고 리타게팅을 하기 때문에 Animation Type이 Humanoid이어야 합니다.
==>기존 아바타의 Model의 Scale Factor이 기본적으로 1.0으로 적용이 되어있을 것입니다. IOBT 셋팅이 끝나고 실행을 해보면서 아바타의 리타게팅이 되어있는 모습을 보면서 Scale Factor을 조절하면서 제일 어색하지 않는 Scale로 설정해주시길 바랍니다. (셀레스티아 아바타를 사용할때 가장 아바타가 자연스럽게 보이는 Scale Factor은 1.1이었기 때문에 1.1로 설정해준 모습)
3. 아바타 세팅
==>아바타를 씬에다가 배치를 합니다. 셀레스티아 아바타는 위 사진과 같이 구성이 되어있습니다.
==>아바타 fbx또는 프리펩을 선택 후 오른쪽 버튼클릭
Movement Samples -> Body Tracking -> Animation Riggin Retargeting(full body) (constraints)를 선택해 줍니다.
==>그러면 아바타 오브젝트에 Rig라는 새로운 오브젝트가 추가되고, 아바타 오브젝트에 Retargeting Layer,OVR Body등 컴포넌트들이 추가된 모습을 볼 수 있습니다.
동시에 아바타의 Animator에 Apply Root Motion 옵션이 활성화가 되어있다면 비활성화 해주시길 바랍니다.
==>Retargeting Layer에서 Update Root Pose를 선택 해 줍니다.
==> 아까 아바타 안에 생성된 Deformation 오브젝트에 들어가서 Full Body Deformation Constraint가 Accurate Hips And Head로 기본으로 설정이 되어있을텐데, 이 설정값은 사람마다 엉덩이와 머리 위치의 관계가 추적된 사람 위치와 매우 다를 수 있으므로 이 설정이 필요합니다.
기본으로 설정되어 있는 값은 머리와 엉덩이 두 부분 기준으로 캐릭터의 비율이 조정되기를 원한다는 값인데 이 값으로 설정을 한다면 몸통 비율의 일부가 손상이 됩니다.
따라서 저희는 위에서 설정한 것 처럼 엉덩이를 기준으로만 캐릭터 비율을 조정하도록 하겠습니다.
자 이제 메타 퀘스트 기기를 착용하고 한번 플레이를 해보겠습니다!!!!!!!!!!!!!!!!!!!!!!
==>위에 영상을 보시면 사용자의 움직임을 따라서 위치이동, 손가락 움직임, 페이셜 트래킹도 되는 모습을 볼 수 있습니다!!!!!!!
이 기술을 잘 활용하고 더 업그레이드 된다면, VR Locomotion의 고질적인 문제인 멀미, 캐릭터와 유저의 이질감을 해결 할 수 있다고 생각합니다!
다음 포스팅은 간단한 페이셜 트래킹 및 포톤 서버를 이용해 페이셜 트래킹 및 IOBT연동법을 포스팅 하겠습니다.
글 내용 중에 틀린 것이 있거나 궁금한 것이 있다면 댓글 남겨주세요! 봐주셔서 감사합니다!