Estoy cargando un objeto FBX en la escena
const loader = new FBXLoader();
loader.load( '{{asset('models/model.fbx')}}', function ( logo ) {
scene.add( logo );
logo.position.y = 0;
logo.position.x = 0;
logo.position.z = 0;
logo.updateMatrix();
});
Dado que el "logotipo" es un objeto FBX cargado asíncrono, no puedo acceder a sus propiedades fuera de la función del cargador.
¿Cómo logro que sus atributos como posición, rotación, etc., sean accesibles fuera del cargador?
Ya intenté poner cualquier cosa (incluida la función animate()) en el cargador, pero parece que no es la forma "limpia"...
Considere utilizar el patrón async/await en su aplicación, lo que hace que el código sea más fácil de entender. Y más limpio.
const loader = new FBXLoader();
const logo = await loader.loadAsync( '{{asset('models/model.fbx')}}' );
scene.add( logo );
Observe el uso de loadAsync() que está disponible para todos los cargadores. Lo más probable es que tenga que refactorizar su código para que la nueva await
no rompa su aplicación. Puede evitar esto haciendo que el método/función circundante sea async
.