我自己教自己WebGL是为了一个我想要工作的项目,但我对Three.js的所有漂亮功能都很陌生。
我有一个STL对象,我正在使用STL加载器导入3-D Viewer。现在,我希望能够更改该对象的不透明度,并且还可以删除该对象的某些特征以查看STL图像的内部。如何更改对象的不透明度,也许创建一个按钮来更改不透明度。我该怎么办?
另外,如果可能(因为加载的模型由几个部分组成)删除某些结构?也许在侧面有一个工具栏,即第1部分,第2部分,第3部分,每个部分,你只看到那个部分。
非常感谢!! :D
答案 0 :(得分:1)
在代码中的某个时刻,您必须使用STLLoader加载STL文件。由于STL文件没有材料,您可以添加如下材料定义:
var material = new THREE.MeshPhongMaterial ({ color: 0xFF0000 });
var mesh = new THREE.Mesh (object, material);
其中object是从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。