Три панели анимации JS Editor не отображаются - PullRequest
0 голосов
/ 05 февраля 2019

В настоящее время я работаю с Three JS Editor для виртуальной реальности.Я нахожу его довольно полным и хорошо структурированным редактором, но мне не хватает некоторых функций на боковой панели редактора, Анимации.

Используя вкладку скрипта редактора, я смог анимировать объект GLB (GLB_Zorro.glb), используяследующий скрипт:

const mixers = [];
const clock = new THREE.Clock();
let mixer;

const loader = new THREE.GLTFLoader();
loader.load('3D/GBL_Zorro.glb', function (gltf) 
{
    const model = gltf.scene.children[ 0 ];

    const position = new THREE.Vector3( 0, 0, 0 );
    model.position.copy( position );

    const animation = gltf.animations[ 0 ];

    const mixer = new THREE.AnimationMixer( model );
    mixers.push( mixer );

    const action = mixer.clipAction( animation );
    action.play();

    scene.add( model );
});

function update() 
{
  const delta = clock.getDelta();
  mixers.forEach( ( mixer ) => { mixer.update( delta ); } ); 
}

Анимация воспроизводится правильно при добавлении скрипта в модель, но наиболее эффективный способ сделать это - наличие вкладки, где вы можете выбрать, какую анимацию вы должны воспроизводить вобъект вместо создания нового сценария вручную и присоединения его к объекту GLB.Я думаю, что эта функция должна быть реализована в боковой панели редактора простым способом.

Дальнейшие исследования кода редактора Threejs показали, что в файле Sidebar.js есть строчный код (строка 30-36), которыйкажется, что они добавляют эту функциональность, как показано в следующем коде.

var scene = new UI.Span().add(
    new Sidebar.Scene( editor ),
    new Sidebar.Properties( editor ),
    new Sidebar.Animation( editor ),
    new Sidebar.Script( editor )
);
container.add( scene );

Приведенный выше код на Sidebar.js показывает, что они добавляют анимацию на боковую панель, но добавляются только сцена, свойства и сценарий.Все показывает, кроме анимации.

Кто-нибудь может помочь мне выяснить, почему вкладка анимации не добавляется на боковую панель?

Основная ветвь редактора Threejs следующая:

https://github.com/mrdoob/three.js/  

Я бы поделился решением, если бы пришел с ним.

С наилучшими пожеланиями

...