Version: 1.8
语言 : 中文
RigGraph 节点
IK 节点

FootPlacement 节点

足部放置节点(Foot Placement Node) 的核心作用是为足部 IK(Foot IK)计算并输出精准的目标位置与旋转,是实现角色在不规则地面行走、奔跑时足部自然贴合地面的关键节点。该节点需与 IK 节点配合使用以完成最终的骨骼驱动,推荐与 CharacterController 组件搭配 —— CharacterController 的移动逻辑可与足部放置的地面检测形成联动,确保角色移动与足部姿态的一致性。

使用步骤

创建 IK 目标骨骼(若模型无自带 IK 骨骼)

足部放置节点计算出的目标位置 / 旋转,需通过专门的 IK 目标骨骼传递给 IK 节点,因此需手动创建该层级(若模型已包含类似 IK 目标骨骼,可直接复用),层级结构参考如下:

CharacterRoot
    Hips
        ...
  + Rig (新建 IK 目标根对象)
      + LeftFootGoal (新建左脚 IK 目标)
      + RightFootGoal (新建右脚 IK 目标)

确保目标骨骼名称唯一,当前实现暂时通过名称索引骨骼,同名会导致识别失败。

配置 IK 节点

IK 节点的配置参考文档,需要在 AnimGraph Inspector 中将对应的足部目标开放为 Driven By Bone,并设置 Driver Bone Name,即上述的目标 IK 骨骼。如果想忽略旋转可以将 Rotation 设置为 Ignore

配置 Foot Placement 节点

在 AnimGraph 中添加 Foot Placement 节点后,按以下步骤完成参数配置。

盆骨数据配置

Hip Bone Name 为必填项,填入角色盆骨骨骼的名称(如 “Hips”“Pelvis”),作为腿部骨骼的共同父节点。

Smoothing 参数用来调整线性插值的平滑过渡效果,数值越大平滑越慢。

腿部数据配置

接着我们需要添加腿部数据,点击 + 号进行添加,该部分设置皆为必填项:

参数名 描述
Foot Bone Name 角色足部骨骼的名称(如 “LeftFoot”“RightFoot”),用于定位实际驱动的足部骨骼。
Driver Bone Name 填入 IK 目标骨骼名称(如 “LeftFootGoal”),用于接收节点输出的目标位置 / 旋转。
Upper Leg Bone Name 大腿骨骼的名称(如 “LeftThigh”“LeftUpperLeg”)。

在计算过程中,目前使用了 SmoothDamp 来平滑过渡,因此对于需要过渡的地方(包括设置中的 Leg Offset SmoothRelock Smooth)都提供了 SmoothDamp 参数用于修改。

参数名 描述
Smooth Time 平滑过渡的时间,值越小过渡越迅速,值越大越平缓。
Max Speed 平滑过渡的最大速度限制,防止过渡过程中目标位置突变。

锁步功能设置

用于控制角色在移动时足部是否锁定地面(防止滑动),参数说明如下:

参数名 描述
Auto-Correction Internal 自动校正间隔时间,例如静止状态下会回正足部位置。
Lock Foot Enabeld 是否开启锁步功能。
Lock Ground Distance 足部锁定地面的距离阈值,当足部与地面距离小于该值时,触发锁步逻辑。
Unlock Radius 当角色移动距离超过该半径时,解锁当前锁定的足部,允许重新调整位置。
Relock Raidus Ratio 重锁半径比例(范围 0.0~1.0),相对于 Unlock Radius 的比例值,用于控制足部重新锁定的触发范围(如设置为 0.2,则当角色移动回解锁半径的 20% 范围内时,重新锁定足部)。

地面检测设置

节点通过射线检测(Raycast)获取地面信息,以下参数控制射线检测的行为:

参数名 描述
Ground Layer Mask 地面层掩码,指定哪些 Layer 的对象被视为 “地面”。
Origin Offset Up 射线起点向上偏移量,用于调整射线发射的初始位置。
Max Trace Distance 最大射线检测距离。

Debug 工具

为方便调试节点配置与运行效果,提供了 FootPlacement Debugger 组件,支持编辑器下的可视化监控与数据打印,使用方式如下:

  1. 选中角色根对象,在 Inspector 面板中点击 Add Component,搜索并添加 FootPlacement Debugger 组件;

  2. 进入 PlayMode 后,组件会自动关联角色的 Foot Placement 节点(仅支持一个),提供以下 Debug 功能:

    • 可视化显示:场景视图中会绘制关键调试元素

    • 实时数据打印:在 FootPlacement Debugger 组件的 Inspector 面板下方,实时打印每帧关键数据

RigGraph 节点
IK 节点