在我们的全新匹配-3 样本《宝石猎人匹配》中寻找灯光和视觉效果的宝库

SHANTI ZACHARIAH / UNITY TECHNOLOGIESSenior content marketing manager
Apr 29, 2024|8 Min
在我们的全新匹配-3 样本《宝石猎人匹配》中寻找灯光和视觉效果的宝库
为方便起见,此网页已进行机器翻译。我们无法保证翻译内容的准确性或可靠性。如果您对翻译内容的准确性有疑问,请参阅此网页的官方英文版本。

宝石猎人匹配》(Gem Hunter Match 是一款全新的官方 Unity 示例,它向您展示了如何通过在Unity 2022 LTS使用 通用渲染管道(URP)创建的抢眼光照和视觉效果,让 2D 解谜/匹配-3 游戏在竞争中脱颖而出。

下载该样本及其迷你手册,准备在充满色彩鲜艳的珠宝和海洋生物的湛蓝海水中潜水发财吧。您将学习如何准备和点亮二维精灵以增加深度,应用 "精灵自定义光照 "着色器以产生光泽,以及创建眩光和波纹效果。

下载宝石猎人匹配.

在 Unity 样本中查看宝石猎人匹配脚本。

为 Unity 创作者提供最新的高质量 URP 样本
Unity URP 游戏示例
URP 的统一样本

宝石猎人比赛》沿用了URP 3D 样本快乐收获作为一系列示例的最新版本,这些示例由 Unity 的多个团队制作,展示了 URP 在 Unity 2022 LTS 中用于 3D 和 2D 多平台项目的多种功能。在本帖末尾,我们将链接到更多优秀的 URP 学习资源。

这款可播放的跨平台匹配-3 益智游戏可在 Unity Asset Store 和 Unity Samples 上下载。您可以用自己的资产或游戏玩法定制《宝石猎人火柴人》,也可以在自己的项目中重复使用其中的任何精灵、着色器、特效、音频、纹理和脚本。

带有丰富多彩元素的简单循环游戏
宝石猎人比赛中的游戏循环
宝石猎人比赛中的游戏循环

气泡、珊瑚和警惕的美人鱼构成了《宝石猎人对决》游戏棋盘的背景。珍珠、粉色蓝宝石、红宝石海星、蓝色鱼类、金色蛤蜊和昏昏欲睡的海龟遍布三个可玩关卡的棋盘。清除宝石,通过匹配三个或三个以上的物品获得助推器和金币。助推器能帮助你实现目标,但如果失败了,你就会失去一颗心。木箱和绳子是阻挡物;在木箱旁边或绳子下面匹配三个阻挡物即可将其移除。

宝石猎人对战》游戏示例
宝石猎人对战》游戏示例

简单的游戏循环包括一个可以重复使用的库存。以下是其主要内容:

主场景该屏幕列出了所有可玩关卡,这些关卡是通过数据文件夹内名为LevelList 的 ScriptableObject 引用的。

关卡场景:这显示了游戏的设置。您需要清除目标部分的元素。

Data/BonusItems文件夹中,您可以找到助推器和引用的预制件,其中包含要生成的组合形状等参数(在多个部件具有相同组合形状的情况下,将随机选择一个)。您可以在顶部菜单中通过 "资产">"创建">"2D 匹配 "创建自己的助推器

关卡结束 / 商店:失败或完成关卡后进入商店,为自己购买助推器、红心或其他货币。所有商店物品都在名为Data/ShopItems的文件夹中(您也可以通过 "资产">"创建">"2D 匹配 "添加自己的物品商店里的商品包括

硬币匹配三条或更多即可获得金币,并将其作为软货币使用。 是心还是生命这些助推器能为您赢得重试失败关卡的机会。在三消游戏中,如果玩家用完了这种助推器,通常会有一段冷却时间,然后才能补充生命值/健康值。

明星们在实际的匹配-3 游戏中,星星通常是元游戏、装饰的一部分,或用于推进故事情节。

对二维精灵的每个对象照明进行创意控制
使用着色器图形中的点积节点为样本中的宝石创建效果

2D 拼图/3D 游戏之所以受欢迎,是因为它们色彩鲜艳可爱,玩法简单有趣,而且几乎任何人都可以随时随地进行游戏。

它们也可以包含精美的艺术作品,但由于其静态的镜头、重复的游戏玩法,以及在许多情况下预制的灯光和阴影,它们并不以出众的光影效果而闻名。不过,你也可以用很多方法来增加闪光和闪烁的效果,以获得额外的乐趣。

精灵自定义光照着色器是用于在《宝石猎人对战》中创建视觉效果的技术之一。该着色器可替代场景照明,让我们可以修改二维光线纹理信息,并控制每个作品的照明。其结果是创造性地照亮了精灵,比如在棋子上移动的闪亮效果。

光线位置数据被移到着色器中,从而无需在场景中使用实际的光线对象,这也有助于保持场景的整洁。着色器中封装的每个对象的照明效果很好,可以更好地进行隔离和大规模编辑,并在可以批处理的情况下提高性能。

法线遮罩和遮罩贴图

由于光影信息保存在着色器中,精灵中只包含颜色信息。二维光照系统使用法线贴图来计算每个像素的方向,确保像素根据其位置接收到更多或更少的光照。遮罩贴图用于可影响特定 RGB 通道的灯光。

宝石猎人匹配关卡场景中的灯光预制件包含网格的 2D 灯光。这些灯光会影响默认的 Sprite Lit 着色器,并应用于接收灯光的分类层中的网格项。

下图说明了创建精灵的步骤,以及精灵自定义点亮着色器在此过程中的作用。

游戏中的精灵准备
准备雪碧游戏中的不同灯光使用精灵信息生成动态的 2D 灯光系统;更多信息,请参阅《宝石猎人对决》随附的迷你手册。
眩光效果让宝石熠熠生辉

在《宝石猎人对决》中,"虚构 "的灯光位置由LightRotator游戏对象表示,该游戏对象会以动画的形式在宝石上产生眩光效果。对 2D 灯光纹理的修改和使用点乘积节点制作的高光效果,都会被应用到游戏中宝石的TileShader着色图中。

点积节点插图
使用着色器图形中的点积节点为样本中的宝石创建效果

在 2D 项目中,如果您想自定义灯光,点积节点会非常有用。点积衡量两个矢量的相近程度。在样本中,LightDirection 位置与法线贴图中每个像素的视方向进行比较。采样的黑白图像可用于为精灵添加光线,并在运行时使用相同的着色器更新所有片段的数值。

获取宝石猎人匹配

用于产生冲击波效果的相机分类图层纹理
宝石猎人比赛中的冲击波/眩晕效果
宝石猎人比赛中的冲击波/眩晕效果

径向翘曲着色器使用 URP 2D相机分类层纹理设置。通过这一便捷功能,您可以访问 URP 2D 渲染器设置中指定排序层之前生成的图形,然后在着色器图形中使用这些图形来应用特效。在 快乐收获样本中,相机分类层纹理用于创建水折射效果,而在 神龙撞地球中,它被用来制作烟雾扭曲效果。在这个示例中,我们用它来应用模拟冲击波的扭曲效果,在进行匹配时增加额外的视觉吸引力。这种效果所产生的影响会让你的球员铭记于心。

让您的休闲 2D 游戏大放异彩
欣赏我们最新的 URP 样品并从中获得灵感
欣赏我们最新的 URP 样品并从中获得灵感

希望您能下载《宝石猎人火柴人》,玩玩并定制它,然后在自己的项目中尝试它的图形技术。Unite 2023 会议 "2D 游戏的照明和人工智能技术"将介绍所有这些内容以及更多内容。

不要错过 URP 的其他样本、电子书和教程:

请务必加入 Unity 论坛上有关通用渲染管道的讨论或加入Unity 讨论