Three.js Js如何访问OBJMTLLoader外部的对象

Three.js Js如何访问OBJMTLLoader外部的对象,three.js,Three.js,有人知道如何访问OBJMTLLoader之外的对象吗 var loader = new THREE.OBJMTLLoader(); loader.load( obj, mtl, function ( object ) { object.position.set(0,0,0); scene.add( object ); }); console.log(object); 函数objects的内部=3.Object3D,但外部等于do ObjectLoad 谢谢大家。对象只是在未定义函数的范围内

有人知道如何访问OBJMTLLoader之外的对象吗

var loader = new THREE.OBJMTLLoader();
loader.load( obj, mtl, function ( object ) {
object.position.set(0,0,0);
scene.add( object );
});

console.log(object);
函数objects的内部=3.Object3D,但外部等于do ObjectLoad


谢谢大家。

对象只是在未定义函数的范围内

设置函数以返回对象

var loader = new THREE.OBJMTLLoader();
loader.load( obj, mtl, function ( object ) {

object.position.set(0,0,0);

return object;//here
});

scene.add( object );
console.log(object);

只是在加载器函数作用域之外声明一个变量?我已经尝试过了,但没有成功。变量似乎未定义。当然,因为加载是异步的,在加载obj之前它将未定义。你必须检查“如果(对象!==未定义),然后对对象执行操作,这当然只能在(游戏)循环中完成。