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

火、烟、水与魔法

带来一段模拟,得到一个游戏特效:Pixor 把 Blender、EmberGen 和 Houdini 写出的 .vdb 文件变成循环播放的像素画火、烟和水,使用与你的精灵相同的调色板。没有模拟工具?Pixor 也有自带的特效。

火 在 Blender 中模拟的营火:20 帧,首尾相接成循环。
烟 一团升起并扩散的烟,来自 Blender 烘焙。
水 液体模拟:一块水体坍塌成一道浪。

上面的每一帧都出自 Pixor:模拟在 Blender 中烘焙,原样在 Pixor 中打开,每帧一个 .vdb 文件。三个模拟都在免费素材库中,附带 .vdb 文件和 Blender 场景。

来自你的工具的模拟:OpenVDB

Pixor 能读取 Blender(Mantaflow)、EmberGen 和 Houdini 写出的 .vdb 文件:烟、火、爆炸和液体。它会找出密度、火焰和热量,以及用来抑制闪烁的速度。液体表面被画成实心,边缘锐利。

  • 每帧一个文件:打开序列的第一个文件 fire_0001.vdb,Pixor 会播放其余的帧。
  • 每 N 帧取一帧:以每秒 48 帧写出的模拟变成精灵的 12 帧。
  • 首尾相接的循环:最后几帧与开头交叉淡化,让营火或火把循环燃烧,没有跳变。
  • 精灵尺寸下依然稳定:256³ 的模拟在加载时被缩减到大约每像素一个体素,所以 32 px 的烟柱不会闪动,长序列只花读取时间,不占内存。

和其他一切一样绘制

体积与你的模型进入同一画面。火焰可以在手的前面,角色可以站在烟里。光照色带、调色板和清理像对待任何表面一样对待它。它柔和的边缘用固定在体积上的图案抖动,从不混色,所以每个像素都在调色板内,移动时也不会蠕动。火的高温部分不论光照如何都以热色燃烧,自发光图层则只把发光的部分交给你的引擎,用来做泛光。

手中的火,爆炸的烟

体积可以由骨骼携带,让火把的火焰在每个片段中都跟着手走,并像真火一样保持竖直。也可以由效果携带,让爆炸自带烟雾、法术自带火焰。把火放在行走循环旁边,火的帧就是行走的帧。

没有模拟工具?用 Pixor 自带的特效

内置体积喷气、火焰、云和薄雾由带种子的噪声生成,相同设置总是得到相同的体素。另有十三种粒子效果:爆炸、受击火花、斩击、魔法爆发、治疗、传送门、烟团、尘土、火焰循环、雨、雪、萤火虫和落叶。每种都由 3D 粒子经过你的外观和调色板绘制。可以把它放在骨骼上、对准片段的命中帧,或单独渲染。

魔法爆发
传送门
治疗
爆炸
pxr effect magic-burst --size 64 -o spell.png

水、波浪与天气

液体模拟被读作表面。对于池塘、湖泊或海岸,世界的水节点会生成一片水面,带有循环的波浪、沿岸的泡沫和水中倒映的场景。雨、雪、飘移的云影和草丛中的风也会以整步循环,让最后一帧接回第一帧。参见世界。

素材库中的免费特效

免费素材库中的 elements 是可以直接渲染或用来学习的特效:火、水、熔岩、闪电和魔法,每个都附带精灵表。模拟类特效还附带 .vdb 文件、Pixor 项目和进行模拟的 Blender 场景。CC0。

营火火焰(模拟)
水浪(模拟)
一团烟雾(模拟)
火焰
魔法爆发
瀑布
裂隙
水花
闪电
治疗光环
熔岩瀑布

在命令行中

# a simulation, 24 frames, one file in two, the last four faded into the first
pxr render - --volume fire_0001.vdb:1.5::24,2,4 -o fire.png

# a torch's flame in the hand, through every clip
pxr render hero.glb --volume flame:0.25:0,0.05,0@hand.r -o hero.png

关于体积的一切都在手册里:体积:烟、火与液体。

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

在浏览器中试用 获取 Pixor