PyMel修改Maya全局动画偏好无效果问题求助
问题:Maya全局动画偏好修改不生效的原因及解决办法
嘿,我知道问题出在哪了——你用的pm.keyTangent(g=True)命令其实是在修改已选中的关键帧的全局切线设置,而不是Maya的默认动画偏好(也就是新建关键帧时会自动套用的那些预设值)。这就是为什么你运行代码没报错,但全局偏好没变化的原因。
正确的解决方案
要修改Maya的全局默认动画偏好,得用专门的animationPreferences命令,它才是负责控制Maya动画默认设置的工具。下面是修改后的代码:
import pymel.core as pm def setBlockingPrefs(): # 配置Blocking风格的默认动画偏好 pm.animationPreferences( edit=True, defaultInTangentType='clamped', defaultOutTangentType='step', defaultTangentWeighted=True ) def setSpliningPrefs(): # 配置Splining风格的默认动画偏好 pm.animationPreferences( edit=True, defaultInTangentType='auto', defaultOutTangentType='auto', defaultTangentWeighted=True )
参数对应说明
每个参数正好对应你要修改的三个全局选项:
defaultInTangentType:对应DEFAULT IN TANGENTdefaultOutTangentType:对应DEFAULT OUT TANGENTdefaultTangentWeighted:对应DEFAULT TANGENT WEIGHT(True代表开启权重切线,False代表关闭)
验证方法
运行上面的函数后,你可以打开Maya的Window > Settings/Preferences > Preferences窗口,切换到Animation标签页,就能看到对应的默认设置已经更新了。之后新建的关键帧也会自动应用这些偏好设置。
内容的提问来源于stack exchange,提问作者Mendel Reis
相关产品推荐
相关产品推荐

