Я загрузил модель glTF с помощью загрузчика three.js glTF. Хотя объект центрирован в начале координат (0, 0, 0), он, кажется, вращается вдоль кривой круга на плоскости x .
Это изображение модели до того, как она начнет вращаться. Обратите внимание, что это на происхождение. Вот GIF-файл о том, как он вращается после добавления mesh.rotation.y += 0.01;
к коду.
Визуальное представление того, что я получаю, и того, что я ищу:
Мне удалось отцентрировать объект с помощью этого решения , но, похоже, он не исправляет вращение. Ограничительная коробка:
var loader = new THREE.GLTFLoader();
loader.load( 'model/empire_vase/scene.gltf', function ( gltf ) {
mesh = gltf.scene;
gltf.scene.traverse( function ( child ) {
} );
var box = new THREE.Box3().setFromObject( mesh );
box.center( mesh.position );
mesh.position.multiplyScalar( - 1 );
var pivot = new THREE.Group();
scene.add( pivot );
pivot.add( mesh );
var axesHelper = new THREE.AxesHelper( 100 );
scene.add( axesHelper );
} );
Rotation:
function animate() {
if (mesh) {
mesh.rotation.y += 0.01;
}
requestAnimationFrame( animate );
renderer.render( scene, camera );
}
Модель была взята из Sketchfab / Geoffrey Marchal , но я заметил эту проблему с другими моделями Sketchfab. Заранее спасибо!