В настоящее время я работаю с 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/
Я бы поделился решением, если бы пришел с ним.
С наилучшими пожеланиями