참고로 브알챗 공식 라이브스트림(아바타 7만 폴리 풀린다는 얘기한 그 스트림)에선
"너클콘(인덱스 컨트롤러) 테스트는 해봤지만 아직 말할 수 있는 것은 없다"라고 말했음
그 말은 즉 나온 즉시 완벽지원 될 가능성은 없다고 봐도 무방함
최악의 경우엔 출시 직후엔 인덱스 컨트롤러 썼다가 조작 1도 안되는 사태도 발생 가능
그렇다면 만약 브알챗이 너클콘 지원을 넣는다면 어떤 식으로 넣을까 상상해봄
1. 손가락 각각 구부리는 애니메이션을 만들어서 넣게 함.
현재 왼손과 오른손에서 핑거포인트에 해당하는 조작을 넣으면 핑거포인트가 나가듯이
애니메이션 키로 손가락 딱 하나씩 구부리는 애니메이션을 각각 넣게 하는거
모든 손을 다 구부리는 조작을 넣으면 손가락 다섯개의 애니메이션이 동시에 들어갈거고 주먹을 쥐게 되겠지.
이러면 "손가락을 어중간하게 구부리거나 하는 건 안되는거임?" 하는 질문이 올 수 있는데
이미 VR챗에 fist 애니메이션은 그 어중간하게 구부리는 걸 지원함.
오큘러스의 트리거를 살살 당기면 어중간한 주먹을 볼 수 있음. (바이브는 안써봐서 모름)
피스트에 표정 넣으면 표정 이상하게 나가는 경우가 많은 게 그래서 그럼. 어중간한 표정도 나감.
단 이런 식으로 하면 아바타 애니메이션 넣는 방식 자체를 바꿔야하고,
표정도 손가락당 하나씩 넣을 수 있을테니 다섯개밖에 안됨.
기존 아바타랑 호환이 안될테고, 그걸 다 폐기할 수도 없는 일이니
VRCSDK에 인덱스 컨트롤러 전용 컴포넌트를 추가하는 식으로 만들게 될 거임.
아니면 커스텀 스탠딩 애니메이션/커스텀 시팅 애니메이션/커스텀 스탠딩 애니메이션(인덱스)/커스텀 시팅 애니메이션(인덱스)
이렇게 할 지도 모름
2. 손가락 움직임을 클라이언트에서 감지해서, 손가락 모양을 하고 있는지 추측해서 내게 함
현 아바타랑 가장 지원이 잘 될만한 방법. 만약 인덱스 컨트롤러로 OPENHAND를 하고 있다면
(모든 손을 피고 있는 것으로 추정되는 입력값을 받으면), 아바타의 OPENHAND 애니메이션을 내게 하는 것.
이건 이런 식으로 지원패치만 들어오면 기존 아바타랑 전혀 문제없이 호환됨.
문제는 이게 깔끔하게 구현이 잘 될지 모르겠음. 손가락을 빡빡하게 안하고 적당하게 입력해도 나가도록 해야함.
둘째는 이렇게 하면 손가락 하나 하나의 움직임을 그대로 따라하는 인덱스 컨트롤러의 의미가 상당히 퇴색된다는거.
사실상 오큘러스 터치를 에뮬레이트하는 장치가 되는거니까.
3. 손가락은 인덱스 컨트롤러 그대로. 표정은 그 손가락 보고 추론하도록.
사실상 가장 좋은 방법인데 딱 봐도 제일 어려워 보임. 제 3의 방법으로 1+2를 합쳐서,
손가락은 손가락 애니메이션의 손가락 관절 애니메이션 키를 완전히 무시하고
인덱스 컨트롤러에서 입력값 받는대로 그대로 움직이는대로 덮어쓰게 하되,
쉐이프키나 다른 애니메이션은 표정에서 넣은대로 나가게 하는 거임.
이러면 기존 아바타랑 호환성 문제도 없고, 인덱스 컨트롤러의 장점도 살릴 수 있음.
이것도 여전히 문제는 있는데 아바타 손가락 관절의 움직임은 3D 모델마다 다르고
인덱스 컨트롤러에서 이쁘게 나간 입력값이 아바타 관절 차이 때문에 이상하게 보일 수 있다는 것임
(다른 아바타 손가락 애니메이션 키 그대로 갖다 쓰면 이상해지듯이)
3줄요약 :
인덱스 컨트롤러 나와도 VR챗 지원하려면 시간 좀 걸릴 것임
VR챗에서 지원 시작해도 생각한 것만큼 완벽하게 지원하긴 힘들 것임(나는 오큘유저라는뜻ㅎ)
정말 정말 완벽하게 지원한다고 하더라도 아바타 만드는 사람들 또 유니티 켜야함 ㅎ