three.js将.obj加载到变量

时间:2014-06-17 23:24:21

标签: javascript jquery three.js

刚开始使用javascript和three.js并快速查询。我已经加载了一个简单的.obj文件,如下所示:

var loader = new THREE.OBJLoader();
loader.load( 'test.obj', function ( object ) {
    scene.add( object );
} );

但是我想要一种能够稍后修改对象旋转的方法。我试过这个:

var geo;
    var loader = new THREE.OBJLoader();
loader.load( 'test.obj', function ( object ) {
            geo = object;
    scene.add( geo );
} );

所以我稍后可以更新动画循环中的geo.position.x。代码加载对象但是当我尝试更新位置时,我得到一个控制台错误:

Uncaught TypeError: Cannot read property 'position' of undefined

如何将变量未定义为在animate函数的父作用域中声明它?

可能是一个简单的答案,但我很难过!

修改

我正在使用此链接中的OBJLoader.js

http://mrdoob.github.io/three.js/examples/js/loaders/OBJLoader.js

1 个答案:

答案 0 :(得分:-1)

尝试将其设为window.variable

window.geo;
var loader = new THREE.OBJLoader();
loader.load( 'test.obj', function ( object ) {
            window.geo = object;
    scene.add( window.geo );
} );