Skip to main content

BaseModel(基础模型)

满足以下条件的 GameObject 可以导出为 VRM 格式:

  • 附加了 Animator 组件。
  • Animator 组件设置了 HumanoidAvatar

 

FBX

要满足上述条件,请在 fbx importerrig 设置中将模型设置为 humanoid。fbx 的 prefab 在设置为 humanoid 后,会附加Animator 组件,并且会设置 HumanoidAvatar。

要让 fbx 转化为 Humanoid,需要满足以下2个条件

  • 需要有必要的骨骼
  • 确保骨骼父子关系正确

此外

  • 骨骼的名称可以自由设定。

参考

从 Blender 导出与 Unity 的 Humanoid 兼容的 fbx 文件

 

在场景中加工 FBX

不会产生问题的:

  • 在 FBX Prefab 内添加子 GameObject
  • 在 FBX Prefab 内禁用某些 GameObject

有时可能会遇到问题:

  • 删除 FBX Prefab 内的 GameObject
  • 移动 FBX Prefab 内的 GameObject(包括移动、旋转、缩放、改变父对象)

出现问题的原因

  • HumanoidAvatar 与 GameObject 层级结构不一致。

HumanoidAvatar 记录了以下信息:

  • 原始姿态
  • Human Bone(如 hips 等)与 GameObject 的对应关系

如果对这此进行了更改,则需要重新创建。可以在下面的 HumanoidComponent 中来创建。

 

从 GameObject 手动创建 HumanoidAvatar

可以不依赖 fbx importer 来创建 HumanoidAvatar。

 HumanoidComponent

使用这个的话,

  • 人型 GLTF
  • 在场景上用立方体堆成的人形

对于像这样的 Hierarchy(层级结构),可以后续追加创建 HumanoidAvatar。创建了 HumanoidAvatar 的游戏对象(无论在场景还是作为 Prefab)都可以被导出为 VRM 格式。