我正在尝试使用 Python FBX SDK 编写脚本来缩放模型。我正在使用LclScaling.Set()设置比例值。但是我发现如果这个模型有关键帧,那么就不会应用缩放。所以我的问题是如何正确缩放具有关键帧的模型。这是我的代码:scale = node.LclScaling.Get()value = 0.5node.LclScaling.Set(fbx.FbxDouble3(scale[0] * value, scale[1] * value, scale[2] * value))
2 回答
潇湘沐
TA贡献1816条经验 获得超6个赞
如果您无法缩放已经具有动画关键帧的模型,它似乎在Scale
参数上具有关键帧,即使在播放会话期间缩放没有发生变化。S当用户仅对模型按下快捷方式的位置设置动画时,这可能是可能的。此快捷方式一次生成 10 个关键帧,但这里只有translation
/rotation
关键帧对您很重要。
解决方案:
手动或以编程方式删除曲线图编辑器中的冗余关键帧。
import maya.cmds as cmds
cmds.cutKey('pSphere1', time=(1,100), attribute='scaleX', option="keys")
cmds.cutKey('pSphere1', time=(1,100), attribute='scaleY', option="keys")
cmds.cutKey('pSphere1', time=(1,100), attribute='scaleZ', option="keys")
在此之后,您可以轻松地缩放模型。
聚苯乙烯
另一种合适的方法是更新 FBX 模型的旧比例关键帧(第一个在动画的开头,第二个在动画的结尾)。
长风秋雁
TA贡献1757条经验 获得超7个赞
我想到了。在 Maya 中,如果我设置平移或旋转关键帧,则缩放属性也会在 FBX SDK 中具有动画节点。所以,如果我想修改 scale 属性,我应该使用SetChannelValue
orFbxAnimCurveFilterScale
而不是LclScaling.Set()
添加回答
举报
0/150
提交
取消