gpt4 book ai didi

three.js - ThreeJS 中的不透明度没有在 Material 上设置不透明度

转载 作者:行者123 更新时间:2023-12-02 00:38:32 24 4
gpt4 key购买 nike

我想设置从 blender 导入的网格的不透明度。

var weapons = imported_scene.getObjectByName("weapons");
weapons.material.opacity = 0.5;
weapons.material.transparent = true;

问题:这个网格的 Material 也用于另一个网格,因此另一个网格也获得了不透明度。

原因:我在 Blender 中创建了一个场景(有两个网格)。导出的 JSON 将使用 ObjectLoader 导入。出于性能原因,两个网格使用相同的纹理文件。

有什么办法吗?

非常感谢!

最佳答案

您需要制作两种 Material ,以便一种透明而另一种不透明,但您可以在不加载相同纹理文件两次的情况下执行此操作。最简单的方法是克隆 Material :

var weapons = imported_scene.getObjectByName("weapons");
weapons.material = weapons.material.clone();
weapons.material.opacity = 0.5;
weapons.material.transparent = true;

参见 THREE.Material docs .三.js r89.

关于three.js - ThreeJS 中的不透明度没有在 Material 上设置不透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48230242/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com