【发布时间】:2021-02-07 05:18:59
【问题描述】:
我正在使用 STLLoader 将 STL 文件加载到 three.js 中,并且我想在调用加载器后获取模型的顶点(和几何形状)以供进一步使用。我怎样才能做到这一点?我当前的代码如下,但调用加载程序后我无法获取几何图形。
var loader = new THREE.STLLoader();
var myModel = new THREE.Object3D();
loader.load("myModel.stl", function (geometry) {
var mat = new THREE.MeshLambertMaterial({color: 0x7777ff});
var geo = new THREE.Geometry().fromBufferGeometry(geometry);
myModel = new THREE.Mesh(geo, mat);
scene.add(myModel);
});
console.log(myModel.geometry.vertices)
【问题讨论】:
-
在回调函数结束时调用
console.log(myModel.geometry.vertices)。加载是异步的,因此您在对象尚未下载时尝试访问属性。 -
非常感谢,请问有下载模型后访问属性的方法吗?
-
您可以在回调函数中执行此操作。或者,一般来说,首先加载您需要的所有资源,然后使用它们进行处理。
标签: javascript three.js