Я разрабатываю VR-игру, в которой вы можете выбирать между несколькими персонажами и, следовательно, вам нужны разные модели рук. Целевыми платформами являются Meta Quest 2, а также PCVR, и я хочу поддерживать функцию отслеживания рук Quests.
Вот что я хочу, дальше то, что я сделал до сих пор:
В идеале я могу представить, что это выглядит так:
palm
, thumbLower
, thumbUpper
, indexLower
, indexMiddle
, indexUpper
и т. д.relaxed
, fist
, indexFingerPointing
.relaxed
(без триггера, без захвата), indexFingerPointing
(без триггера, но нажата ручка). ) и fist
(спусковой крючок и рукоятка нажаты)Вот что я сделал:
При поиске пакетов Unity я нашел XR Interaction Toolkit
и XR Hands
, которые я использую в версиях 2.3.0 и 1.1.0 соответственно.XR Hands
поставляется с HandVisualizer, который является отличной отправной точкой, но у меня возникают проблемы с использованием моделей рук, отличных от тех, которые входят в комплект. Это были шаги:
RightHand.fbx
, который поставляется с пакетом XR Hands
в блендере (он поставляется с арматурой, которая, я думаю, имеет определенную схему именования, поэтому я хотел ее скопировать)GlovesHandRight
GlovesHandRight
арматуру, но сохранил сетку и удалил RightHands
сетку, но сохранил арматуруRightHands
арматуры, чтобы они соответствовали GlovesHandRight
GlovesHandRight
, затем арматуру и выбрал "с автоматическими весами"В режиме позы я вижу, как сетка деформируется, когда я двигаю кости.
И в объектном режиме иерархия сцен выглядит точно так же, как в исходном RightHand.fbx
файле.
После экспорта файла в FBX и использования его со скриптом HandVisualizer
вместо оригинального RightHand.fbx
я получаю сообщение об ошибке:
Hand transform hierarchy not set correctly - couldn't find Wrist joint!
Hand transform hierarchy not set correctly - couldn't find ThumbMetacarpal joint!
Hand transform hierarchy not set correctly - couldn't find IndexMetacarpal joint!
Hand transform hierarchy not set correctly - couldn't find MiddleMetacarpal joint!
Hand transform hierarchy not set correctly - couldn't find RingMetacarpal joint!
Hand transform hierarchy not set correctly - couldn't find LittleMetacarpal joint!
all at
UnityEngine.XR.Hands.Samples.VisualizerSample.HandVisualizer:Update () (at Assets/Samples/XR Hands/1.1.0/HandVisualizer/Scripts/HandVisualizer.cs:144)
Поскольку я новичок в блендере (именно поэтому вышеизложенное заняло у меня около 3 часов), любой вклад в отношении того, что может вызвать проблему, очень ценится, а также любой вклад в то, как подойти к этой проблеме по-другому, спасибо
Я обнаружил, что проблема просто в том, что блендер добавляет дополнительную корневую кость при экспорте в FBX, поэтому я попробовал этот пользовательский экспортер fbx https://github.com/A-Ribeiro/CustomBlenderFBXExporter, и теперь я могу видеть пользовательский руки работают с отслеживанием рук Quest 2, так что я считаю, что это решено