You need to enable JavaScript to run this app. Blender 2.9如何通过Python设置材质基础色为顶点色
优惠活动
大模型
产品
解决方案
定价
更多

Blender 2.9如何通过Python设置材质基础色为顶点色

Blender 2.9 Python 绑定顶点色到材质基础色解决方案

实现逻辑

Blender的Eevee/Cycles渲染器不会默认读取网格顶点色作为材质输入,需要在材质节点树中添加顶点色属性节点,并将其输出连接到 Principled BSDF 节点的基础色输入接口。

可直接复用的代码段

将以下代码插入到你创建材质、完成材质分配的逻辑之后即可:

# 启用材质节点
mymat.use_nodes = True
# 获取 Principled BSDF 节点
bsdf_node = mymat.node_tree.nodes["Principled BSDF"]
# 移除基础色通道原有连接(可选,按需开启)
# for link in bsdf_node.inputs['Base Color'].links:
#     mymat.node_tree.links.remove(link)
# 新建顶点色属性节点
vc_node = mymat.node_tree.nodes.new(type='ShaderNodeAttribute')
# 设置要读取的顶点色层名称,默认新建的顶点色层名称为 Col
vc_node.attribute_name = "Col"
# 连接节点:顶点色输出 → 材质基础色输入
mymat.node_tree.links.new(vc_node.outputs["Color"], bsdf_node.inputs["Base Color"])

注意事项

  • 如果你自定义了顶点色层的名称,需要将vc_node.attribute_name的值修改为你自定义的顶点色层名称
  • 如果要同时关联顶点色的Alpha通道,可以额外添加一条连接,将vc_node.outputs["Alpha"]绑定到bsdf_node.inputs["Alpha"]

内容的提问来源于stack exchange,提问作者Sam Mulqueen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 04:24:05