Home / Unity / 官方教程 / unity官方的新2D示例項目:Lost Crypt

unity官方的新2D示例項目:Lost Crypt

, December 18, 2019

我們利用他們的新2D工具開發了2D側滾動演示。在本文中,我們將展示這些集成的2D工具如何幫助您使用Unity創建高端視覺效果。

高水平的團隊多年來一直使用Unity製作精美的2D遊戲,但我們希望使每個人(從單個藝術家到大型團隊)都擁有更多可用的2D工具來創建美觀的遊戲。其中許多將作為Unity 2019.3的一部分投入生產,該版本目前處於beta版。

我們使用完整的2D工具套件創建了Lost Crypt。這個生動的場景具有動畫,燈光效果,有機地形,著色器和後處理功能,所有這些均以2D原始方式製作。它顯示了針對任何平台的各種規模的團隊和項目現在如何更快地獲得更多引人入勝的精美結果。

如果您想在iOS或Android設備上運行它,Lost Crypt可以在任何台式計算機上正常運行,並且我們還通過新的輸入系統實現了屏幕控制。在我們的測試中,它在iPhone 6S等常見設備上以30 fps的速度運行。

 

從資產商店下載

設置項目

從資產商店下載“丟失的地穴”後,建議您從空白的“ 新建項目”開始,然後選擇“ 2D”,然後從“包管理器”中的“ 我的資產”中導入該項目,或者在“資產商店”頁面上單擊“ 我的資產 ”。該項目包括您需要的所有2D軟件包。然後它將覆蓋項目設置,將渲染設置更改為Universal Render Pipeline中的2D Renderer。

在這裡,您可以通過通用渲染管道和2D渲染器看到Lost Crypt的渲染管道資產。

導入後,您將看到主場景。單擊“ 播放”後,您應該能夠使用鍵盤箭頭和空格鍵跳躍來正常播放。

腳本和遊戲邏輯非常簡單,因為該演示的主要重點是利用2D工具來體現該演示的概念藝術。

我們已將演示分為幾個任務,並選擇了可用來應對視覺挑戰的2D工具。

原始概念藝術。我們與B2tGame合作完成了該項目。

角色動畫

該角色是在Photoshop中設計的,並直接通過2D PSD導入器導入。使用“精靈編輯器” 打開Sara.psb文件以查看角色設置和裝備。如果使用Photoshop打開文件,您將看到我們如何保持不同的零件和層名稱不變。

PSD導入器允許我們直接在Unity中使用Photoshop文件,而不必導出分離的Sprites並在以後重新組裝它們。

通用渲染管線可用的功能之一是新的Sprite-Lit材料。與通常的Sprite-Default材料相比,此材料可使Sprite對2D光照條件做出反應。

我們使用“輔助紋理”下拉菜單將角色法線貼圖導入了Sprite Editor。您可以將法線貼圖和蒙版貼圖添加到2D動畫角色,常規Sprites,tilemap和Sprite形狀中。

用於角色的法線貼圖指示Sprite的哪些區域應反射更多或更少的光。

角色的腿中有2D IK解算器,以幫助動畫師專注於正確定位腳踝和腳尖,然後腿部將真實地跟隨。

我們使用2D IK來簡化腿和腳的動畫處理。

裝配角色後,我們將使用“動畫”工具和“動畫器”製作不同的動畫來控制這些狀態。您可以在GDC 2019的這次演講中看到該工具的工作原理。

角色的馬尾辮是另一個子GameObject,由2D Physics控制。它對運動具有逼真的反應,因為馬尾辮的每個骨骼都有鉸鏈2D組件,但有一些限制。這樣一來,她的頭髮就可以自由移動,而不會捲曲過多或對角色移動反應過度。

馬尾辮使用2D物理鏈配置,在鏈的末端具有一定的重量。

日/夜燈週期

在Sprite上使用動態照明的最強大的可能性之一就是改變環境的外觀。使用相同的Sprites,您可以更改某個區域的心情,一天中的時間或黑暗,這從隱身機製到活潑豐富的世界,提供了豐富的遊戲機制。

2D指示燈熄滅再打開。相同的Sprite可以用於創建不同的天氣條件或心情。

我們使用簡單的腳本控制場景中的燈光,這些腳本保存了顏色漸變值(白天到晚上的燈光顏色),並且燈光和材質根據父GameObject中的“時間”參數更改顏色。通過這種設置,您可以直觀地控制不同燈光如何相互融合。

通過為燈光著色,可以使相同的Sprite看起來完全不同,從而打開了許多遊戲玩法和美學選擇。

大型戶外紋理地形

早期2D遊戲開發商面臨的挑戰之一是如何有效地創建丘陵,斜坡或不規則地面等有機地形,這只能通過精心製作的瓷磚來實現。多年後,使用代表地形各部分的多個Sprite可以更輕鬆地實現此目標,但是工作流程或性能可能會更好。

2D Sprite Shape用於地面層和右側的Sprite Shape Profiles之一。

借助2D Sprite Shape,您可以生成地形和對撞機,類似於在基於矢量的繪圖應用程序中進行處理的方式。您可以調整畫筆(“精靈形狀輪廓”)並開始創建,而不必擔心在環境中迭代時必須調整許多“精靈”或“碰撞器”。

丟失的地穴還使用某些Sprite Shape附加功能(如NodeAttach腳本)將元素附加到樣條線,因此它們遵循樣條線。在此演示中,岩石使用此腳本和花層中的ConformingSpline跟隨草樣條的形狀。您可以將此功能用於遊戲或裝飾元素,就像我們在前景草層中所做的那樣。

使用基於網格的佈局構建地穴

Tilemaps可能是最重要的2D工具之一,不僅可以使用可“平鋪”和可重複的小塊圖形來節省內存空間,而且因為它對於關卡設計也至關重要。

在這裡,您可以看到演示中使用的平鋪表和法線貼圖。

在Lost Crypt中,我們使用了2D Tilemap編輯器(可通過Package Manager獲得)來重新創建隱窩內部,其中它使用了一些額外的Tilemap額外工具(可在GitHub上獲得),以使關卡設計過程更加高效。例如,我們使用了Rule Tile,這是一種瓦片類型,可讓您像刷一樣繪製瓦片。它會根據相鄰的圖塊或端點自動選擇合適的圖塊。

為了改善我們的工作流程,我們在2D Extras(GitHub)的地下室中使用了Rule Tiles 。

射擊效果

遊戲中一些常見的元素是射擊效果,因此我們在“失落的墓穴”中添加了一個元素。我們首先使用2D粒子系統和著色器圖創建一些GameObject火炬,然後將Sprite-Lit Master節點用於輸出著色器。我們在傳統的Sprite工作表中製作了fire動畫,Particle System使用它來播放動畫。

我們使用了動畫2D著色器和粒子來創建射擊效果。

我們為火焰製作的著色器利用“體積”後處理功能,利用HDR色調來增加對象周圍發光的強度。父級GameObject包含一些火花粒子和一些照亮壁co的燈光。

水反射

著色器的另一個常見用例是反射和折射(例如,水,冰,反射鏡或顯示關卡另一區域的監視器)在遊戲中非常常見。

通過在水著色器中更改不同的參數,可以獲得非常不同的效果。

我們使用Shader Graph完全在地穴中實現了水的效果。我們公開了幾個參數(如水彩,波速,失真,波紋效果等),這些參數使我們可以調整場景中的最終外觀。為了投影環境的鏡像圖像,我們添加了一個額外的攝像頭,該攝像頭會將圖像輸出為紋理,以供著色器圖讀取。此外,我們添加了一段後期處理水華,以使水腐蝕液發光,從而使水面具有良好的效果。

我們在圖形中使用了組和清除標籤,以使著色器邏輯更易於遵循。

風動畫和混合樣式

Sprite Shape,2D燈光和Shader Graph有助於在Lost Crypt中使茂密的樹葉和草栩栩如生。

使環境充滿生氣的一種方法是使樹枝在風中搖曳。為了達到這種效果,我們決定為每棵樹的葉子預製件只有一個著色器-這樣可以創造多樣性並避免重複。

在“精靈”窗口中,我們添加了“著色器圖”要使用的“法線”和“蒙版”貼圖。

在植被風向圖上,您可以看到我們如何創建兩種效果。一種是動畫效果或搖擺效果,我們是通過遵循一些修改噪聲圖案的參數來移動頂點位置來創建的。第二個效果是使用G或綠色通道來調整樹葉周圍邊緣光的色調。

在右側,請注意我們如何使用著色器中的“蒙版貼圖G”通道更改邊框顏色。

燈光混合樣式是2D渲染器中屬性的集合,這些屬性描述燈光應如何影響精靈。例如,您可以創建僅會影響特定頻道的混合樣式。在使用該混合樣式的場景中添加燈光時,它將僅影響“蒙版”貼圖通道信息指示的Sprite區域。

在下面的示例中,參數光源使用我們的直接照明混合樣式,該樣式僅影響該Sprite’s Mask貼圖的R通道中指示的區域。

在這裡,您可以在左側的2D渲染器中看到“燈光混合樣式”,在右側看到使用混合樣式的2D燈光。

電影和顆粒

當我們的冒險家抓住地穴中的魔杖時,失落的地穴電影就很短。為了使這一時刻更加特殊,我們更改了環境的氣氛,並在適當的時間使用“時間軸”生成了粒子,因為我們希望觀察到夜間的變化。為了跟踪飛入樹林中​​的粒子,我們還通過設置動畫軌道混合攝像機來切換Cinemachine攝像機。

我們使用時間軸通過協調攝像頭,音頻和視覺作品來創建電影般的時刻。

抓住魔杖使用Sprite型燈時出現的發光環。環形圖形會簡單地擴展和褪色,創建一個照亮環境的光環。

我們在“體積”後處理中主要通過“布隆”效果實現了粒子發光效果。同樣,用於粒子和軌蹟的材質/著色器使用HDR顏色定義後處理效果應應用於此對象的強度。

粒子使用“隨機種子”功能始終以相同的方式進行動畫處理。

動畫食屍鬼

仔細觀察樹林-您可以在其中看到一些光譜生物。為此,我們創建了可用於其他鬼影的著色器。它們是透明的,但是菲涅耳效果在Sprite的邊緣增加了一些光澤,使其像漂浮的生物一樣搖擺。

著色器中一個有趣的效果是對魔杖GameObject變換位置的跟踪。例如,當魔杖靠近食屍鬼時,它們會變亮。為了實現這一目標,我們在魔杖上附加了一個小腳本,以更新其在材質著色器中的位置。

通過在著色器中顯示值,您可以根據遊戲機制調整視覺效果。

食屍鬼還有一個小動畫,可以從一個圖形切換到另一個圖形。為此,我們在每個通道中創建了一個具有不同圖形的“蒙版”貼圖:R具有一個視覺效果,G具有替代視覺效果,B代表菲涅爾效果。

在此處,您可以在魔杖位置遠離食屍鬼時看到食屍鬼,而“蒙版”貼圖在右側。

批量後處理

對於最後的拋光層,我們添加了Universal Render Pipeline中包含的一些後處理效果。例如,我們創建了一個空的GameObject並將Volume組件附加到該對象。在“失落的墓穴”中,我們使用水華,白平衡和暈影,但還有許多其他效果可用於2D項目中,例如運動模糊,膠片顆粒效果的色彩校正。

這是“丟失的地穴”中的“音量後處理”設置。

包起來

我們希望Lost Crypt演示將幫助您了解如何將我們的2D工具集成套件用於類似的用例。如果您對“失落的墓穴”有任何疑問,可以在論壇上與我們聯繫。

如果您對我們的2D工具有特定疑問,請在論壇的2D部分以及Beta和實驗性功能下查看專用主題。

該項目還包括一個教程窗口,該窗口將幫助您瀏覽Lost Crypt中使用的不同功能。

Check Also

【Unity官方文摘】準備好創建自己的遊戲了嗎?這裡有 7 個必須保存的教程

【Unity官方文摘】準備好創建自己的遊戲了嗎?這裡有 7 個必須保存的教程

https://blog.un …

ScriptableObjects 可使您的團隊和代碼受益的 6 種方式

ScriptableObjects 可使您的團隊和代碼受益的 6 種方式

https://blog.un …

每個應用程序開發人員都應該知道的 10 個移動運營術語

每個應用程序開發人員都應該知道的 10 個移動運營術語

https://blog.un …