虚幻引擎 4 中变形目标的疯狂值
Posted
技术标签:
【中文标题】虚幻引擎 4 中变形目标的疯狂值【英文标题】:Crazy values on morph targets in unreal engine 4 【发布时间】:2019-08-09 02:18:09 【问题描述】:我正在 Maya 2019 中制作一些动画,但在 Unreal Engine 4.20 中导出后我遇到了一些问题。
对于导出,我使用File > Game Exporter
菜单。 (到目前为止,我尝试的任何其他导出工作流程都会导致在 Unreal 中冻结导入)。
使用游戏导出器一切顺利,在 UE4 中导入时确实出现了一些错误,但看起来一切正常,除了一件事:
我的角色的脸都乱了。经过一番挖掘,我发现这完全是关于面部的一些变形目标具有疯狂的值:
如果我手动将所有这些疯狂的值设置为 0,一切看起来都很好。是什么原因造成的?
如果我检查网格资源,变形目标被限制在 -1 到 1 之间,并且当我移动滑块时它们看起来应该是这样。
我在导入动画时遇到的错误是:
Imported bone transform is different from original. Please check Output Log to see detail of error.
Mesh [Geometry have no name] in the fbx file is not reference by any hierarchy node.
感谢您的帮助。
【问题讨论】:
【参考方案1】:有时困难的方法实际上是最简单的方法。
我无法使用 Game Exporter 或插件进行任何操作,因此我为自己制作了一个脚本来烘焙我的动画,包括我的修正变形,并将结果导出到 FBX 2018 中。它可以工作。
以下是我编写脚本的方式:
首先我选择了我的导出选择集(它包含我的几何体和变形关节),然后单击关键 > 烘焙模拟(您必须在动画集菜单中才能显示关键菜单)。我打开脚本编辑器并复制以“bakeResults”开头的命令行(如果您之前选择了很多东西,很容易找到它:脚本编辑器末尾的一行很长)。
从那里我有了我的脚本库,但它不包括我的混合形状的烘焙。
因此,对于每个要烘焙的混合形状对象:
在大纲中选择对象 在通道框中双击其混合形状输入 复制其名称 将其粘贴到脚本末尾,就在;
之前
确保遵守语法:每个列表元素必须在两个"
之间,并用逗号和空格,
分隔。 ;
之前的最后一个元素后没有逗号或空格
看起来像这样:
bakeResults -simulation true -t "1:60" -sampleBy 1 -oversamplingRate 1 -disableImplicitControl true -preserveOutsideKeys true -sparseAnimCurveBake false -removeBakedAttributeFromLayer false -removeBakedAnimFromLayer false -bakeOnOverrideLayer false -minimizeRotation true -controlPoints false -shape true "element_to_bake", "another_thing_to_bake";
但列表中有更多的元素。
注意行中的-t "1:60"
:这是您要烘焙的帧范围。您将需要根据您的需要调整这些数字。
一旦你有了这一行,我建议你将它保存在某个文件中。
要使用它,请在烘焙前保存您的项目,然后将脚本粘贴到 UI 左下角的 MEL 命令行中,根据需要调整时间范围,然后按 ⏎ ENTER 以执行烘焙脚本。 烘焙完成后,您可以导出 FBX,然后重新加载保存的项目文件。
【讨论】:
以上是关于虚幻引擎 4 中变形目标的疯狂值的主要内容,如果未能解决你的问题,请参考以下文章