Blender Python Material 搜索

Blender Python Material search

如何让脚本将字符串与所有材料的名称进行比较?以下代码不起作用:

for i in len(bpy.data.materials):
    if str(color) == bpy.data.materials[i].name:
        mat = bpy.data.materials[i]
        mesh.materials.append(mat)
        break

错误:

TypeError: 'int' object is not iterable (line 1)

谢谢。

第一行需要改为for i in range(len(bpy.data.materials)):

或者,您可以改为编写以下内容:

for mat in bpy.data.materials:
    if str(color) == mat.name:
        mesh.materials.append(mat)
        break