万圣节特惠:−40% Pixor 现价 $19.99 $11.99,截至 11 月 4 日,在 itch.io →

像素画爆炸精灵表

爆炸是最难手工制作动画的效果之一:一道闪光、一个先膨胀后冷却的火球、滚滚散开的烟。Pixor 用 3D 粒子绘制它们,经过与你的精灵相同的外观,所以它们能和你的精灵属于同一个游戏。

一个像素画爆炸动画:淡色的闪光膨胀成橙红色火球,再冷却成灰色的烟
pxr effect explosion:12

怎样的爆炸才好看

在游戏速度下依然好看的像素画爆炸,按顺序有这几个部分:

  1. 一道闪光。一两帧调色板中最亮的颜色,小而明亮。它告诉玩家命中发生在哪里。
  2. 一个火球,迅速膨胀,冷却时由黄经橙变红。
  3. 烟滚滚散开并变暗,最后的火光从中透出。
  4. 火花或碎片在开始时飞出,每个一两个像素。

手工绘制的话,这是十几帧形状,必须在不跳变的情况下变大、重叠、变色。大多数手绘爆炸靠减少帧数和用平坦的形状取巧,而大多数用粒子工具做出再缩小的爆炸,成了有几百种颜色的软糊团,这恰恰是像素画游戏不想要的。

在 Pixor 里做一个

完全不需要模型,一行命令就能生成精灵表:

pxr effect explosion:12 --preset selout --size 64 --export gif,json -o explosion.png

同一个爆炸,做成十二帧 64 像素的精灵表,从闪光到烟

这会写出 explosion.png(十二帧 64×64 的精灵表)、记录每帧位置和时间的 JSON,以及用来检查的 GIF。在应用中,空项目的界面上,创建效果就在导入…和浏览免费模型旁边。

爆炸由 3D 粒子构成,经过与模型相同的流程渲染:光照色带、每种颜色一条色相偏移的色阶、调色板、线条。所以它会采用你给它的外观:--preset selout 绘制selout 外观的彩色轮廓,--palette my-game.hex 把它放到你的调色板上,而项目自己的风格则让它与你的精灵完全一致。

修改它

爆炸具有任何 Pixor 效果都有的设置:

  • 帧数:冒号后面的数字,explosion:8 是快速的一闪,explosion:16 是较慢的一次。
  • 尺寸:--size 是帧的像素大小。上面的爆炸是 64;32 或 48 适合大多数敌人。
  • 能量(--effect-energy)决定它的强度,效果本身在场景中的大小(--effect-size)以及它所在的位置(--effect-at X,Y,Z)。
  • 种子(--effect-seed):同一个种子总是给出同样的像素。渲染种子 1、2 和 3,就得到三个互不相同的爆炸。

用在敌人身上

爆炸通常发生在某个东西身上。把它作为一个独立的动作加到模型上:

pxr render spaceship.glb --view top-down --size 64 --clip none \
  --effect explosion:12 --effect-hit 2 --export json -o ship.png

在应用中,在场景步骤里,用大纲中效果下的 + 添加。它会成为场景图中的一个效果节点,以及一个名为 fx-explosion 的动作,在精灵表上有自己的一行。它的菱形可以在 3D 视图中拖动来摆放。

三个设置让它贴合当下的时刻:

  • 跟随某根骨骼:枪口的火光在枪的末端,手里发出的爆破。
  • 在片段上播放(--effect-clip):爆炸在模型做某件事时播放,比如飞船解体。
  • 仅效果(--effect-alone):不带模型单独绘制爆炸,作为独立的图层,与角色的精灵表对齐。游戏把它叠在当前的任何精灵之上播放。

命中帧(--effect-hit 2)标出打中的那一帧。JSON 把它列在 meta.pixor.hits 下,所以游戏可以在恰好这一帧晃动摄像机、造成伤害或播放音效。

来自模拟的烟

Pixor 自己的爆炸很快,不需要别的东西。要更厚重的爆炸,可以加一团由爆炸发射器带出的烟体积:--effect explosion --volume puff:1.5@effect:1。Blender、EmberGen 或 Houdini 的 .vdb 模拟也可以用在同样的位置,并按同样的色带绘制;参见用 VDB 做火、烟和水。

其他效果

同一条命令还能做出游戏里其余的效果:hit-spark、slash、magic-burst、heal、portal、smoke-puff、dust、fire-loop、rain、snow、fireflies 和 falling-leaves。fire-loop 循环播放,适合火把和燃烧的残骸;hit-spark 和 slash 很短,用于战斗中的每一次命中。如果敌人应该碎裂或烧尽而不是爆炸,参见死亡效果教程。所有选项都在手册里。

问题

像素画爆炸应该有多少帧?

普通命中用每秒 12 帧播放八到十二帧;子弹击中之类的小爆炸可以是四到六帧,Boss 的死亡可以更长。除非你给定数字(如 explosion:10),Pixor 的爆炸是 12 帧。

爆炸能用我游戏的调色板吗?

可以。它和模型一样经过同一个风格渲染,所以用 --palette 指定 .hex、.gpl 或 .png 文件,或者用项目自己的外观,爆炸的每个像素都会落在这些颜色上。

同一条命令每次都会给出同样的爆炸吗?

会。粒子来自一个种子:同样的种子和设置总是给出同样的像素。改变 --effect-seed 就能得到变化,这样游戏里就可以有三个互不相同的爆炸。

延伸阅读

在浏览器中免费用你自己的模型试试,或者获取完整版。

在浏览器中试用 获取 Pixor