像素艺术中的动态光照:Core Keeper 技术案例

发布于 2026年05月23日 | 从西班牙语翻译

Core Keeper 证明了像素艺术与现代技术并不冲突。这款游戏使用 Unity 引擎开发,将经典精灵与先进的逐格光照系统相结合,能够实时投射阴影。玩家放置的每支火把都会改变环境,揭示隐藏在黑暗中的矿物和敌人。这一效果是通过一个光照缓冲区实现的,该缓冲区按瓦片计算可见度,即使在有数十个活动光源的场景中也能优化性能。

Core Keeper 像素艺术中的动态光照,在 Unity 中实现实时阴影

Unity 中的逐格阴影引擎 🎮

Core Keeper 的技术诀窍在于其混合型 2D 光照系统。游戏没有使用传统的点光源,而是采用了一个自定义着色器,将屏幕划分为一个网格(瓦片)。每个瓦片存储一个光照值,该值根据与火把的距离动态更新。这使得角色和物体的精灵能够对黑暗的轮廓做出反应,而无需进行复杂的逐像素计算。Aseprite 是这里的关键工具,因为它允许设计使用简化调色板的精灵,这些精灵在不同的光照条件下(从微蓝的暮色到火焰的温暖光芒)都能保持可读性。

给独立开发者的启示 💡

如果你想在你的项目中复制这种氛围,请优先考虑数据结构而非图形真实感。在 Unity 中,使用 Tilemap 系统以及一个管理二维光照强度数组的脚本。将你的光源定义为简单的对象,这些对象在特定半径内修改该数组。Aseprite 将帮助你为每个精灵在不同光照水平下创建颜色变体,避免实时渲染扭曲原始调色板。最终结果是一种沉浸式体验,其中黑暗不仅仅是一个背景,而是一个活跃的游戏机制。

如何在 Unity 中实现 Core Keeper 的动态光照系统,使像素艺术精灵能够实时响应光源,同时保持复古美学

(P.S.:着色器就像蛋黄酱:如果它们分离了,就得从头再来)