猿问

Python FBX SDK – 如何缩放具有关键帧的模型?

我正在尝试使用 Python FBX SDK 编写脚本来缩放模型。我正在使用LclScaling.Set()设置比例值。但是我发现如果这个模型有关键帧,那么就不会应用缩放。


所以我的问题是如何正确缩放具有关键帧的模型。这是我的代码:


scale = node.LclScaling.Get()

value = 0.5

node.LclScaling.Set(fbx.FbxDouble3(scale[0] * value, scale[1] * value, scale[2] * value))


慕沐林林
浏览 162回答 2
2回答

潇湘沐

如果您无法缩放已经具有动画关键帧的模型,它似乎在Scale参数上具有关键帧,即使在播放会话期间缩放没有发生变化。S当用户仅对模型按下快捷方式的位置设置动画时,这可能是可能的。此快捷方式一次生成 10 个关键帧,但这里只有translation/rotation关键帧对您很重要。解决方案:手动或以编程方式删除曲线图编辑器中的冗余关键帧。import maya.cmds as cmdscmds.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 模型的旧比例关键帧(第一个在动画的开头,第二个在动画的结尾)。

长风秋雁

我想到了。在 Maya 中,如果我设置平移或旋转关键帧,则缩放属性也会在 FBX SDK 中具有动画节点。所以,如果我想修改 scale 属性,我应该使用SetChannelValueorFbxAnimCurveFilterScale而不是LclScaling.Set()
随时随地看视频慕课网APP

相关分类

Python
我要回答