使用 three.js 加载 STL 文件时出错
Posted
技术标签:
【中文标题】使用 three.js 加载 STL 文件时出错【英文标题】:Error while loading an STL file using three.js 【发布时间】:2018-06-16 20:24:02 【问题描述】:我想使用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 文件?
【问题讨论】:
【参考方案1】:看起来该教程是用旧版本的 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
【讨论】:
以上是关于使用 three.js 加载 STL 文件时出错的主要内容,如果未能解决你的问题,请参考以下文章
three.js加载stl模型文件,怎么能让模型大小一致并居中