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

光照变体:夜晚、火把、水下、中毒

夜晚关卡需要夜晚的精灵。在白天精灵表上叠一层色调会保留白天的阴影;Pixor 会在另一种光照下重新绘制每一帧,让阴影落在那种光照该落的地方,然后把精灵表换成那种光照的颜色。

光照变体:白天、夜晚、火光下、水下和中毒的机甲:这个示例项目渲染出的精灵表

示例项目

光照变体:白天、夜晚、火光下、水下和中毒的机甲:.pixor 项目及其素材库模型(CC0)。左侧的精灵表就是它渲染的结果。

白天的像素画机甲,白色和橙色
白天
月光下的同一台机甲,深蓝色调
light:night
火光下的机甲,暖棕色,更多部分处在阴影中
light:torch
水下的机甲,蓝绿色,更柔和
light:underwater
中毒的机甲,病态的绿色
light:poison

入门 · 约 5 分钟 · 或用 75 秒看完

1. 白天的精灵

打开一个模型:本教程使用免费 CC0 素材库中的机甲及其行走动画。风格步骤的 2D 视图按风格的光照显示它:这就是白天精灵表。

2. 添加调色板变体

在资产步骤中,选中精灵表节点,在节点库的查找框中输入 variant,添加文件:调色板变体。光照变体和调色板替换、队伍颜色在同一个列表里。

3. 四种光照

在检查器中打开添加变体,滚动到列表末尾:光照 night、光照 torch、光照 underwater、光照 poison。每一个都是一张单独的精灵表。

  • night:从远侧高处照来的冷而暗的月光;深蓝色阴影。
  • torch:低举在前方的暖光;模型更多部分处于阴影中,没有补光。
  • underwater:光从正上方穿过蓝绿色的水照下来,更柔和也更暗。
  • poison:风格自身的光,病态的绿色,稍暗一些。

调色板中上方的Night条目是对白天像素的调色板替换;光照 night才是重新绘制的那个。

4. 导出

导出会在白天精灵表旁边为每种光照写出一张精灵表,各以光照命名(mech_light-night.png,…),如果导出会生成 JSON、GIF 和 Aseprite 文件,每张也各带一份。白天精灵表的 JSON 在 meta.pixor.lights 下列出它们。

从命令行

pxr render mech.glb --clip Walk --ring 4 --light-variant night,torch,underwater,poison
pxr project set game.pixor --light-variant night,torch

--light-variant night 等同于 --variant light:night;--no-light-variants 会把它们从项目中移除。

下一步

  • 换色变体:用同一张精灵表做出受击闪白、冰冻的敌人和队伍颜色。
  • 有限的调色板:为什么加了光照的精灵表颜色数不变。

问题

光照变体只是换调色板吗?

不是。调色板变体保留每个像素,只改变颜色的含义。光照变体会重新绘制帧:主光移动,模型更多部分落入较暗的色带,补光和高光也随之改变。然后再按那种光照给调色板着色。

加了光照的精灵表还是索引色像素画吗?

是的。每一张都使用经该光照色调转换后的风格调色板:颜色数量相同,色阶相同,每个像素都来自其调色板。

这些帧和白天精灵表对得上吗?

完全对得上:尺寸相同,帧的位置相同,轴心点相同。玩家走进洞穴时,在引擎中换掉纹理即可。

导出前能看到某种光照的效果吗?

暂时不能:调色板变体节点上的「生成」只生成调色板替换,光照由导出绘制。导出到一个文件夹,在那里打开精灵表。

延伸阅读

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

在浏览器中试用 获取 Pixor