import bpy
print()
print()
# 遍历场景中的所有物体
for obj in bpy.data.objects:
# 检查物体是否为网格
if obj.type == 'MESH':
# 计算物体的面数
face_count = len(obj.data.polygons)
# 如果面数大于 xxx,则进行减面操作
if face_count > 800:
print(f"物体 {obj.name} 的面数为:{face_count}")
# 选中物体
bpy.context.view_layer.objects.active = obj
obj.select_set(True)
# 切换到编辑模式
# bpy.ops.object.mode_set(mode='EDIT')
# 添加 Decimate 修改器
bpy.ops.object.modifier_add(type='DECIMATE')
# 设置 Decimate 修改器的参数
bpy.context.object.modifiers["Decimate"].ratio = 0.4
# 应用 Decimate 修改器
bpy.ops.object.modifier_apply(modifier="Decimate")
# 切换回物体模式
# bpy.ops.object.mode_set(mode='OBJECT')
face_count_after = len(obj.data.polygons)
print(f"减面后: {face_count}")
print()