LogoArcartX Doc
模型篇

模型状态动画名称

各类模型的状态动画名称与触发条件

生物状态动画名

生物会在以下状态时播放对应动画,优先级从高到低排列。如果动画文件中不存在对应名称的动画,则跳过该状态,继续检查下一个。

动画名触发条件说明
die实体死亡时播放后定格在最后一帧,实体延迟 5 秒后从世界移除
swim实体在水中时
fly实体在鞘翅滑翔时
jump实体跳跃时仅对玩家类型实体生效
attack实体挥动手臂时
damage实体受到伤害时
run实体移动中且正在冲刺非潜行状态
sneak_walk实体潜行并移动时
walk实体行走时非潜行状态
sneak实体潜行静止时
idle兜底状态始终满足条件,循环播放

服务端可通过 AnimationCommand 下发动画指令,其优先级高于上述所有状态。命令动画支持设置持续时间,过期后自动回退到状态动画。

玩家状态动画名

对于玩家,状态机支持自定义。若未设置自定义状态机,则按以下默认逻辑播放动画。

默认状态下,玩家动作分为主轨道副轨道两个轨道并行处理,主轨道控制身体姿态,副轨道控制手部动作,两个轨道的动画会混合叠加。

主轨道

控制玩家的整体身体姿态。所有动画默认以循环方式播放,仅 die单次播放并定格在最后一帧。优先级从高到低:

动画名触发条件播放方式过渡时间
die玩家死亡单次定格5 tick
ride_pig骑乘猪循环5 tick
ride_boat骑乘船循环5 tick
ride骑乘任何载具(通用)循环5 tick
swim玩家正在游泳循环5 tick
swim_stand玩家在水中但未游泳循环5 tick
fly创造模式飞行循环5 tick
fall_fly鞘翅飞行循环5 tick
climb_walk爬行姿态且正在移动(不在水中)循环5 tick
climb爬行姿态(不在水中)循环5 tick
ladder_up在梯子上向上攀爬循环5 tick
ladder_down在梯子上向下攀爬循环5 tick
ladder_idle在梯子上静止循环5 tick
jump跳跃中循环5 tick
run移动中且冲刺(非潜行)循环5 tick
sneak_walk潜行并移动循环5 tick
walk行走(非潜行)循环5 tick
sneak潜行静止循环5 tick
idle兜底状态,始终满足循环5 tick

die 动画播放后会定格在最后一帧,实体延迟 5 秒后从世界移除。首次进入某个状态时过渡时间为 0(立即切换),后续状态切换才使用表中的过渡时间。

副轨道

控制玩家的手部动作,与主轨道动画通过混合权重叠加播放。

副轨道的动画分为两种播放模式:

  • 单次播放:动画播放一次后才允许切换到新状态,播放期间即使触发条件不再满足也不会中断。
  • 连击序列:多个动画按顺序循环播放(如 sword_1sword_2sword_3sword_1 ...),整个序列循环执行。

混合权重说明:

  • 权重 1:副轨道动画以完整权重叠加到主轨道上。
  • 权重 -1:副轨道动画以特殊混合方式叠加,通常用于单手动作,避免覆盖主轨道的身体姿态。

优先级从高到低:

动画名触发条件播放方式过渡时间权重
sword_1 / sword_2 / sword_3挥动主手且持剑连击序列循环5 tick1
punch_1 / punch_2挥动主手且空手连击序列循环5 tick1
break_right挥动主手(持其他物品)单次播放5 tick-1
break_left挥动副手单次播放5 tick-1
bow_right主手使用弓单次播放3 tick-1
bow_left副手使用弓单次播放3 tick-1
crossbow_right主手装填弩 / 持已装填的弩单次播放3 / 5 tick-1
crossbow_left副手装填弩 / 持已装填的弩单次播放3 / 5 tick-1
trident_throw_right主手投掷三叉戟单次播放3 tick-1
trident_throw_left副手投掷三叉戟单次播放3 tick-1
shield_block_right主手盾牌格挡单次播放3 tick-1
shield_block_left副手盾牌格挡单次播放3 tick-1
eat_right主手吃/喝单次播放3 tick-1
eat_left副手吃/喝单次播放3 tick-1
spyglass_right主手使用望远镜单次播放3 tick-1
spyglass_left副手使用望远镜单次播放3 tick-1
toot_horn_right主手使用山羊号角单次播放3 tick-1
toot_horn_left副手使用山羊号角单次播放3 tick-1
brush_right主手使用刷子单次播放3 tick-1
brush_left副手使用刷子单次播放3 tick-1
use_right主手使用物品(通用兜底)单次播放3 tick-1
use_left副手使用物品(通用兜底)单次播放3 tick-1
empty无手部动作(兜底)循环500 tick1
  • 带有 _right / _left 后缀的动画分别对应主手和副手操作。如果模型中未定义对应动画,则跳过该状态。
  • crossbow_right / crossbow_left 在装填中过渡时间为 3 tick,持握已装填弩时为 5 tick。
  • empty 的 500 tick 超长过渡时间用于从手部动作平滑回到无动作状态。
  • 当服务端下发 AnimationCommand 时,副轨道会进入等待状态,将控制权交给主轨道。

第一人称物品动画名

用于第一人称视角下手持物品的动画,类似 FPS 游戏的武器动画系统。物品切换时会自动执行收起/拔出流程。

切换流程

  1. 切换物品时,当前物品播放 holster(收起)动画
  2. 收起完成后切换模型
  3. 新物品播放 draw(拔出)动画
  4. 拔出完成后进入默认状态循环

物品需要存在 drawidle 动画之一,才会被识别为有效的第一人称物品模型。

动画名称

动画名触发条件播放方式
holster切换物品时收起当前物品播放一次
draw切换物品时拔出新物品播放一次
sword_1 / sword_2 / sword_3主手挥剑连击序列,按 1→2→3 循环
run移动中且冲刺(非潜行)循环
walk行走(非潜行)循环
idle兜底状态循环

盔甲架状态动画名

盔甲架模型支持服务端下发的动画指令和默认待机动画。

动画名触发条件
服务端指令动画通过 AnimationCommand 下发,优先级最高
idle默认待机,循环播放

方块状态动画名

方块模型支持服务端下发的动画指令、距离触发动画和默认待机动画。优先级从高到低:

动画名触发条件
closeTo_in玩家进入方块设定距离范围时的过渡动画,播放一次
closeTo玩家在方块设定距离范围内时,循环播放
idle默认待机,循环播放

物品 / 展示物状态动画名

物品模型和展示物模型仅支持默认待机动画。

动画名触发条件
idle默认待机,循环播放

On this page