我希望使用游戏引擎实时更改飞机的透明度。我找到了这个脚本:
for x in [0,1,2,3]:
own.meshes[0].getVertex(0,x).setRGBA([1,1,1,alpha_rate])
这适用于没有附加图像的材料。不过,我现在已为其添加了 UV 纹理并附加了图像。上面的代码现在不起作用。有没有办法改变物体的alpha?
我正在使用 Blender 2.49b 和 Python 2.5.1
任何想法将不胜感激
干杯,
会
此代码不仅适用于彩色表面,也适用于纹理表面(图像纹理和程序纹理)。有趣的是,回答这个问题花了 13.5 年:)) 我在 macOS Sequoia 15.0 上的 Blender 4.2.2 中测试了这段代码。复制粘贴此代码并将其插入 Blender 的 Python 控制台中。
import bpy
materials = bpy.data.materials
for material in materials:
if material.node_tree is None:
continue
nodes = material.node_tree.nodes
for node in nodes:
if node.bl_idname == "ShaderNodeBsdfPrincipled":
node.inputs["Alpha"].default_value = 0.25
按两次 Enter 键在控制台中执行此脚本。这是我的带有
alpha = 0.25
的立方体。