虚幻引擎 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 中变形目标的疯狂值的主要内容,如果未能解决你的问题,请参考以下文章

什么是 虚幻引擎 4

怎么使用虚幻4开发游戏?

虚幻4引擎可以建模吗?如果可以建模,如何建?用虚幻4引擎做游戏,模型是从哪里来的?用maya还是3dmax?

ue4 虚幻四引擎项目无法打包,求帮助!

虚幻4引擎怎么安装和启动

虚幻,寒霜3和虚幻4,unity哪个入门最低