Version: 1.8
语言 : 中文
使用指南
Rig Graph 资产构建

组件

本节介绍 Rig Graph 中使用的组件:

组件架构
组件架构
组件逻辑关系
组件逻辑关系

下面将以通用人形角色资产的使用为例,介绍各组件的作用。

Rig Graph Manager 组件

Rig Graph 的核心组件,实现了资产配置、将 Script Graph 绑定逻辑转换为 C# 代码等功能。

通过点击 Add Component->Rig Graph->Rig Graph Manager,即可在根游戏对象上挂载 Rig Graph Manager 组件。

Rig Graph Manager 的 Inspector 如下图所示:

Rig Graph Manager Inspector
Rig Graph Manager Inspector

以下是 Inspector 参数的详细介绍:

1. Choose Template

选择 Rig Graph 资产,也可以创建新资产或克隆当前资产。

当添加了多个 Rig Graph 资产后,会按照自上而下的顺序,依次触发每个资产内的事件。下图为在添加多个资产之后,第0帧时的执行顺序。后续帧将不再触发 Setup 事件,仅会依次触发每个资产内定义的 Backwards 和 Forwards 解算事件。

组件中添加多资产时,第0帧的事件执行顺序
组件中添加多资产时,第0帧的事件执行顺序

2. Setup Avatar (Optional)

自动配置人形角色所需的 Humanoid Avatar 资产,只有 Script Graph 中的节点使用了 HumanBodybones 数据类型时,才需要配置。

Note: 无论人形角色模型导入团结引擎时的 Animation Type 是否为 Humanoid,所配置的 Avatar 类型均为Humanoid

Avatar配置
Avatar配置

3. Open Human Rig Window

该项功能是通用人形角色的资产才具备的辅助性功能,仅在选择了通用人形角色的资产后才会出现这个按钮。点击按钮后,会打开一个窗口,在窗口中可以编辑控制点的 Lock State 属性。

Human Body Rig 窗口
Human Body Rig 窗口

4. Generate Graph Code (Experimental)

将 Script Graph 资产中可由视化节点定义的绑定逻辑转化为 C# 代码,以提高绑定逻辑的执行效率。当代码生成后,可折叠区下方会出现 Regenerate Graph Code 与 Clear Graph Code 按钮,前者可重新生成代码文件,后者会清理删除已生成的代码文件。代码生成原理请参阅 Graph Code Generator

注意:当 Rig Graph Manager 中包含多个 Rig Graph 资产时,Code generate 只会生成第一个资产的 C# 代码。后续将支持多个资产的 Code Generate。

代码生成与清理
代码生成与清理

Rig Graph Script Machine 组件

设置所需的 Script Graph 资产,被挂载在名为资产名_RigRoot 的 Rig 根对象上。

Rig Graph Script Machine Inspector
Rig Graph Script Machine Inspector

Rig Graph Variables 组件

用于显示 Script Graph 资产中定义的 Graph Variables,与 Rig Graph Script Machine 共处同一游戏对象层级下。更多详情请参阅通用人形资产的Rig Graph Variables说明

Graph Variables示例
Graph Variables示例

Rig Effectors Builder 组件

收集并绘制当前根对象下挂载的所有控制点,与 Rig Graph Script Machine 共处同一游戏对象层级下。

Rig Effectors Builder Inspector
Rig Effectors Builder Inspector

Rig Effector 组件

用于编辑控制点,挂载在 Rig 根对象的任意子对象上,该组件有如下属性:

  • Style:设置 Gizmo 的形状,颜色,大小等属性。

  • Visible:设置 Gizmo 在场景中的可见性。

  • Lock State:设置控制点的控制状态,当 Lock State 为 Lock Global 时,会将控制点当前的 Global Transform 值锁定;当 Lock State 为 Lock Local 时,可以通过 m_LocalOffsetPosition / m_LocalOffsetRotation 来调整控制点的 Local Transform。

  • m_LocalOffsetPosition:当 Lock State 的值为 Lock Local 时,m_LocalOffsetPosition 的值将叠加到当前控制点的 Local Position 上,数值可通过右侧的 Clear 按钮来清除。

  • m_LocalOffsetRotation:当 Lock State 的值为 Lock Local 时,m_LocalOffsetPosition 的值将叠加到当前控制点的 Local Rotation 上,数值可通过右侧的 Clear 按钮来清除。

Rig Effector Inspector
Rig Effector Inspector

可通过场景中的 Overlay,对该组件进行快速添加与删除,详情参阅控制点组构建

Modular Rig Graph Manage 组件

Modular Rig Graph Manager 组件的功能与 Rig Graph Manager 类似,区别在于 Modular Rig Graph Manager 组件上使用的是模块化资产,并且暂时不支持 Code Generate 的辅助功能。

当一个游戏对象上同时存在Modular Rig Graph Manager 组件和 Rig Graph Manager 组件时,将根据在 Inspector 中显示的顺序,自上而下执行各自的逻辑。

Modular Rig Graph Manager
Modular Rig Graph Manager
使用指南
Rig Graph 资产构建