Tips – 删除 Softimage 场景中大量的无用材质

作者 xdxu 发布于 . 分类 Softimage, Tips

如果场景中有大量的无用材质(例如从 CAD 中导入的场景,可能会有上千个材质),使用 material manager 来删材质,肯定会死机(对于其它软件也一样,如果要打开材质编辑器,光 load 这些材质球就会崩溃)。可以使用以下 python 脚本:

import time

start = time.clock()

import win32com.client
oObj = win32com.client.Dispatch( "XSI.Collection" )
oObj.Items = 'Sources.Materials.DefaultLib.所需删除材质名中的相同部分*'
print oObj.count

Application.SetValue("preferences.General.undo", 0, "")

for mat in oObj:
Application.DeleteObj(mat)

Application.SetValue("preferences.General.undo", 50, "")

end = time.clock()

Application.LogMessage( round( end - start, 3) )