2015-04-07 2 views
0

im using three.js revision 71.
Я экспортировал модель из блендера, у которого есть 2 анимации.Невозможно воспроизвести скелетную анимацию вообще

здесь код им с помощью (кроме родового материала сцены):

//THE CYLINDER 
loader.load("flipping cylinder.json",function(geometry,materials) 
{ 
    var material=new THREE.MeshLambertMaterial(); 
    flipcyl=new THREE.SkinnedMesh(geometry,material); 
    scene.add(flipcyl); 

    anim=new THREE.Animation(flipcyl,flipcyl.geometry.animations[0]); 
}); 

//UPDATE AND RENDER 
function render() 
{ 
    requestAnimationFrame(render); 

    var delta=clock.getDelta(); 
    THREE.AnimationHandler.update(delta); 

    renderer.render(scene,camera); 
} 
render(); 

я также это в HTML части:
<button onclick="anim.play();">play</button>

все делает хорошо, но ничего не кажется, изменится, когда нажав кнопку, или когда я ввожу anim.play() в консоли.

(пожалуйста, прости меня за любые ошибки английского - им не носителем английского языка ...)

ответ

1

Вы просто должны добавить эту строку при загрузке:

material.skinning = true; 

И это все! ;)

+0

Кроме того, у меня такой же сценарий (2 анимации), но экспортер дает две анимации, которые имеют одни и те же данные (я сравнил их в json-файле с инструментом). Я имею в виду, что одна и та же анимация экспортируется дважды. У тебя та же проблема? – yombo

+0

Ух ты! Большое спасибо! Ты полностью спас меня! =) –

+0

Во всяком случае, нет, у меня не было этой проблемы, у моих 2 анимаций есть разные данные ... –

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