Skip to main content

虚拟形象骨架(Avatar Rigs)

在Unity中,虚拟形象骨架(Avatar Rigs)提供了一种标准化的方式来与3D模型(FBX文件)进行交互。它们用于创建动画层遮罩,并且在人形骨架的情况下,确保动画是通用的,并且可以在多个虚拟形象之间兼容。

要配置虚拟形象骨架设置,请按照以下步骤操作:

  1. 打开模型检查器(Inspector):
    • 在项目视图中点击一个3D模型。

  2. 访问 Rig(骨架)选项卡:

    • 在模型检查器中,点击 Rig 按钮。这将打开 Avatar Rig 选项卡。

  3. 选择 Avatar(虚拟形象)骨架类型:

    • Avatar Rig 选项卡中,找到 Avatar Rig Type 的下拉菜单。

image.png

默认的模型检查器窗口

虚拟形象骨架有四种类型:

  1. 人形(Humanoid):最流行的虚拟形象类型,因为VRChat的默认动画依赖于这种骨架。它包含一系列人形骨骼,可以映射到变换(GameObjects)。一旦这些骨骼被映射,您可以在动画中使用人形肌肉来以可预测的方式移动虚拟形象。这使得任何动画(只要它们正确设置了Unity的虚拟形象)都可以在VRChat虚拟形象上工作。

  2. 通用(Generic):类似于人形虚拟形象,但没有所有人形骨骼/肌肉。此骨架仅用于创建动画层遮罩。

  3. 旧版(Legacy):不创建虚拟形象骨架,但会导入骨骼、动画和混合形状,并允许更改动画导入方法。

  4. 无(None):不创建虚拟形象骨架,不包含任何骨骼、动画或混合形状。

人形虚拟形象

Avatar Definition 下拉菜单有两个选项:

  • Copy From Other Avatar(从其他虚拟形象复制):显示一个字段,可以拖动另一个虚拟形象以复制其骨骼定义。

  • Create From This Model(从此模型创建):根据导入是否成功显示 × ,并提供一个 Configure 按钮,点击后将进入人形骨架配置屏幕。

Skin Weights 下拉菜单有两个选项:

  • Standard (4 bones):限制每个顶点最多受4个骨骼组的影响。

  • Custom:允许编辑每个顶点的最大骨骼数量以及导入的最小骨骼权重。

image.png

默认的人形骨架检查器

Optimize Game Objects 选项(以及 Extra Transforms To Expose 菜单)决定骨骼是否作为 GameObjects(游戏对象)暴露。如果启用此选项,所有未在 Extra Transforms To Expose 中启用的骨骼将从FBX的新实例中移除,转而使用内部表示以提高性能。

配置界面

当在人形骨架上点击 Configure 按钮时,当前场景将关闭(并在完成后重新打开),并显示人形骨架配置界面。在此界面中,您可以编辑3D模型的骨骼如何映射到人形骨骼。

顶部有两个部分:MappingMuscles & Settings

映射(Mapping)

Mapping(映射)界面允许您选择哪个 GameObject 映射到哪个人形骨骼。有四个子标题:BodyHeadLeft HandRight Hand,每个都有自己的一组骨骼需要映射。

底部有两个下拉菜单:

  • Mapping

    • Clear:清除整个虚拟形象的骨骼映射。

    • Automap:根据名称和位置自动分配整个虚拟形象的骨骼映射。

    • Save:将当前骨骼映射保存到文件。

    • Load:从文件加载当前骨骼映射。

  • Pose

    • Reset:将虚拟形象的姿势重置为导入时的姿势。

    • Sample Bind-Pose:尝试将虚拟形象的姿势设置为骨骼的默认位置(绑定姿势)。通常与Reset相同。

    • Enforce T Pose:强制T姿势。在点击ApplyDone时,虚拟形象需要处于T姿势,以获得与人形动画良好兼容的人形骨架。

image.png

人形骨架配置映射界面

肌肉与设置(Muscles & Settings)

在此界面中,有三个部分:

  1. 第一部分用于通过拖动滑块预览完整的肌肉组运动。Reset All按钮将所有滑块重置为中性位置。

  2. 第二部分用于预览和编辑单个肌肉的范围。范围表示肌肉移动时骨骼可以旋转的角度。例如,如果肌肉的范围是-180180,且肌肉值为0.75,则骨骼将向右旋转90度。

  3. 第三部分用于整体设置。

    • Twist settings:影响扭转肌肉对邻近骨骼的影响程度。

    • Stretch settings:影响虚拟形象在重定向到另一个模型时骨骼的拉伸程度。

    • Feet spacing:脚之间的默认距离。

    • Translation DoF:允许人形骨架不仅旋转骨骼,还可以移动骨骼。

    • Muscles → Reset:将第二个选项卡中的肌肉范围重置为默认值。

然后是RevertApplyDone按钮:

  • Revert:撤销更改并退出屏幕。

  • Apply:应用更改并留在屏幕中。

  • Done:应用更改并退出屏幕。

image.png

人形骨架配置肌肉与设置界面

通用骨架(Generic Rig)

Avatar DefinitionSkin Weights 和 Optimize Game Objects 下拉菜单的功能与人形骨架相同。

Root Node允许您设置动画播放的根节点。

旧版骨架(Legacy Rig)

旧版骨架具有与其他骨架相同的 Optimize Game Objects 选项,但它还有一个下拉菜单,可以选择如何导入动画。然而,这仅适用于旧的Unity动画系统,该系统已被弃用,不应再使用。


无骨架(None)

无骨架意味着没有蒙皮、没有骨骼、没有导入的动画,也没有混合形状。对于非动画网格,这种骨架类型可能是性能最佳的选择。