Проблемы с воспроизведением анимации и морфинга в GLTF при использовании three.js с несколькими микшерами

У меня есть один GLTF-файл, экспортированный из Blender с 6 анимациями и 20 целями морфа. Когда это единственный очищенный объект gltf в сцене, все играет хорошо - я могу переключаться между костяными анимами (бегать, ходить, бездействовать и т. Д.) И получать все морфинговые анимы (для выражений лица) по таймеру или запускаться по событиям, Ура.

Проблема в том, когда я представляю второй объект с кожей, такой как NPC. В этот момент начинает происходить много странностей.

Например, когда морфинг нацеливается на выражения цикла при включении / выключении объекта игрока, находящаяся рядом модель NPC уменьшается и исчезает при выключении, а затем снова увеличивается во время включения. Другой пример: во время инициализации объект NPC может случайно превратиться в экземпляр другого загруженного объекта (дерева или здания) или изредка в мини-версию какого-то случайного объекта в 10% нормальном масштабе, а затем начать быстро подпрыгивать в непредсказуемые и противоречивые способы. Я понятия не имею, что происходит.

Я подумал, что это может быть связано с загрузкой нескольких микшеров, но это то, что нужно сделать для состояния документа: "Когда несколько объектов в сцене анимированы независимо, один AnimationMixer может использоваться для каждого объекта". Если я не читаю это неправильно?

Я использую:

npcMixer = new THREE.AnimationMixer(npc);

практически то же самое, что я делаю для игрока:

playerMixer = new THREE.AnimationMixer(player);

Это плохой / ошибочный подход?

Возможно, стоит отметить: у меня были версии проигрывателя FBX и NPC, которые прекрасно работали вместе при экспорте и доступе в виде отдельных файлов. Затем я потратил много времени на преобразование в GLTF, так как это быстрее и позволяет мне обернуть все действия в один файл, который, похоже, не поддерживает экспортер FBX (Если я ошибаюсь из-за того, что FBX может экспортировать несколько действий в один файл для воспроизведения в контексте three.js, пожалуйста, дайте мне знать!).

Three.js R98

Блендер 2.79

Спасибо за любой совет.

0 ответов

Другие вопросы по тегам