繁体   English   中英

使用搅拌机改变材质颜色与蟒蛇

[英]Use blender change material color with python

我有一个关于搅拌机的模型,有一个多材质的物体(名称为 car_AudiA8),我想从物体(“car_AudiA8”)中复制一个新物体,然后更改新物体的颜色,旧物体的颜色不受影响,我的方法是:

obj = bpy.data.objects["car_AudiA8"]
mesh = obj.data
new_obj = bpy.data.objects.new("car_AudiA8", mesh)
bpy.context.scene.objects.link(new_obj)
bpy.ops.object.make_single_user(object = True, obdata = True, material = True,texture = True )
for slot in bpy.data.objects[new_obj.name].material_slots:
    if (slot.name.startswith("carpaint.Black")):
        bpy.data.materials[slot.name].diffuse_color = (1,0,0)

注意: material("carpaint.Black") 可以控制汽车的颜色。

看起来您正在修改现有的“carpaint.Black”材质,这会影响使用该材质的所有对象。 相反,尝试为该插槽分配新材质

for slot in bpy.data.objects[new_obj.name].material_slots:
    if (slot.name.startswith("carpaint.Black")):
        new_mat = bpy.data.materials.new(name="carpaint.NewRed")
        new_mat.diffuse_color = (1,0,0)
        slot.material = new_mat

我不确定这是否会按原样工作,但是您明白了。 您最好复制黑色材料,而不是从头开始创建新材料。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM