2015-11-30 8 views
0

Я делаю первые шаги с помощью JavaScript и играю с Three.js.Загрузите анимацию Blender в Three.js с помощью экспортера Three.js (JSON)

Я учусь, как экспортировать и загрузить анимацию в Blender, чтобы Three.js и сделать это, я использую этот пример с веб-сайта three.js: http://threejs.org/examples/#webgl_morphtargets_horse

Я сделал анимацию в Blender (http://s000.tinyupload.com/?file_id=07429365581548704592) и когда Я экспортирую его и загружаю его в Three.js, используя тот же код, который он не запускает.

Знаете ли вы, почему я не вижу анимацию? Я не знаю, является ли это ограничением экспортера, или это проблема моей анимации.

Спасибо

ответ

1

Проведя много часов, пытаясь получить Blender анимации, работающую с текущей версией three.js это мой вывод, что это функционально, если не совсем невозможно.

I posted a question здесь об этом некоторое время назад. В итоге мне пришлось ответить на свой вопрос. Я рассказываю о свертках, которые вы должны пройти, чтобы получить один из примеров (самый простой), который работает из файла .blend, поставляемого с самим тэгом.

Официальные примеры и документация рекомендуют использовать ObjectLoader для загрузки экспорта из Blender, но это не работает с текущей системой анимации three.js. В новом анимационном материале используются экранированные сетки, и если вы посмотрите на источник ObjectLoader (src/loaders/ObjectLoader.js), вы увидите, что у него нет никакой логики, использующей THREE.SkinnedMesh. Новый анимационный микшер, THREE.AnimationMixer, не рассматривается в официальной документации three.js.

Далее, экспортер Blender, в зависимости от того, как вы смотрите на него, либо очень сломанный, либо просто сломан. Я подробно расскажу об этом в вопросе, который я связал выше, но, например, экспортер изменяет состояние модели: вам нужно перейти в режим позы, выбрать все свои кости, Alt-G и Alt-R, чтобы сбросить их до режим ожидания, затем выберите сетку и перейдите в режим объекта до экспорта, а экспорт преобразует все кости назад, поэтому, если вы просто экспортируете и затем сразу же экспортируете, например, вы получите непоследовательные результаты.

Из всего этого я пришел к выводу, что импортирование анимации Blender в three.js эффективно, если не полностью нарушено, поэтому, если вы работаете над проектом для немедленной реализации, вам нужно либо сменить конвейер, чтобы не использовать Blender, либо изменить конец рендеринга не использовать three.js.

+0

К сожалению, я должен сказать, что вы правы. Код анимации немного выйдет из-под контроля. К настоящему времени я сосредоточен на новом ColladaLoader, поэтому, даже если он не очень эффективен, по крайней мере, у нас будет рабочий процесс. – mrdoob

+0

Так что практически это означает, что нет возможности загрузить мою анимацию с помощью Three.js? – gnazoa