javascript - 使用 Three.js 加载 STL 文件时出错

标签 javascript three.js

我想使用 Three.js 显示 STL 文件的预览。我遵循了以下教程,因为这正是我所需要的:

Tutorial

我在以下行中收到一个名为 undefined is not a function (near '...loader.addEventListener...') 的错误:

    var loader=new THREE.STLLoader();
    loader.addEventListener('load', function (event){
    var geometry=event.content;
    var material=new THREE.MeshLambertMaterial({ ambient: 0xFBB917,color: 0xfdd017 });
    var mesh=new THREE.Mesh(geometry, material);
    scene.add(mesh);});

我还正确包含了所有文件,我的代码有什么问题,或者是否有其他方法可以使用 JavaScript 简单预览 STL 文件?

最佳答案

看起来该教程是用旧版本的 Three.js 编写的。对于较新的版本,加载 STL(和其他模型格式)时,您必须使用 .load 函数:

var material = new THREE.MeshLambertMaterial({ ambient: 0xFBB917,color: 0xfdd017 });

var loader = new THREE.STLLoader();
loader.load( './models/stl/slotted_disk.stl', function ( geometry ) {
  scene.add( new THREE.Mesh( geometry, material ) );
});

STLLoader.js:L18-30

关于javascript - 使用 Three.js 加载 STL 文件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48140438/

相关文章:

javascript - 刷新表格而不刷新整个页面以显示更新的数据

javascript - Hammer.js 分别识别收缩和旋转

javascript - 使用 jQuery/javascript 更改 html 文本

reactjs - 以编程方式更改 gltf 导入网格的 Material - react 三纤维

typescript - 三个JS中如何动态改变顶点颜色

javascript - Three.js:无法使用 THREE.ExtrudeGeometry 打洞(切割)线形状

javascript - 删除运算符不适用于原型(prototype)属性

javascript - 翻译单页应用程序

javascript - 基于 Three.js 中新枢轴的对象动画旋转

javascript - 如何将平移/旋转/缩放工具添加到我的 Threejs 场景中?