воспроизводить отдельные анимации в threejs

Я экспортировал модель (с несколькими анимациями) из 3ds max и в конечном итоге перевел ее в JSON. Однако все мои анимации разбиты в одну анимацию. Есть ли способ в threejs воспроизводить только определенный диапазон кадров, или мне нужно сделать экспорт из 3ds max для каждой отдельной анимации? Спасибо, Дэвид


person Ron Stevenson    schedule 18.02.2015    source источник
comment
Ударяться. Тоже ищу решение :(   -  person Andrew Dunai    schedule 19.03.2015


Ответы (1)


есть два типа анимации. Я использую морфинг сетки при экспорте из Blender. Мой полученный json имеет эту строку:

"morphTargets" : [{ "name": "animation_000000", "vertices": [...

затем я загружаю его с помощью MorphAnimMesh:

mesh = new THREE.MorphAnimMesh( geometry, new THREE.MeshFaceMaterial( materials ) );

после загрузки я устанавливаю анимацию бездействия по умолчанию:

mesh.duration = 4000; //4 seconds whole animation?
mesh.setFrameRange(1,50);

затем в каком-то событии я просто меняю диапазон анимации следующим образом:

mesh.setFrameRange(51,80);

если вы используете анимацию костей и скинов, ваша модель json заканчивается линиями

"animations" : [...
"bones": [...

я не использовал это, поэтому попробуйте этот учебник: http://code.tutsplus.com/tutorials/webgl-with-threejs-models-and-animation--net-35993

также это аналогичный вопрос: Как мне обрабатывать анимированные модели в Three .js?

person pera    schedule 23.03.2015