Roblox踩坑1——动画无法完整播放

在做一款挂机类游戏的时候,打算给地图怪物做一个被击败动画,我就在击败怪物的回调里面加了一个动画,但是无论如何都没办法正常的播放。

Lua 复制代码
if humanoid then
    -- 创建一个 Animation 实例并设置动画 ID
    local animation = Instance.new("Animation")
    animation.AnimationId = "rbxassetid://139676583914998"

    -- 加载动画到 humanoid
    local animTrack = humanoid:LoadAnimation(animation)
    
    -- 播放动画
    animTrack:Play()

    -- 设置动画结束时的回调函数
    animTrack.Ended:Connect(function()
        print("动画播放完毕!")
    end)
else
    warn("模型中没有 Humanoid 实例!")
end

代码很正常也很简单,应该不会有什么逻辑错误,打印的信息也能正常触发,然后我把模型和动画都拖到了另一个场景里就可以正常用,所以并不是模型的问题,

由于这个项目我并没有从头开始跟,我也并不知道之前的程序在播放动画时进行了什么设置,后来在对比两个场景的模型时候发现,这个怪物模型一直在做一个休闲动画,貌似就是这个休闲动画顶替掉了我的死亡动画,于是我把这个动画的优先级 调到了最高,就可以正常播放了

Lua 复制代码
animTrack.Priority = Enum.AnimationPriority.Action -- 设置为最高优先级

animTrack:Play()

顺嘴一提,

Roblox 的动画优先级分为四个级别,从低到高分别是:

  1. Core(核心)

    • 用于核心动作,例如角色的基础移动和默认动画(站立、行走、跳跃等)。
    • 优先级最低,通常用于覆盖默认动画。
    • 适用场景:系统级别的基础动画。
  2. Idle静止)

    • 用于站立或其他不活动状态下的动画。
    • Core 优先级高,但仍然容易被其他更高优先级的动画覆盖。
    • 适用场景:定制角色的站立、休息等动画。
  3. Movement(移动)

    • 用于移动相关的动画,例如跑步、跳跃、游泳等。
    • IdleCore 优先级高,但仍可能被 Action 动画覆盖。
    • 适用场景:角色移动、跑步等场景的动画。
  4. Action(动作)

    • 优先级最高的动画类型,用于需要覆盖所有其他动画的场景。
    • 适用场景:攻击、挥剑、跳跃攻击、特殊技能等需要显著表现的动画。

所以当你的动画明明进入回调了,但是却无法播放,可以先去看一看播放动画的优先级,有没有被其他动画所覆盖,需要注意的是,如果两个动画的优先级相同,那它们就会同时影响部件,使得动作看起来非常奇怪,所以还是尽量明确每个动画的用途以及播放时间,避免多个动画同时控制一个部件。

相关推荐
yeshan3 小时前
【Draft】基于 cluacov 的 Lua 代码分支覆盖率统计:从行级近似到指令级精确
单元测试·lua
zz0723205 小时前
Redis + Lua 实现高性能分布式限流
redis·lua·aop·限流算法·分布式限流
衣舞晨风14 小时前
运行时行为盲区:API7 AI 网关CPU打满故障的AI辅助事后复盘
lua·openresty·apisix·coroutine·cpu-saturation·socket-buffer
笨鸟先飞的橘猫3 天前
基于Skynet的分布式游戏场景题:大型MMO的跨服战场系统设计
分布式·学习·游戏·面试·lua
Huanzhi_Lin5 天前
skynet笔记
笔记·lua·skynet·actor·actor模型
笨鸟先飞的橘猫6 天前
MMO游戏中的“跨服团队副本”匹配与状态同步系统
分布式·学习·游戏·lua·skynet
Kiyra6 天前
限流不是加个计数器就行:用 Lua 脚本实现多维度原子限流
开发语言·人工智能·网络协议·职场和发展·架构·lua·ai-native
谙弆悕博士7 天前
Lua学习笔记
c语言·开发语言·笔记·学习·lua·创业创新·业界资讯
weixin_408099678 天前
触动精灵调用身份证OCR识别API实现智能信息录入(Lua脚本实战)
junit·ocr·lua·自动化脚本·石榴智能·身份证ocr识别·触动精灵
卷毛的技术笔记8 天前
双十一零点扛过10倍流量洪峰:Sentinel与Redis+Lua的分布式限流深度避坑指南
java·redis·分布式·后端·系统架构·sentinel·lua