, 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工具來體現該演示的概念藝術。
我們已將演示分為幾個任務,並選擇了可用來應對視覺挑戰的2D工具。
角色動畫
該角色是在Photoshop中設計的,並直接通過2D PSD導入器導入。使用“精靈編輯器” 打開Sara.psb文件以查看角色設置和裝備。如果使用Photoshop打開文件,您將看到我們如何保持不同的零件和層名稱不變。
通用渲染管線可用的功能之一是新的Sprite-Lit材料。與通常的Sprite-Default材料相比,此材料可使Sprite對2D光照條件做出反應。
我們使用“輔助紋理”下拉菜單將角色法線貼圖導入了Sprite Editor。您可以將法線貼圖和蒙版貼圖添加到2D動畫角色,常規Sprites,tilemap和Sprite形狀中。
角色的腿中有2D IK解算器,以幫助動畫師專注於正確定位腳踝和腳尖,然後腿部將真實地跟隨。
裝配角色後,我們將使用“動畫”工具和“動畫器”製作不同的動畫來控制這些狀態。您可以在GDC 2019的這次演講中看到該工具的工作原理。
角色的馬尾辮是另一個子GameObject,由2D Physics控制。它對運動具有逼真的反應,因為馬尾辮的每個骨骼都有鉸鏈2D組件,但有一些限制。這樣一來,她的頭髮就可以自由移動,而不會捲曲過多或對角色移動反應過度。
日/夜燈週期
在Sprite上使用動態照明的最強大的可能性之一就是改變環境的外觀。使用相同的Sprites,您可以更改某個區域的心情,一天中的時間或黑暗,這從隱身機製到活潑豐富的世界,提供了豐富的遊戲機制。
我們使用簡單的腳本控制場景中的燈光,這些腳本保存了顏色漸變值(白天到晚上的燈光顏色),並且燈光和材質根據父GameObject中的“時間”參數更改顏色。通過這種設置,您可以直觀地控制不同燈光如何相互融合。
大型戶外紋理地形
早期2D遊戲開發商面臨的挑戰之一是如何有效地創建丘陵,斜坡或不規則地面等有機地形,這只能通過精心製作的瓷磚來實現。多年後,使用代表地形各部分的多個Sprite可以更輕鬆地實現此目標,但是工作流程或性能可能會更好。
借助2D Sprite Shape,您可以生成地形和對撞機,類似於在基於矢量的繪圖應用程序中進行處理的方式。您可以調整畫筆(“精靈形狀輪廓”)並開始創建,而不必擔心在環境中迭代時必須調整許多“精靈”或“碰撞器”。
丟失的地穴還使用某些Sprite Shape附加功能(如NodeAttach腳本)將元素附加到樣條線,因此它們遵循樣條線。在此演示中,岩石使用此腳本和花層中的ConformingSpline跟隨草樣條的形狀。您可以將此功能用於遊戲或裝飾元素,就像我們在前景草層中所做的那樣。
使用基於網格的佈局構建地穴
Tilemaps可能是最重要的2D工具之一,不僅可以使用可“平鋪”和可重複的小塊圖形來節省內存空間,而且因為它對於關卡設計也至關重要。
在Lost Crypt中,我們使用了2D Tilemap編輯器(可通過Package Manager獲得)來重新創建隱窩內部,其中它使用了一些額外的Tilemap額外工具(可在GitHub上獲得),以使關卡設計過程更加高效。例如,我們使用了Rule Tile,這是一種瓦片類型,可讓您像刷一樣繪製瓦片。它會根據相鄰的圖塊或端點自動選擇合適的圖塊。
射擊效果
遊戲中一些常見的元素是射擊效果,因此我們在“失落的墓穴”中添加了一個元素。我們首先使用2D粒子系統和著色器圖創建一些GameObject火炬,然後將Sprite-Lit Master節點用於輸出著色器。我們在傳統的Sprite工作表中製作了fire動畫,Particle System使用它來播放動畫。
我們為火焰製作的著色器利用“體積”後處理功能,利用HDR色調來增加對象周圍發光的強度。父級GameObject包含一些火花粒子和一些照亮壁co的燈光。
水反射
著色器的另一個常見用例是反射和折射(例如,水,冰,反射鏡或顯示關卡另一區域的監視器)在遊戲中非常常見。
我們使用Shader Graph完全在地穴中實現了水的效果。我們公開了幾個參數(如水彩,波速,失真,波紋效果等),這些參數使我們可以調整場景中的最終外觀。為了投影環境的鏡像圖像,我們添加了一個額外的攝像頭,該攝像頭會將圖像輸出為紋理,以供著色器圖讀取。此外,我們添加了一段後期處理水華,以使水腐蝕液發光,從而使水面具有良好的效果。
風動畫和混合樣式
使環境充滿生氣的一種方法是使樹枝在風中搖曳。為了達到這種效果,我們決定為每棵樹的葉子預製件只有一個著色器-這樣可以創造多樣性並避免重複。
在植被風向圖上,您可以看到我們如何創建兩種效果。一種是動畫效果或搖擺效果,我們是通過遵循一些修改噪聲圖案的參數來移動頂點位置來創建的。第二個效果是使用G或綠色通道來調整樹葉周圍邊緣光的色調。
燈光混合樣式是2D渲染器中屬性的集合,這些屬性描述燈光應如何影響精靈。例如,您可以創建僅會影響特定頻道的混合樣式。在使用該混合樣式的場景中添加燈光時,它將僅影響“蒙版”貼圖通道信息指示的Sprite區域。
在下面的示例中,參數光源使用我們的直接照明混合樣式,該樣式僅影響該Sprite’s Mask貼圖的R通道中指示的區域。
電影和顆粒
當我們的冒險家抓住地穴中的魔杖時,失落的地穴電影就很短。為了使這一時刻更加特殊,我們更改了環境的氣氛,並在適當的時間使用“時間軸”生成了粒子,因為我們希望觀察到夜間的變化。為了跟踪飛入樹林中的粒子,我們還通過設置動畫軌道混合攝像機來切換Cinemachine攝像機。
抓住魔杖使用Sprite型燈時出現的發光環。環形圖形會簡單地擴展和褪色,創建一個照亮環境的光環。
我們在“體積”後處理中主要通過“布隆”效果實現了粒子發光效果。同樣,用於粒子和軌蹟的材質/著色器使用HDR顏色定義後處理效果應應用於此對象的強度。
動畫食屍鬼
仔細觀察樹林-您可以在其中看到一些光譜生物。為此,我們創建了可用於其他鬼影的著色器。它們是透明的,但是菲涅耳效果在Sprite的邊緣增加了一些光澤,使其像漂浮的生物一樣搖擺。
著色器中一個有趣的效果是對魔杖GameObject變換位置的跟踪。例如,當魔杖靠近食屍鬼時,它們會變亮。為了實現這一目標,我們在魔杖上附加了一個小腳本,以更新其在材質著色器中的位置。
食屍鬼還有一個小動畫,可以從一個圖形切換到另一個圖形。為此,我們在每個通道中創建了一個具有不同圖形的“蒙版”貼圖:R具有一個視覺效果,G具有替代視覺效果,B代表菲涅爾效果。
批量後處理
對於最後的拋光層,我們添加了Universal Render Pipeline中包含的一些後處理效果。例如,我們創建了一個空的GameObject並將Volume組件附加到該對象。在“失落的墓穴”中,我們使用水華,白平衡和暈影,但還有許多其他效果可用於2D項目中,例如運動模糊,膠片顆粒效果的色彩校正。
包起來
我們希望Lost Crypt演示將幫助您了解如何將我們的2D工具集成套件用於類似的用例。如果您對“失落的墓穴”有任何疑問,可以在論壇上與我們聯繫。
如果您對我們的2D工具有特定疑問,請在論壇的2D部分以及Beta和實驗性功能下查看專用主題。