新三消示例项目《Gem Hunter》中的光照和视觉效果

news2025/7/13 17:44:41

《Gem Hunter》是 Unity 的全新官方示例项目,展示了如何在 Unity 2022 LTS 使用通用渲染管线 (URP) 打造抢眼的光效和视效,让 2D 益智/三消游戏在竞争中脱颖而出。

下载示例项目及其说明文档。准备潜入清澈湛蓝的海水中探寻财富吧,因为那里到处都是色彩鲜艳的珠宝和海洋生物。了解如何设置2D精灵及光照来增加深度,应用 Sprite Custom Lit 着色器来赋予微光,并且创造眩光和波纹特效。

为 Unity 创作者提供最近发布的优质 URP 示例项目

*Unity 的 URP 示例项目

继《URP 3D 示例项目》和《Happy Harvest》之后,示例项目系列迎来了《Gem Hunter Match》,该示例项目由 Unity 的多个团队制作,展示了 Unity 2022 LTS版本中 URP 的很多功能,适用于 3D 和 2D 多平台项目。

这款跨平台三消益智游戏的可玩部片段可在 Unity 资源商店和 Unity Samples 中获取。你可以在《Gem Hunter Match》中使用自己的资源或自定义游戏玩法,或者把《Gem Hunter Match》中提供的精灵、着色器、特效、音频、纹理和脚本用到自己的项目中。

拥有多彩元素的简易游戏循环

*《Gem Hunter Match》中的游戏循环

气泡、珊瑚、警惕的美人鱼组成了《Gem Hunter Match》游戏背景。游戏板上分布着珍珠、粉钻、红海星宝石、蓝鱼、金贝壳和绿海龟等海底珍宝元素,共有三个可玩关卡。匹配三个或更多元素可清除并获得增益道具金币。增益道具可以帮助到目标,但是失败就会失去一颗心。木箱和绳子是障碍物;匹配木箱旁边或绳子下面的三个元素可消除障碍物。

*《Gem Hunter Match》游戏玩法示例

项目包含了简易的游戏循环和可复用的物品栏。主要部分如下:

主场景:此画面列出了所有可玩关卡,均引用自 Data 文件夹中名为 LevelList 的 ScriptableObject。

关卡场景:这里设置了具体的游戏玩法。玩家需要清除关卡目标区域列出的元素。

在 Data/BonusItems 文件夹中,可以找到增益道具以及引用的预制件,这些预制件包含了相关参数,例如触发生成奖励的组合形状(如果多个部分具有相同的组合形状,则会随机选择一个进行生成)。你还可以从顶部菜单创建自己的增益道具,路径为 Assets > Create > 2D Match。

关卡结束/ 商店:在通关失败或成功后可进入商店;给自己购买增益道具、心或其他货币。

商店中的所有道具均位于 Data/ShopItems 文件夹中(你也可以自行添加,路径为 Assets > Create > 2D Match。商店中的道具包括:

金币:匹配三个或更多道具即可赚取金币,然后将金币用作软货币。

心或命:这些加速器可以让玩家有机会重玩失败的关卡。如果玩家在三消游戏中耗尽此等加速器,往往需要等待一段冷却期,然后才能补充生命值。

星星:每过一关就可以收集星星;在实际的三消游戏中,星星往往是是元游戏(Metagame,指游戏主要玩法之外,玩家的其他目标或活动)的一部分、装饰元素,或用于推进剧情。

在 2D 精灵上使用逐对象光照进行创意控制

2D 益智/三消游戏之所以受到欢迎,是因为这类游戏可爱又多彩,玩法轻松有趣、简单不挑人,随时随地可玩。

虽然这类游戏可能还有精良的美工,但摄像机是静态的、游戏玩法重复,而且在很多情况下光照和阴影是预烘焙的,因此这类游戏并不以尖端的光照和视觉特效而闻名。然而,你可使用多种方法添加闪光和微光,从而增加游戏的趣味性。

《Gem Hunter Match》使用了 Sprite Custom Lit Shader。这是一种用来制作视觉特效的技术。此着色器取代了场景光照,让我们可以修改 2D 光源纹理信息,并控制各个元素上的光照。因而可以给精灵赋予创意照明,比如产生熠熠生辉的特效,让元素显得流光溢彩。

光源位置数据已迁移至着色器,不必在场景中放置实际光源对象,这也有助于保持场景的整洁。此着色器中封装的逐对象光照可以很好地进行隔离和大规模编辑,并在可以批处理时提高性能。

法线遮罩和遮罩贴图

因为光照和阴影信息被存储在着色器中,精灵中只有颜色信息。2D 光照系统使用法线贴图来计算每个像素的方向,确保根据其位置接收不同强度的光照。遮罩贴图(Mask map)则由可以影响特定RGB通道的光源使用。

《Gem Hunter Match》关卡场景中的 Lights 预制件包含用于网格的 2D 光源。这些光源会影响默认的 Sprite Lit 着色器,并应用于接收光源的排序层(Sorting Layer)中包含的网格元素。

以下图像展示了精灵的创建步骤,以及 Sprite Custom Lit 着色器在这个过程中的作用。

*精灵准备:游戏中的不同光源使用精灵信息来制作动态 2D 光源系统

眩光特效让宝石闪耀

在《Gem Hunter Match》中,“虚构的”光源位置由 LightRotator GameObject 表示,在经过动画处理后,让宝石产生了闪闪发光的特效。我们对游戏中的珍宝元素应用了 TileShader Shader Graph,其中包含 2D 光照贴图的修改和使用 Dot Product 节点制作的高光。

*在 Shader Graph 中使用 Dot Product 节点为示例项目中的宝石创造特效

如果你希望在 2D 项目中自定义光照,那么 Dot Product 节点可能非常实用。Dot Product 将测量两个向量的相近程度。在本示例项目中,我们对比了 LightDirection 位置和法线贴图中每个像素表面的方向。采样的黑白图像可以用于为精灵添加光照,并且在 Runtime 对所有使用同一着色器的元素实时更新数值。

用于制作冲击波特效的摄像机排序层纹理

Radial Warp 着色器使用了 URP 2D Camera Sorting Layer Texture(摄像机排序层纹理)设置。这项实用功能允许访问 URP 2D 渲染器中生成到指定排序层的图形数据,然后将其用于 Shader Graph 以应用特效。在《Happy Harvest》示例项目中,摄像机排序层纹理用于创建水折射特效,在《Dragon Crashers》中,它被用于制作烟雾扭曲效果。在本示例项目中,我们用它来实现一种模拟冲击波的扭曲效果,在消消乐时更添视觉吸引力。这种特效会让玩家对游戏的印象更加深刻。

我们希望你能下载《Gem Hunter Match》,亲自体验并尝试自定义,在自己的项目中应用它的图形技术。让你的 2D 休闲游戏大放异彩。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2375948.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

单向循环链表C语言实现实现(全)

#include<stdio.h> #include<stdlib.h> #define TRUE 1 #define FASLE 0//定义宏标识判断是否成功 typedef struct Node {int data;struct Node* next; }Node;Node* InitList() {Node* list (Node*)malloc(sizeof(Node));list->data 0;//创建节点保存datalist…

【AI大模型】赋能【传统业务】

在数字化转型的浪潮下&#xff0c;传统业务流程&#xff08;如通知公告管理、文档处理等&#xff09;仍依赖人工操作&#xff0c;面临效率低、成本高、易出错等问题。以企业通知公告为例&#xff0c;从内容撰写、摘要提炼到信息分发&#xff0c;需耗费大量人力与时间&#xff0…

团结引擎开源车模 Sample 发布:光照渲染优化 动态交互全面体验升级

光照、材质与交互效果的精细控制&#xff0c;通常意味着复杂的技术挑战&#xff0c;但借助 Shader Graph 14.1.0(已内置在团结引擎官方 1.5.0 版本中)&#xff0c;这一切都变得简单易用。通过最新团结引擎官方车模 Sample&#xff0c;开发者能切身感受到全新光照优化与编辑功能…

精准测量“双雄会”:品致与麦科信光隔离探头谁更胜一筹

在电子技术飞速发展的当下&#xff0c;每一次精准测量都如同为科技大厦添砖加瓦。光隔离探头作为测量领域的关键角色&#xff0c;能有效隔绝电气干扰&#xff0c;保障测量安全与精准。在众多品牌中&#xff0c;PINTECH品致与麦科信的光隔离探头脱颖而出&#xff0c;成为工程师们…

NSSCTF [HNCTF 2022 WEEK4]

题解前的吐槽&#xff1a;紧拖慢拖还是在前段时间开始学了堆的UAF(虽然栈还没学明白&#xff0c;都好难[擦汗])&#xff0c;一直觉得学的懵懵懂懂&#xff0c;不太敢发题解&#xff0c;这题算是入堆题后一段时间的学习成果&#xff0c;有什么问题各位师傅可以提出来&#xff0c…

tornado_登录页面(案例)

目录 1.基础知识​编辑 2.脚手架&#xff08;模版&#xff09; 3.登录流程图&#xff08;processon&#xff09; 4.登录表单 4.1后&#xff08;返回值&#xff09;任何值&#xff1a;username/password &#xff08;4.1.1&#xff09;app.py &#xff08;4.1.2&#xff…

YOLOv12模型部署(保姆级)

一、下载YOLOv12源码 1.通过网盘分享的文件&#xff1a;YOLOv12 链接: https://pan.baidu.com/s/12-DEbWx1Gu7dC-ehIIaKtQ 提取码: sgqy &#xff08;网盘下载&#xff09; 2.进入github克隆YOLOv12源码包 二、安装Anaconda/pycharm 点击获取官网链接(anaconda) 点击获取…

BGP实验练习1

需求&#xff1a; 要求五台路由器的环回地址均可以相互访问 需求分析&#xff1a; 1.图中存在五个路由器 AR1、AR2、AR3、AR4、AR5&#xff0c;分属不同自治系统&#xff08;AS&#xff09;&#xff0c;AR1 在 AS 100&#xff0c;AR2 - AR4 在 AS 200&#xff0c;AR5 在 AS …

HTML、CSS 和 JavaScript 基础知识点

HTML、CSS 和 JavaScript 基础知识点 一、HTML 基础 1. HTML 文档结构 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.…

数据结构与算法分析实验12 实现二叉查找树

实现二叉查找树 1、二叉查找树介绍2.上机要求3.上机环境4.程序清单(写明运行结果及结果分析)4.1 程序清单4.1.1 头文件 TreeMap.h 内容如下&#xff1a;4.1.2 实现文件 TreeMap.cpp 文件内容如下&#xff1a;4.1.3 源文件 main.cpp 文件内容如下&#xff1a; 4.2 实现展效果示5…

使用 Semantic Kernel 调用 Qwen-VL 多模态模型

使用 Semantic Kernel 调用 Qwen-VL 多模态模型 一、引言 随着人工智能技术的不断发展&#xff0c;多模态模型逐渐成为研究的热点。Qwen-VL 是阿里云推出的大规模视觉语言模型&#xff0c;支持图像、文本等多种输入形式&#xff0c;并能够进行图像描述、视觉问答等多种任务。…

(4)python开发经验

文章目录 1 使用ctypes库调用2 使用pybind11 更多精彩内容&#x1f449;内容导航 &#x1f448;&#x1f449;Qt开发 &#x1f448;&#x1f449;python开发 &#x1f448; 1 使用ctypes库调用 说明&#xff1a;ctypes是一个Python内置的库&#xff0c;可以提供C兼容的数据类型…

深度剖析 GpuGeek 实例:GpuGeek/Qwen3-32B 模型 API 调用实践与性能测试洞察

深度剖析 GpuGeek 实例&#xff1a;GpuGeek/Qwen3-32B 模型 API 调用实践与性能测试洞察 前言 GpuGeek专注于人工智能与高性能计算领域的云计算平台&#xff0c;致力于为开发者、科研机构及企业提供灵活、高效、低成本的GPU算力资源。平台通过整合全球分布式数据中心资源&#…

MindSpore框架学习项目-ResNet药物分类-数据增强

目录 1.数据增强 1.1设置运行环境 1.1.1数据预处理 数据预处理代码解析 1.1.2数据集划分 数据集划分代码说明 1.2数据增强 1.2.1创建带标签的可迭代对象 1.2.2数据预处理与格式化&#xff08;ms的data格式&#xff09; 从原始图像数据到 MindSpore 可训练 / 评估的数…

【MySQL】别名设置与使用

个人主页&#xff1a;Guiat 归属专栏&#xff1a;MySQL 文章目录 1. 别名基础概念2. 列别名设置2.1 基础语法2.2 特殊字符处理2.3 计算字段示例 3. 表别名应用3.1 基础表别名3.2 自连接场景 4. 高级别名技术4.1 子查询别名4.2 CTE别名 5. 别名执行规则5.1 作用域限制5.2 错误用…

【内网渗透】——S4u2扩展协议提权以及KDC欺骗提权

【内网渗透】——S4u2扩展协议提权以及KDC欺骗提权 文章目录 【内网渗透】——S4u2扩展协议提权以及KDC欺骗提权[toc]一&#xff1a;Kerberos 委派攻击原理之 S4U2利用1.1原理1.2两种扩展协议**S4U2Self (Service for User to Self)****S4U2Proxy (Service for User to Proxy)*…

Linux——CMake的快速入门上手和保姆级使用介绍、一键执行shell脚本

目录 一、前言 二、CMake简介 三、CMake与其他常见的构建、编译工具的联系 四、CMake入门 1、CMake的使用注意事项 2、基本的概念和术语 3、CMake常用的预定义变量 4、CMakeLists.txt文件的基本结构 五、上手实操 1、示例 ​编辑 2、一个正式的工程构建 2.1基本构…

如何高效集成MySQL数据到金蝶云星空

MySQL数据集成到金蝶云星空&#xff1a;SC采购入库-深圳天一-OK案例分享 在企业信息化建设中&#xff0c;数据的高效流转和准确对接是实现业务流程自动化的关键。本文将聚焦于一个具体的系统对接集成案例——“SC采购入库-深圳天一-OK”&#xff0c;详细探讨如何通过轻易云数据…

通过POI实现对word基于书签的内容替换、删除、插入

一、基本概念 POI&#xff1a;即Apache POI&#xff0c; 它是一个开源的 Java 库&#xff0c;主要用于读取 Microsoft Office 文档&#xff08;Word、Excel、PowerPoint 等&#xff09;&#xff0c;修改 或 生成 Office 文档内容&#xff0c;保存 为对应的二进制或 XML 格式&a…

FlashInfer - 测试的GPU H100 SXM、A100 PCIe、RTX 6000 Ada、RTX 4090

FlashInfer - 测试的GPU H100 SXM、A100 PCIe、RTX 6000 Ada、RTX 4090 flyfish GPU 技术参数术语 1. Memory bandwidth (GB/s) 中文&#xff1a;显存带宽&#xff08;单位&#xff1a;GB/秒&#xff09; 定义&#xff1a;显存&#xff08;GPU 内存&#xff09;与 GPU 核心…