动画设置

此文档介绍了通用运动系统的动画设置种的主要模块,GMS的动画系统以模块化动画层的方式进行制作,每一个动画层各司其职,却又能相互协作。

Cover.GMS

作者

作者

创建时间: 2025年4月20日更新时间: 2026年4月14日

目录

介绍

在一个运动集设置中,这一部分是动画设置的主要部分。GMS的动画系统以模块化动画层的方式进行制作,每一个动画层各司其职,却又能相互协作。

GMS针对每一个主要动画层都提供了默认参考实现(除SkeletalControl动画层,其余均是动画蓝图模板,确保了最大化的可复用性),你可以查看​拓展指南以了解如何添加自己的实现。
动画设置.动画部分

动画常规设置

此部分包含所有动画层都会共享的一些设置。

动画设置.常规设置

根骨骼偏移设置

GMS学习并采用了来自官方的GameAnimationSample(GASP)中使用到的最新技术:OffsetRoneBoneSteering技术。

根骨骼旋转

EnableOffsetRootBoneRotation:允许Mesh的旋转与Actor的旋转不一致,并由动画驱动Mesh的旋转以追赶上Actor的旋转。主要用于实现更好的原地转身和起步定向转身效果。

注意开启后,RootDir的方向会和ActorDir的方向产生偏移。

RootBoneRotationHalfLife:此值控制取消OffsetRootBoneRotation时,RootDir重置到ActorDir时的速度。(任意Montage播放时,会自动取消。)

根骨骼位移

EnableOffsetRootBoneTranslation:允许Mesh的位移与Actor的旋转不一致,并由动画驱动Mesh的位移以追赶上Actor位置。主要用于解决滑步效果。

注意:当启用时,Mesh根骨的位置会滞后于Actor的实际位置,并快速赶上。

考量

基础运动(BasicLocomotion)的内部逻辑也会因为根骨骼偏移的开关而有不同的处理。

  • 若基础运动的Start不使用Reface(定向起步),没必要使用OffsetRootBoneRotation。
  • 如果你的游戏更追求对角色控制的及时响应,那么请关闭这些特性,因为OffsetRootBone会产生粘滞的操纵手感。
  • 如果你的游戏追求角色运动的高保真度,那么可以使用OffsetRootBone。

动画层 - 状态层设置

状态层是最重要的动画层,所有类型的Locomotion应该通过状态层实现,如基础运动,游泳,飞行等。

动画设置.状态层设置

你也可以取消勾选UseInstancedStatesSetting,这样你可以直接引用一个已经配置好的类型为AnimLayerSetting_States_Default的数据资产。

默认实现

GMS默认提供一个经过大幅改进的Lyra风格的基础Locomotion。(其余Locomotion类型未正式支持)。

查看基础运动系统以了解更多。

动画层 - 叠层设置

叠加动画层负责利用现有的动画资源,以特定方式与状态层(基础运动,骑马,游泳等)进行混合以实现更多动画效果吗,又称之为动画分层(Animation Layering)

动画设置.叠加层设置

默认实现

GMS默认提供4种Overlay层实现,查看叠层系统文档以了解更多。

动画层 - View层设置

角色视角控制相关的动画逻辑通过View层实现。如AO瞄准,头部注视功能等。

动画设置.View层设置

默认实现

  • 允许你配置AimOffset,且仅在使用ViewDirection时生效。
  • 提供脊椎旋转功能,与PoseStack叠层系统进行配合。PoseStack的AimingSweep姿势需要配置AllowAiming曲线,当此曲线生效时,此动画层会根据Actor朝向与视角朝向之间的差异,驱动脊椎左右旋转,而AimingSweep姿势本身驱动上下旋转。

动画层 - Additive层设置

在全局层面播放Additive动画的逻辑通过Additive动画层实现。如:着地缓冲姿势,呼吸动画等。

动画设置.附加动画层设置

默认实现

  • 默认实现仅实现了落地缓冲,让角色跳跃着地时,有更自然的着陆效果。
  • MovingOnly:默认基础运动实现了原地着陆时,播放不同程度的着陆动画。若同时使用此AdditiveLayer,那么你应该勾选此选项,这样仅在着陆且有输入的情况下才会播放Additive落地缓冲(正因如此,基础运动不需要实现移动落地逻辑)。

动画层 - 骨骼控制层设置

骨骼控制,修正相关的逻辑通过SkeletalControl动画层实现。如手部IK等。

动画设置.骨骼控制层设置

默认实现

IK控制是一个复杂的话题,GMS提供基础的人形角色IK,并与UE5的标准骨架捆绑。

查看配套项目以了解更多用法。