2014-12-30 2 views
2

Модель JSON была создана в Blender, и анимация была также сделана в Blender с использованием кости. Но когда я пытаюсь запустить анимацию в three.js, остальная часть сцены выложена, за исключением рыбы. Я искал ответ, но не нашел ничего, что решает мою проблему. Я следую книге «Изучение трех. Js» Джоса Дирксена. Кроме того, я новичок в three.jsАнимация модели JSON THREE.js

var loader=new THREE.JSONLoader(); 
var mesh; 
loader.load('fish_anim1.json', function (model, mat){ 
    mat[0] = new THREE.MeshLambertMaterial({color: 0x9ABF15, skinning: true}); 
    mesh = new THREE.SkinnedMesh(model, mat[0]); 

    animation = new THREE.Animation(model, model.animations); 

    mesh.position.set(0,5,0); 
    mesh.scale.x = 3; 
    mesh.scale.y = 3; 
    mesh.scale.z = 4; 
    mesh.rotation.y=Math.PI; 
    mesh.name='fish'+fish_count; 
    scene.add(mesh); 

    animation.play(); 
}); 

В визуализации цикл, добавить эту строку, чтобы обновить анимацию

THREE.AnimationHandler.update(delta); 

ответ

1

Вы близки, вы не сдадите все анимации в качестве второго параметр в THREE.Animation, вы просто передаете одну анимацию.

animation = new THREE.Animation(mesh, model.animations[0]); // EDIT: First parameter is the SKinnedMesh not geometry. 
+0

Пробовал, что. Все еще не работает. –

+0

Я отредактировал ответ, я использую «модель» в качестве имени var для своих сеток, через меня, что вы используете его для геометрии, я плохой. – Hobbes

Смежные вопросы