我正在为要从事的项目自学WebGL,但是我对Three.js的所有漂亮功能还是比较陌生的。

我有一个STL对象,我正在使用STL加载器将其导入3-D Viewer。现在,我希望能够更改该对象的不透明度,并且还可能删除该对象的某些功能以查看STL图像的内部。如何更改对象的不透明度,也许创建一个按钮来更改不透明度。我该怎么做?

另外,如果可能的话(由于加载的模型由几个部分组成),是否要删除某些结构?也许旁边有一个工具栏,上面有第1部分,第2部分,第3部分,对于每个部分,您只看到该部分。

非常感谢!! :D

最佳答案

在代码中的某些时候,您必须已经使用STLLoader加载了STL文件。并且由于STL文件没有材料,因此您应该添加材料定义,如下所示:

var material = new THREE.MeshPhongMaterial ({ color: 0xFF0000 });
var mesh = new THREE.Mesh (object, material);


从addEventListener函数中的event.target分配对象的位置,因为这是加载STL文件的方式。您可以将材料定义更改为:

var material = new THREE.MeshPhongMaterial ({ color: 0xFF0000, opacity: 0.5, transparent: true });
var mesh = new THREE.Mesh (object, material);


获得红色透明材料。您不必使用Phong,也可以使用LambertMaterial。

关于javascript - 如何在three.js/WebGL中更改STL对象的不透明度?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14856339/

10-11 22:22
查看更多