You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Blender 3.4+如何通过脚本将新Mix节点连接到其他节点

Blender 3.4 新Mix节点输入连接问题解决方法

Blender 3.4引入了整合型的ShaderNodeMix节点,将浮点、向量和颜色操作合并到单个节点中。但沿用旧版ShaderNodeMixRGB的索引方式连接输入时会失效。

旧版MixRGB节点的有效连接方式

此前使用ShaderNodeMixRGB时,我们可以通过索引[1]来连接Color1输入:

mix_RGB_node = mat.node_tree.nodes.new(type='ShaderNodeMixRGB') # 创建MixRGB节点
texture_node = mat.node_tree.nodes.new(type='ShaderNodeTexImage') # 创建纹理节点
mat.node_tree.links.new(texture_node.outputs['Color'], mix_RGB_node.inputs[1]) # 将纹理颜色输出连接到Mix节点的Color1输入

新Mix节点的连接问题

直接将索引方式套用在ShaderNodeMix节点上无法生效,即使先设置data_type='RGBA'也不行:

mix_RGB_node = mat.node_tree.nodes.new(type='ShaderNodeMix') # 创建新Mix节点
mix_RGB_node.data_type = 'RGBA'
texture_node = mat.node_tree.nodes.new(type='ShaderNodeTexImage') # 创建纹理节点
mat.node_tree.links.new(texture_node.outputs['Color'], mix_RGB_node.inputs[1]) # 此方式无效

解决方法

新Mix节点的输入套接字会根据data_type动态生成,使用套接字名称而非索引来连接是更可靠的方式。当data_type='RGBA'时,对应的颜色输入名称为Color1和Color2,修改代码如下:

mix_node = mat.node_tree.nodes.new(type='ShaderNodeMix')
mix_node.data_type = 'RGBA'
texture_node = mat.node_tree.nodes.new(type='ShaderNodeTexImage')
# 使用名称引用输入套接字
mat.node_tree.links.new(texture_node.outputs['Color'], mix_node.inputs['Color1'])

如果一定要使用索引,需要注意新Mix节点的输入顺序:索引0是Fac(混合因子),索引1对应Color1、索引2对应Color2。但推荐使用名称连接,避免因节点后续更新或参数变化导致索引错位。

内容的提问来源于stack exchange,提问作者Nazmul Islam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 17:27:28