《Gem Hunter》是 Unity 的全新官方示例項目,展示了如何在 Unity 2022 LTS 使用通用渲染管線 (URP)打造搶眼的光效和視效,讓 2D 益智/三消游戲在競爭中脫穎而出。
下載示例項目及其說明文檔。準(zhǔn)備潛入清澈湛藍(lán)的海水中探尋財富吧,因為那里到處都是色彩鮮艷的珠寶和海洋生物。了解如何設(shè)置2D精靈及光照來增加深度,應(yīng)用Sprite Custom Lit著色器來賦予微光,并且創(chuàng)造眩光和波紋特效。
為 Unity 創(chuàng)作者提供最近發(fā)布的優(yōu)質(zhì) 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》中提供的精靈、著色器、特效、音頻、紋理和腳本用到自己的項目中。
擁有多彩元素的簡易游戲循環(huán)
《Gem Hunter Match》中的游戲循環(huán)
氣泡、珊瑚、警惕的美人魚組成了《Gem Hunter Match》游戲背景。游戲板上分布著珍珠、粉鉆、紅海星寶石、藍(lán)魚、金貝殼和綠海龜?shù)群5渍鋵氃兀灿腥齻€可玩關(guān)卡。匹配三個或更多元素可清除并獲得增益道具金幣。增益道具可以幫助到目標(biāo),但是失敗就會失去一顆心。木箱和繩子是障礙物;匹配木箱旁邊或繩子下面的三個元素可消除障礙物。
《Gem Hunter Match》游戲玩法示例
項目包含了簡易的游戲循環(huán)和可復(fù)用的物品欄。主要部分如下:
主場景:此畫面列出了所有可玩關(guān)卡,均引用自 Data 文件夾中名為 LevelList 的 ScriptableObject。
關(guān)卡場景:這里設(shè)置了具體的游戲玩法。玩家需要清除關(guān)卡目標(biāo)區(qū)域列出的元素。
在 Data/BonusItems 文件夾中,可以找到增益道具以及引用的預(yù)制件,這些預(yù)制件包含了相關(guān)參數(shù),例如觸發(fā)生成獎勵的組合形狀(如果多個部分具有相同的組合形狀,則會隨機選擇一個進行生成)。你還可以從頂部菜單創(chuàng)建自己的增益道具,路徑為 Assets > Create > 2D Match。
關(guān)卡結(jié)束/ 商店:在通關(guān)失敗或成功后可進入商店;給自己購買增益道具、心或其他貨幣。
商店中的所有道具均位于 Data/ShopItems 文件夾中(你也可以自行添加,路徑為 Assets > Create > 2D Match。商店中的道具包括:
金幣:匹配三個或更多道具即可賺取金幣,然后將金幣用作軟貨幣。
心或命:這些加速器可以讓玩家有機會重玩失敗的關(guān)卡。如果玩家在三消游戲中耗盡此等加速器,往往需要等待一段冷卻期,然后才能補充生命值。
星星:每過一關(guān)就可以收集星星;在實際的三消游戲中,星星往往是是元游戲(Metagame,指游戲主要玩法之外,玩家的其他目標(biāo)或活動)的一部分、裝飾元素,或用于推進劇情。
在 2D 精靈上使用逐對象光照進行創(chuàng)意控制
2D 益智/三消游戲之所以受到歡迎,是因為這類游戲可愛又多彩,玩法輕松有趣、簡單不挑人,隨時隨地可玩。
雖然這類游戲可能還有精良的美工,但攝像機是靜態(tài)的、游戲玩法重復(fù),而且在很多情況下光照和陰影是預(yù)烘焙的,因此這類游戲并不以尖端的光照和視覺特效而聞名。然而,你可使用多種方法添加閃光和微光,從而增加游戲的趣味性。
《Gem Hunter Match》使用了Sprite Custom Lit Shader。這是一種用來制作視覺特效的技術(shù)。此著色器取代了場景光照,讓我們可以修改 2D 光源紋理信息,并控制各個元素上的光照。因而可以給精靈賦予創(chuàng)意照明,比如產(chǎn)生熠熠生輝的特效,讓元素顯得流光溢彩。
光源位置數(shù)據(jù)已遷移至著色器,不必在場景中放置實際光源對象,這也有助于保持場景的整潔。此著色器中封裝的逐對象光照可以很好地進行隔離和大規(guī)模編輯,并在可以批處理時提高性能。
法線遮罩和遮罩貼圖
因為光照和陰影信息被存儲在著色器中,精靈中只有顏色信息。2D 光照系統(tǒng)使用法線貼圖來計算每個像素的方向,確保根據(jù)其位置接收不同強度的光照。遮罩貼圖(Mask map)則由可以影響特定RGB通道的光源使用。
《Gem Hunter Match》關(guān)卡場景中的Lights 預(yù)制件包含用于網(wǎng)格的 2D 光源。這些光源會影響默認(rèn)的 Sprite Lit 著色器,并應(yīng)用于接收光源的排序?qū)樱⊿orting Layer)中包含的網(wǎng)格元素。
以下圖像展示了精靈的創(chuàng)建步驟,以及 Sprite Custom Lit 著色器在這個過程中的作用。
精靈準(zhǔn)備:游戲中的不同光源使用精靈信息來制作動態(tài) 2D 光源系統(tǒng)
眩光特效讓寶石閃耀
在《Gem Hunter Match》中,“虛構(gòu)的”光源位置由 LightRotator GameObject 表示,在經(jīng)過動畫處理后,讓寶石產(chǎn)生了閃閃發(fā)光的特效。我們對游戲中的珍寶元素應(yīng)用了 TileShader Shader Graph,其中包含 2D 光照貼圖的修改和使用 Dot Product 節(jié)點制作的高光。
在 Shader Graph 中使用 Dot Product 節(jié)點為示例項目中的寶石創(chuàng)造特效
如果你希望在 2D 項目中自定義光照,那么Dot Product 節(jié)點可能非常實用。Dot Product 將測量兩個向量的相近程度。在本示例項目中,我們對比了 LightDirection 位置和法線貼圖中每個像素表面的方向。采樣的黑白圖像可以用于為精靈添加光照,并且在 Runtime 對所有使用同一著色器的元素實時更新數(shù)值。
用于制作沖擊波特效的攝像機排序?qū)蛹y理
Radial Warp 著色器使用了URP 2D Camera Sorting Layer Texture(攝像機排序?qū)蛹y理)設(shè)置。這項實用功能允許訪問 URP 2D 渲染器中生成到指定排序?qū)拥膱D形數(shù)據(jù),然后將其用于 Shader Graph 以應(yīng)用特效。在《Happy Harvest》示例項目中,攝像機排序?qū)蛹y理用于創(chuàng)建水折射特效,在《Dragon Crashers》中,它被用于制作煙霧扭曲效果。在本示例項目中,我們用它來實現(xiàn)一種模擬沖擊波的扭曲效果,在消消樂時更添視覺吸引力。這種特效會讓玩家對游戲的印象更加深刻。
我們希望你能下載《Gem Hunter Match》,親自體驗并嘗試自定義,在自己的項目中應(yīng)用它的圖形技術(shù)。讓你的 2D 休閑游戲大放異彩。
Unity 官方微信
第一時間了解Unity引擎動向,學(xué)習(xí)進階開發(fā)技能
每一個“點贊”、“在看”,都是我們前進的動力
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.