MaxPlus Python - 3Ds Max - 添加世界空间修改器

时间:2016-08-11 22:00:43

标签: python 3dsmax

我正在尝试在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

但这感觉非常黑客。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

足够近,你走了:

mod = MaxPlus.Factory.CreateWorldSpaceModifier(MaxPlus.Class_ID(0x000110b4, 0x00007f9e))
MaxPlus.ModifierPanel.AddToSelection(mod)

除了在SDK中查找#define之外,您还可以通过获取现有对象的classID属性来获取classID,例如$.modifiers[1].classID