Skip to main content

混合空间

概述

混合空间(Blend Space)是一种基于骨架(Skeleton)和(或)动画序列(Anim Sequence)的复合资产。它能够接收多个输入控制量(目前至多两个)控制多个动画采样点间的混合。

混合空间(Blend Space)支持独立播放、用于动画树的播放节点和输入动画树插槽节点。

Blendspace

混合空间创建和类型

不同类型的混合空间在资产编辑器(Asset Editor)中提供了众多功能。

不同的混合空间类型可通过以下方式进行创建。

依次点击菜单栏文件(File )-> 创建(Create)打开资产创建窗口,创建混合空间资产。

image-20220906171001985

混合空间

混合空间(2D混合空间)允许根据指定采样点在2D的动作姿势样本空间中进行采样并混合,例如可用于角色的八方向移动等。

1D混合空间

1D混合空间(Blend Space 1D)允许根据指定采样点在1D的动作姿势样本空间中进行采样并混合。

1D混合空间是混合空间(Blend Space)的一维化,它的创建、编辑和使用方式均与混合空间一致。

image-20221121110513760

瞄准偏移混合空间

瞄准偏移混合空间(Aim Offset Blend Space)是一种特殊的混合空间资产,专用于处理武器瞄准或角色望向某处之类的需求。它仅混合网格空间叠加类型的姿势,并将结果叠加在输入的基础姿势上。

1D瞄准偏移混合空间(Aim Offset Blend Space 1D)是瞄准偏移混合空间的一维化,它的创建、编辑和使用方式均与瞄准偏移混合空间(Aim Offset Blend Space)一致。

该部分内容详见瞄准偏移

资产细项

资产细项面板(Asset Details)中,可以通过修改相关属性来继续设置混合空间。

image-20220906102820280

设置项属性说明
水平轴(Horizontal Axis)名称(Name)水平轴名。
最小值(Minimum Axis Value)水平轴最小值。
最大值(Maximum Axis Value)水平轴最大值。
网格分割数(Number of Grid Divisions)水平轴网格分割数。
插值时间(Interpolation Time)水平轴插值时间。
插值类型(Interpolation Type)水平轴插值类型。
  • 平均插值(Average Interpolation):将历史采样点和当前采样点取平均后作为最终采样点值。
  • 线性插值(Linear Interpolation):采样点插值权重距离当前时间越远权重越小。
  • 三次插值(Cubic Interpolation):样点插值权重距离当前时间越远权重越小,比线性插值权重衰减更快。
垂直轴(Vertical Axis)名称(Name)垂直轴名。
最小值(Minimum Axis Value)垂直轴最小值。
最大值(Maximum Axis Value)垂直轴最大值。
网格分割数(Number of Grid Divisions)垂直轴网格分割数。
插值时间(Interpolation Time)垂直轴插值时间。
插值类型(Interpolation Type)垂直轴插值类型。
  • 平均插值(Average Interpolation):将历史采样点和当前采样点取平均后作为最终采样点值。
  • 线性插值(Linear Interpolation):采样点插值权重距离当前时间越远权重越小。
  • 三次插值(Cubic Interpolation):样点插值权重距离当前时间越远权重越小,比线性插值权重衰减更快。
差异动画设置(Additive Settings)预览基础姿势(Preview Base Pose)预览基础姿势。
混合采样(Blend Samples)混合采样(Blend Samples)采样动画列表,列表成员随采样的增删动态调整。
每个成员提供:横轴坐标,纵轴坐标、关联动画和播放率。
同步组(Sync Group)同步组(Sync Group)同步组。
混合时间(Blend Time)混入时间(Blend In Time)混入时间。
混出时间(Blend Out Time)混出时间。
混合时间模式(Blend Timing Mode)
  • 使用绝对时间模式,混入混出时间不受播放率影响;
  • 使用相对时间模式,混入混出时间受播放率影响,与动画持续时间成比例变化。
  • 触发器(Trigger)开始触发器(Start Trigger)开始播放触发事件。
    结束触发器(End Trigger)结束播放触发事件。
    打断触发器(Break Trigger)打断播放触发事件。
    循环触发器(Loop Trigger)循环播放触发事件。
    采样插值(Sample Interpolation)目标权重插值速度每秒(Target Weight Interpolation Speed Per Second)向目标插值的速度。
    自定义键值对(Custom Key Value)自定义键值对(Custom Key Value)自定义键值对。
    插槽名字(Slot Name)插槽名字(Slot Name)插槽的名称。

    采样网格编辑区

    在混合空间采样网格编辑区中,生成了一个二维网格,网格的分区数由资产细项(Asset Details)面板中轴设置(Axis Settings)下的网格分割数(Number Of Grid Divisions)决定。每个网格线交点均可设置一个采样点。

    可以通过从动作列表中拖拽骨架(Skeleton)动画序列(Anim Sequence)资产至特定交点的方式添加采样点。

    Add

    点击 图标可开启或关闭采样点关联的动画名称。

    image-20221121110759766

    点击 图标可开启或关闭网格部分三角形的显示。

    image-20221121110809429

    拖拽采样点可移动采样点的位置。

    drag

    鼠标右击某个采样点后打开采样点编辑窗口,可对采样点的设置进行调整。

    注:这里的设置与资产细项面板(Asset Details)混合采样(Blend Samples)中完全一致。

    image-20221121110840544

    如果需要删除某个采样点,可以先选中该采样点,然后按Delete键将其删除。

    删除位于中心的采样点后

    delete

    通过拖拽面板中绿色方块模拟输入控制量的变化,从而通过视口观察混合结果是否符合预期。另外在拖拽的过程中编辑器会弹出一个包含当前混合状态信息的提示窗口,它会显示当前输入的控制量,按住Ctrl键还可以查看各节点混合权重详细信息,这个信息有助于更好地分析混合结果的成因。

    BlendSpaceMessage

    节点使用

    创建完混合空间后,混合空间在动画树中可作为一个播放器来使用,也可以输入动画树的插槽节点,详见动画树中的混合空间节点。

    image-20221121110948623