如何在 Roblox Studio 中制作 Flipbook 粒子特效
一步步在 Roblox Studio 中制作 Flipbook 粒子特效:上传精灵图,设置 FlipbookLayout,选择 FlipbookMode:Loop、OneShot、PingPong 或 Random,设置帧率,使用自定义网格,并修复常见问题。
Flipbook 粒子特效使用的 ParticleEmitter,其纹理是一组网格排列的帧。每个粒子会在存续期间播放这些帧,因此一团烟雾可以翻滚,火花可以闪烁,完整的爆炸效果也能由一个粒子呈现。所有设置都在发射器的 Properties 中完成,无需插件。
游戏中使用 Flipbook 的两种方式
- 多个粒子分别播放动画。 经典用法:Rate 大于 0 的发射器会发射大量粒子,每个粒子都会播放一段短动画,例如翻滚的烟雾或闪烁的火焰。Speed、SpreadAngle 以及 Size 和 Transparency 曲线仍会控制粒子的移动和淡出。
- 一个粒子呈现完整特效。 将完整特效(爆炸、斩击、光环)绘制在各帧中,再让一个静止的粒子从头到尾播放。这就是每个 ParticleFX 特效的下载形式:效果完全按照设计呈现,无论特效多复杂,都只用一个粒子。
这些是现成的第二种 Flipbook。在任意特效页面点击 ROBLOX 即可下载 PNG;页面会标明要使用的 FlipbookLayout 和 Lifetime。
一步步设置 Flipbook
- 制作或下载 Flipbook PNG:一张正方形图片,划分为 2x2、4x4 或 8x8 网格,帧从左上角开始逐行排列。Flipbook 模板是可供绘制的空白网格,每个素材库特效都可以通过 ROBLOX 按钮下载为 Flipbook。
- 在 Studio 中打开 View > Asset Manager,点击 Import 并选择 PNG。上传完成后,右键点击它并选择 Copy Asset ID。
- 插入一个 Part,为其添加 Attachment,再向 Attachment 添加 ParticleEmitter,然后将 Texture 设置为
rbxassetid://后接资源 ID。 - 将 FlipbookLayout 设置为与图片网格匹配的选项:Grid2x2、Grid4x4 或 Grid8x8。纹理尺寸必须能被对应网格整除,否则发射器会显示警告。
- 选择 FlipbookMode(见下表)。对于 Loop、PingPong 和 Random,将 FlipbookFramerate 设置为每秒最多 30 帧。
- 点击 Play 或 Run,调整 Lifetime、Size 和 Rate,直到在游戏镜头中看起来合适。
| FlipbookMode | 效果 | 适用场景 |
|---|---|---|
| Loop | 按顺序播放各帧并循环,在粒子存续期间保持 FlipbookFramerate 指定的帧率 | 闪烁的火焰、闪光、翻滚的烟雾 |
| OneShot | 在粒子的 Lifetime 内均匀播放一次所有帧。不使用 FlipbookFramerate | 完整特效:爆炸、受击效果、逐渐形成并消散的烟雾 |
| PingPong | 先正向播放,再反向播放,循环往复 | 脉动的光芒和呼吸般起伏的光环 |
| Random | 以随机顺序切换帧,并在切换时交叉淡化 | 缓慢、自然的闪烁:星星、余烬、魔法尘埃 |
帧速率和时间
- OneShot:整个 Flipbook 会在 Lifetime 内播放一次,因此,Lifetime 为 1.6 s 的 64 帧爆炸特效会以每秒 40 帧的速度播放。将 Lifetime 的两个数值设为相同,否则每个粒子的播放速度都会不同。
- Loop 和 PingPong:FlipbookFramerate 用于设置速度,最高为每秒 30 帧。设置为 12 到 18 这样的范围后,每个粒子都会有自己的速度,因此一团粒子不会同步闪烁。
- FlipbookStartRandom:让每个粒子从随机帧开始播放。将 FlipbookFramerate 设为 0 时,每个粒子会显示并保持一张随机帧,从而把 Flipbook 变成一组变化版本:一张纹理里有四块岩石、四片叶子或四颗火花。
- FlipbookBlendFrames:在相邻帧之间交叉淡化。帧数较少的柔和特效可以开启此选项;像素风和边缘清晰的卡通帧则应关闭。
自定义网格
FlipbookLayout Custom 会读取你通过 FlipbookSizeX(列数)和 FlipbookSizeY(行数)定义的网格,适用于不是 2x2、4x4 或 8x8 的精灵图。纹理尺寸仍必须能被网格精确划分。对于要分享或重复使用的 Flipbook,三种标准网格仍是稳妥的选择。
用脚本创建
对于单粒子特效,将 Rate 设为 0,并通过代码发射,这样它就会在游戏指定的时机准确播放。下面的脚本会创建完整的发射器,适合在运行时创建的特效:
-- A Script inside a part: builds a flipbook emitter and plays it once.
-- The names match the ready model (Attachment.Flipbook), so the other scripts on these pages work with it.
local attachment = Instance.new("Attachment")
attachment.Parent = script.Parent
local emitter = Instance.new("ParticleEmitter")
emitter.Name = "Flipbook"
emitter.Texture = "rbxassetid://123456789" -- your uploaded flipbook
emitter.FlipbookLayout = Enum.ParticleFlipbookLayout.Grid8x8
emitter.FlipbookMode = Enum.ParticleFlipbookMode.OneShot
emitter.Lifetime = NumberRange.new(1.6) -- the effect's length
emitter.Rate = 0
emitter.Speed = NumberRange.new(0)
emitter.Size = NumberSequence.new(6)
emitter.LightEmission = 1 -- 0 for smoke and anything dark
emitter.LightInfluence = 0
emitter.LockedToPart = true
emitter.Parent = attachment
emitter:Emit(1)对于循环特效,每隔 Lifetime 再次发射;循环脚本位于 Roblox 设置页面,页面还列出了单粒子 Flipbook 所需的其他属性。要创建大量动画粒子,可以改为给发射器设置 Rate,让它持续运行。
常见问题
- 每个粒子都显示整张精灵图。FlipbookLayout 仍为 None。将其设为图像对应的网格。
- 播放速度过快或过慢。在 OneShot 模式下,调整 Lifetime;此模式会忽略 FlipbookFramerate。
- 远处相邻帧互相渗色。在每帧周围留出透明边距,就像模板和素材库中的 Flipbook 一样。这样 Roblox 为远处绘制的较小纹理版本就不会混合帧。
- 特效周围出现黑色方块。PNG 没有透明度。保存时添加 alpha 通道。只有在发光特效中,LightEmission 设为 1 时黑色才不会产生效果,从而隐藏方块。
- 纹理没有显示。新上传的素材需要经过 Roblox 审核,之后才会在游戏中显示。将 id 粘贴到 Properties 中的 Texture。
- 多个副本重叠。发射器仍在自行发射。对于单粒子特效,将 Rate 设为 0,并在每次调用 Emit(1) 前调用 Clear()。
Flipbook PNG 免费提供:每个特效页面上的 ROBLOX 按钮无需账号即可使用;免费账号也可以在工作室导出(每天 3 个特效),并自行选择网格和贴图尺寸。现成模型(已配置发射器并附带播放脚本的 .rbxmx 文件)以及供 UI 使用的 UIFlipbook.luau,包含在所有方案中,价格从每月 $7.99 起。
将特效导入游戏
所有设置,以及两种导入方式:免费 PNG 或现成模型,都可以在 Roblox 设置页面找到。按游戏类型分类的更多选择,请查看 免费 Roblox VFX。导出前,你可以在 工作室中修改任何特效。
常见问题
如何在 Roblox 中制作 Flipbook 粒子?
上传一张划分为 2x2、4x4 或 8x8 网格的正方形 PNG,将其设为 ParticleEmitter 的 Texture,将 FlipbookLayout 设为对应网格,然后选择 FlipbookMode;如果使用 Loop 或 PingPong,还要设置 FlipbookFramerate。
Loop 和 OneShot 有什么区别?
Loop 会在粒子存续期间按照 FlipbookFramerate 重复播放各帧。OneShot 则会在粒子的 Lifetime 内均匀播放所有帧,仅播放一次,因此播放速度由 Lifetime 决定,FlipbookFramerate 会被忽略。
Roblox 的 Flipbook 可以超过 64 帧吗?
标准布局最多支持 8x8,也就是 64 帧。FlipbookLayout Custom 可以通过 FlipbookSizeX 和 FlipbookSizeY 指定列数和行数,但这样每帧能分到的纹理像素就会更少。
我可以在能赚取 Robux 的游戏中使用这些特效吗?
可以。导出的特效,包括从素材库开始制作的特效,都可以用于任何项目,包括商业游戏,无需注明出处。但不能将素材库本身作为特效包转售。






