预渲染精灵

预渲染精灵是事先渲染 3D 模型得到的 2D 图像。游戏绘制的是图像,而不是模型。

一只行走的蜘蛛,由 Pixor 渲染
一个打开的宝箱,由 Pixor 渲染
一顶旋转的王冠,由 Pixor 渲染

是什么

精灵是游戏在屏幕上绘制的 2D 图像,通常由美术师绘制。预渲染精灵则是在游戏运行之前,用固定的摄像机逐帧渲染 3D 模型得到的。游戏只附带这些图像。

对角色来说,这意味着按游戏所需的每个方向渲染每个动画,再把帧打包成精灵表。

一点历史

Donkey Kong Country(1994)是早期的著名例子:Rare 在 Silicon Graphics 工作站上渲染模型,再缩减为超级任天堂的精灵。九十年代末,Diablo、Fallout、StarCraft 和 Age of Empires 等 PC 游戏使用预渲染的单位和角色,让多方向变得切实可行。Dead Cells(2018)把这一思路带进了像素画:在 3D 中为角色制作动画,再渲染成小尺寸的像素画帧。

游戏为什么使用它们

  • 方向。模型可以转到任何角度。八个方向的绘制成本并不比一个方向高。
  • 一致性。比例和体积在几百帧中保持不变。
  • 迭代。修改颜色或尺寸后重新渲染,而不是重画。
  • 动画复用。一个行走循环可以应用到使用同一绑定的多个角色上。

常见问题

直接渲染出来的东西看起来并不像像素画。常见的问题有:

  • 抗锯齿造成的柔和、模糊边缘,
  • 数百种相近的颜色,而不是清晰的色阶,
  • 平滑的渐变,而不是平涂的光照色带,
  • 孤立的单个像素和杂乱的细节,
  • 闪烁,即模型几乎没动,像素和线条却每帧都在变化,
  • 在帧之间移动的轴心点,导致精灵在游戏中抖动,
  • 比例不同的精灵,导致像素不匹配(混合像素(mixels))。

手工绘制

使用通用 3D 软件时,常规步骤是:为每个方向设置一台正交摄像机;以小尺寸、无抗锯齿渲染;缩减到调色板;绘制或修正描边;逐帧去除孤立像素;最后打包精灵表。最后几步占用了大部分时间,外观也主要在这几步中决定。

Pixor 的做法

Pixor 正是为此而生。它读取 glTF 和 GLB、FBX(包括 Mixamo)、OBJ 和 MagicaVoxel 文件。每个朝向都是一台摄像机,可以 4、8 或 16 台一圈,或任意角度。它渲染包含颜色、法线、深度和部件 ID 的 G-buffer,然后以稳定、不闪烁的光照色带上明暗,映射到带色相偏移的色阶,绘制一像素的选择性描边,并清理孤立像素和只出现一帧的线条。统一的每米像素比例和锁定在一个像素上的轴心点让每个精灵保持一致。它可以导出精灵表、Aseprite 文件、Godot SpriteFrames、GIF 和 APNG。

结果是一个干净、一致的基础。大多数美术师仍会手工完善重要的帧。

问题

哪些游戏使用了预渲染精灵?

《大金刚国度》(1994)、《暗黑破坏神》(1996)、《辐射》、《星际争霸》和《帝国时代》都是知名的例子。《死亡细胞》(2018)把 3D 动画渲染成了像素风帧。

预渲染精灵算作弊吗?

不算。这是一种制作方法,就像对照照片参考作画一样。许多美术师先渲染一个基础,再手工完成关键帧。

接着阅读

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

在浏览器中试用 获取 Pixor