我在修改倾斜摄影的地形模型时候遇上了导入的FBX携带的材质金属度是1,粗糙度是0,看上去金光闪闪的,由于我不会编程,所以搜了一圈,找到一个相关文章

3dsMax导出模型到Blender后金属度变成13dmax转blender(Always)的博客-CSDN博客‍

在想修改的参数上右键有个复制数据路径,点击之后会将当前数据路径(包括属性的数字代码)复制到剪贴板,然后去随便哪个聊天软件或者文本框里粘贴就看得到了

比如我这复制的是自发光的颜色选择框,复制出来就是以下内容

以下代码复制到Blender脚本编辑器里运行就会将场景中的所有BSDF着色器节点的金属度的值修改为0;粗糙度的值修改为1,自发光颜色改为黑色,自发光强度改为0。你也可以按需修改数字来修改不同的属性的值(最好先做个测试,把项目备份一下以防万一)。

for m in bpy.data.materials:

if m.nodetree:

m.nodetree.nodes["Principled BSDF"].inputs[1].defaultvalue = 0

m.nodetree.nodes["Principled BSDF"].inputs[2].defaultvalue = 1

m.nodetree.nodes["Principled BSDF"].inputs[26].defaultvalue =(0,0,0,1)

m.nodetree.nodes["Principled BSDF"].inputs[27].defaultvalue = 0

2024/07/08

用讯飞星火大模型修改了一下代码,用blender4.1.1修改了模型材质,可以正常使用(不知道为啥我一部分模型材质里("Principled BSDF")即“原理化BSDF”是中文的,卡了一阵子,后来把“ principledbsdf = slot.material.nodetree.nodes.get("Principled BSDF")”中的("Principled BSDF")”修改为("原理化BSDF")才把用中文的材质修改了)

以下为修改场景中的所有材质:

import bpy

遍历场景中的所有对象

for obj in bpy.data.objects:

确保对象是一个网格类型

if obj.type == 'MESH':

遍历对象的材质插槽

for slot in obj.materialslots:

if slot.material and slot.material.nodetree:

查找名为"Principled BSDF"的节点

principledbsdf = slot.material.nodetree.nodes.get("Principled BSDF")

if principledbsdf:

设置节点属性

principledbsdf.inputs[1].defaultvalue = 0

principledbsdf.inputs[2].defaultvalue = 1

principledbsdf.inputs[26].defaultvalue = (0, 0, 0, 1)

principledbsdf.inputs[27].defaultvalue = 0

以下是修改场景中的活动对象的材质

import bpy

获取当前活动对象

activeobject = bpy.context.viewlayer.objects.active

确保活动对象是一个网格类型

if activeobject and activeobject.type == 'MESH':

遍历活动对象的材质插槽

for slot in activeobject.materialslots:

if slot.material and slot.material.nodetree:

查找名为"Principled BSDF"的节点

principledbsdf = slot.material.nodetree.nodes.get("Principled BSDF")

if principledbsdf:

设置节点属性

principledbsdf.inputs[1].defaultvalue = 0

principledbsdf.inputs[2].defaultvalue = 1

principledbsdf.inputs[26].defaultvalue = (0, 0, 0, 1)

principledbsdf.inputs[27].defaultvalue = 0

20240819

过去的两周,用通义千问修改了代码,有了UI面板,可以看这里:https://www.yuque.com/orangeshawn/bxzspq/vzkh5kd0plg1cx41#paLN8