我想设置从搅拌机导入的网格的不透明度。
var weapons = imported_scene.getObjectByName("weapons");
weapons.material.opacity = 0.5;
weapons.material.transparent = true;
Run Code Online (Sandbox Code Playgroud)
问题:这个网格的材质也用于另一个网格,因此另一个网格也获得了不透明度。
原因:我在 Blender 中创建了一个场景(带有两个网格)。导出的 JSON 将与 ObjectLoader 一起导入。出于性能原因,两个网格都使用相同的纹理文件。
有什么办法吗?
非常感谢!
您需要制作两种材质才能使一种透明而另一种不透明,但是您可以在不加载相同纹理文件两次的情况下执行此操作。最简单的方法是克隆材料:
var weapons = imported_scene.getObjectByName("weapons");
weapons.material = weapons.material.clone();
weapons.material.opacity = 0.5;
weapons.material.transparent = true;
Run Code Online (Sandbox Code Playgroud)
请参阅THREE.Material 文档。三.js r89。
| 归档时间: |
|
| 查看次数: |
654 次 |
| 最近记录: |