我正在尝试在3Ds Max中学习MaxPlus / Python,而我却不得不创建一个世界空间修改器。 (路径变形绑定WSM修改器)
mod = MaxPlus.Factory.CreateWorldSpaceModifier(MaxPlus.ClassIds.PathDeformSpaceWarp)
MaxPlus.ModifierPanel.AddToSelection(mod)
上面的代码给出了以下错误:
File "C:\Program Files\Autodesk\3ds Max 2017\MaxPlus.py", line 30534, in CreateWorldSpaceModifier
return _MaxPlus.Factory_CreateWorldSpaceModifier(*args)
RuntimeError: creation failure
不确定为什么会发生,也许类ID错了?添加对象空间修饰符就像一个魅力。
我目前的解决方法是使用新的pymxs:
# pymxs part
rt.execute("meshObj=$")
rt.modpanel.addmodtoselection(rt.SpacePathDeform())
rt.meshObj.modifiers[0].path = rt.s
但这感觉非常黑客。有什么想法吗?
答案 0 :(得分:0)
足够近,你走了:
mod = MaxPlus.Factory.CreateWorldSpaceModifier(MaxPlus.Class_ID(0x000110b4, 0x00007f9e))
MaxPlus.ModifierPanel.AddToSelection(mod)
除了在SDK中查找#define之外,您还可以通过获取现有对象的classID属性来获取classID,例如$.modifiers[1].classID
。