我正在尝试使用three.js和anime.js构建具有可滚动动画的网站。到目前为止,所有内容都处于工作状态(这意味着我在一个可以通过摄像头看到的空间中有一个多维数据集,当我滚动时–多维数据集和摄像头会在各个关键帧之间移动,直到其时间表结束。)是要引入一个Blender对象来替换多维数据集。THREEjs文档建议我在尝试实现此目的时使用GLTFLoader:
我收到错误:
GLTFLoader未定义。
这是它引用的代码:
var loader = new GLTFLoader();
loader.load(
'/assets/logotext.glb',
function ( gltf ) {
// called when the resource is loaded
scene.add( gltf.scene );
},
function ( xhr ) {
// called while loading is progressing
console.log( ( xhr.loaded / xhr.total * 100 ) + '% + loaded' );
},
function ( error ) {
// called when loading has errors
console.error( 'An error happened', error );
},
);
这是我将脚本包含在html中的方式:
<script src="\node_modules\animejs\lib\anime.min.js"></script>
<script src="\node_modules\three\build\three.js"></script>
<script src="\node_modules\three\examples\js\loaders\GLTFLoader.js"></script>
<script src="index.js"></script>
</body>
</html>
如果我没有足够的完整文件,可以在这里找到:index.html,index.js
如果还有其他部分,您只需要说一下即可,我可以编辑问题。
谢谢!
答案 0 :(得分:0)
var loader = new THREE.GLTFLoader();
您应该使用其父类构造函数(即“三”构造函数)实例化GLTFLoader构造函数,就像我上面显示的那样。这样可以解决问题。