He cargado un modelo con GLTFLoader y puedo usarlo normalmente con three.js dentro del método Loader. Sin embargo, parece que no puedo acceder a él desde fuera y no estoy seguro de por qué.
class Model { constructor(link) { this.link = link; this.gltfLoader = new GLTFLoader(); } load() { this.gltfLoader.load( this.link, (gltf) => { scene.add(gltf.scene); } ); } } const girl = new Model("/imported/girl/scene.gltf"); girl.load(); ¿Cómo puedo acceder al parámetro gltf desde fuera del cargador?
Intenté establecer un valor global pero no funciona porque es un método asíncrono y el valor siempre está undefined . Por ejemplo, configuré una variable justo antes de la clase ( let globalGLTF; ), luego, dentro del método loader.load , asigné un valor global ( globalGLTF = gltf.scene; ). Cuando llamo a esta variable desde fuera del método, siempre devuelve undefined porque el cargador es asíncrono. También creo que esta no es la mejor manera de acceder porque estoy usando una clase para cargar los modelos. Estoy tratando de encontrar una manera en la que simplemente pueda llamar a algo como girl.model y acceder al archivo GLTF. es posible?