为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕沐林林 2023-02-07 17:31:39
我正在尝试使用 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关键帧对您很重要。

//img1.sycdn.imooc.com//63e21a9a00019ded09980289.jpg

解决方案:


手动或以编程方式删除曲线图编辑器中的冗余关键帧。


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 模型的旧比例关键帧(第一个在动画的开头,第二个在动画的结尾)。


查看完整回答
反对 回复 2023-02-07
?
长风秋雁

TA贡献1757条经验 获得超7个赞

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



查看完整回答
反对 回复 2023-02-07
  • 2 回答
  • 0 关注
  • 161 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信