GLTFLoader全局变量未定义

时间:2018-11-04 13:38:41

标签: three.js gltf

我正在学习三个js,并尝试在three.js r98中为gltf对象旋转设置动画。但是我收到一个控制台错误:变量obj未定义,但是在初始化脚本之前在顶部声明了该变量,因此它应该是全局权限。我不明白为什么这不起作用。如果我使用intern,它可以工作。但是,如果还有其他不应旋转的对象,这将没有用^^。变量模型具有相同的错误。使用MLTD加载程序,它可以工作:Loop Rotation on any axis for a 3D obj Three js。我尝试使用scene.rotation.y += 0.01;而不是gltf.scene,但是有相同的错误。

非常感谢您的帮助。

gltf.asset

1 个答案:

答案 0 :(得分:1)

问题在于obj仅在onLoad()的{​​{1}}回调触发时设置。由于这是以异步方式发生的,因此应将以下代码行放入GLTFLoader.load()函数中以解决问题。

animate()