角色网格体
nanos world 的角色使用的是虚幻引擎的默认 Mannequin 骨骼。 因此,任何默认使用该骨骼的骨骼网格体大概率都可以在 nanos world 中直接作为角色使用。
将骨骼网格体集成到 nanos world 角色中的技巧
1. 使用 nanos world 骨骼 SKEL_Mannequin
将所有骨骼引用转换为使用 nanos world 的骨骼是极其重要的,如果你导入的骨骼网格体与 UE4 的 Mannequin 骨骼 100% 相同,你甚至不会注意到这个转换过程,但如果你导入的骨骼网格体拥有更多骨骼或是结构不同,它将无法正常工作! 你可以尝试在 Blender 等 3D 软件中对其进行重做/修改,使其与 UE4 的 Mannequin 骨骼保持一致。
注:只有原本就已经在使用默认虚幻 Mannequin 骨骼的网格体,才可能转换其骨骼网格体。
转换时,只需右键点击你的骨骼网格体 ➡ Skeleton ➡ Assign Skeleton,然后选择我们的骨骼 SKEL_Mannequin,点击 Accept 进行转换:
右键单击你的网格体并选择分配骨骼

选择 SKEL_Mannequin 并点击 Accept 进行转换

2. 使用 nanos world 物理资产 PHYS_Mannequin
除了将网格体转换为使用 nanos world 的骨骼之外,你还需要将网格体设为使用 nanos world 的物理资产。
这是必需的,以便你的角色在游戏内能拥有正确的布娃娃物理效果。
打开你的骨骼网格体,并将 Physics Asset 设为使用 PHYS_Mannequin:
打开骨骼网格体以使用正确的物理资产

导入新的角色骨骼网格体
了解如何在 nanos world 角色中导入和使用自定义骨骼网格体。
对于本指南,我们将从 Stylized Character Kit: Casual 01(即 2020 年 9 月免费商城内容)中导入一个骨骼网格体。
来自虚幻引擎商城的 Stylized Character Kit

另外,我们将使用我们的资产开发工具包 - ADK,请确保你已下载。
从虚幻商城下载资产包
第一步是从 UE4 商城下载资产包 Stylized Character Kit: Casual 01,为此请按以下步骤操作:
- ➡ Epic Games 启动程序
- ➡ 虚幻引擎
- ➡ 库
- ⬇ 滚动到 保管库 部分
在保管库部分,你可以找到你账户中拥有的所有商城内容,要下载它,请点击 添加到项目 并选择 Assets Development Kit 项目,这会下载所有文件并将其“安装”到 ADK 项目中。
找到 Stylized Character Kit: Casual 01

将 Stylized Character Kit: Casual 01 添加到 ADK 项目中

现在你会注意到 ADK 项目中多出了一个新文件夹 Content/SCK_Casual01/,这就是你刚刚从 UE4 商城下载的资产包:
你可以在 Content/SCK_Casual01/Models/Premade_Characters/ 路径下找到它的骨骼网格体:
打开 Premade_Characters 文件夹

将需要的文件复制到我们的资产包文件夹中
在这个示例中,让我们把骨骼网格体 MESH_PC_00 导入到 nanos world 中,并将其用作我们角色的网格体:
打开 MESH_PC_00

第一步是将该文件及其所有依赖项复制到项目内的 AssetPack/ 文件夹中:
如果你愿意,也可以不这样做,而是直接包含该商城资产的所有文件来生成一个资产包,但这会对 nanos world 产生体积极大且没太多用处的内容。
操作时,只需将 MESH_PC_00 拖放到你的 AssetPack/ 文件夹中,然后选择 Advanced Copy Here(在此进行高级复制),这会把该文件以及它在其中的所有依赖项(即只有真正需要的文件)全部复制过去:
右键单击 MESH_PC_00 并高级复制到 MyAssetPack/ 文件夹中

点击“确定”确认:
确认复制文件

现在我们的资产包文件夹里就只有需要的骨骼网格体及其纹理/材质了,接下来我们将导出它们:
所有文件已自动复制

将骨骼转换为 nanos world 的骨骼和物理资产
请参考 将骨骼网格体集成到 nanos world 角色中的技巧 小节,将 MESH_PC_00 转换为使用我们的骨骼和物理资产。
转换完成后,保存所有内容,然后你就可以删除旧的、无用的骨骼了(它位于 SCK_Casual01/Mannquin/ 文件夹下):
删除旧的无用骨骼
导出资产
导出流程遵循将资产导出到 nanos world 的常规流程。 请遵循导入自定义资产指南。
通过脚本在角色中使用骨骼网格体
在成功导出并正确配置好你的 Assets.toml 之后,最后一步就是使用它了! 为此,你只需要在脚本中使用你在上一步的 Assets.toml 中配置的键名(例如 my-asset-pack::MESH_PC_00):
local char = Character(Vector(0, 300, 100), Rotator(), "my-asset-pack::MESH_PC_00")

然后…… 瞧! 成功导入并完美集成了 nanos world 的所有动画!