游戲原型系列 vol.19 在Unity中創(chuàng)建解謎跳臺(tái)游戲
摘要
????這是綜合運(yùn)用各種Unity功能,來(lái)探索如何制作小項(xiàng)目的系列教程。????
????我們本次將介紹如何制作一款2.5D平臺(tái)游戲,其中用到了一些解謎元素以及專業(yè)獨(dú)立開(kāi)發(fā)者的一些建議。我們將創(chuàng)作過(guò)程分解為幾個(gè)部分。首先是,如何獲取創(chuàng)建原型所使用的資源,如何使用Unity官方可視化編程工具,來(lái)改善項(xiàng)目的視覺(jué)效果。
????詳細(xì)內(nèi)容請(qǐng)參考官方視頻。

教程

????在Unity中新建項(xiàng)目時(shí),有一套可用來(lái)設(shè)計(jì)主要游戲機(jī)制的資源,總是很有幫助的

????資源商店就是尋找道具和角色的好地方,對(duì)于這個(gè)項(xiàng)目來(lái)說(shuō),我們下載了3D Beginner Tutorial資源,來(lái)開(kāi)始構(gòu)建原型

????我們還創(chuàng)建了高清渲染管線的項(xiàng)目,因?yàn)?D Beginner資源有一種卡通風(fēng)格的外觀,我們希望試驗(yàn)一下這個(gè)管線,在改善游戲光照效果,制作逼真外觀上會(huì)帶給我們多大幫助,這個(gè)項(xiàng)目的主要設(shè)置,就是角色具有用于運(yùn)動(dòng)和其他物理對(duì)象交互的剛體,當(dāng)然,為了控制角色,我們還要為它添加一些行為,通常,我們會(huì)通過(guò)C#腳本來(lái)實(shí)現(xiàn),但現(xiàn)在Unity有一款官方的可視化工具,供大家使用,就是BOLT。

????使用BOLT就能創(chuàng)建游戲機(jī)制和交互系統(tǒng),無(wú)需寫(xiě)一行代碼,在角色的Main Scripting Graph中

????我們可以更新角色的Rigidbody velocity

????做法是獲取鍵盤(pán)信息,即水平軸輸入

????再與Speed變量相乘,我們還可以使用這些參數(shù),來(lái)設(shè)置角色動(dòng)畫(huà)的當(dāng)前狀態(tài)

????對(duì)于跳躍行為(Jump behavior),我們使用Button Input節(jié)點(diǎn)

????來(lái)為剛體和Y軸添加力,它可以確保角色僅在落地時(shí)跳躍

????并使用Sphere Cast節(jié)點(diǎn),作為跳躍發(fā)生的條件。

????我們還想添加可以打開(kāi)門(mén)的小觸發(fā)器,來(lái)為游戲添加解謎元素

????因此,我們創(chuàng)建了一個(gè)新的Scripting Graph,并使用On Collision Stay節(jié)點(diǎn),來(lái)檢測(cè)當(dāng)有物體在它的上面時(shí)

????啟用名為isPressed的布林(Boolean)函數(shù)

????對(duì)于門(mén)這個(gè)對(duì)象,我們創(chuàng)建了另一個(gè)Graph,并引用了觸發(fā)器對(duì)象的isPress函數(shù),這個(gè)觸發(fā)器對(duì)象將決定對(duì)象旋轉(zhuǎn)的插值。
????為了優(yōu)化項(xiàng)目的視覺(jué)效果,如果要?jiǎng)?chuàng)建震撼的視覺(jué)視覺(jué)效果,需要強(qiáng)調(diào)三個(gè)基本原則,顏色原理,光照對(duì)比,視差的深度。

????第一個(gè)原則,因?yàn)榻巧堑S色的,藍(lán)色會(huì)是不錯(cuò)的顏色組合,這是因?yàn)樗{(lán)色在色輪正好與黃色相對(duì),可以互補(bǔ),調(diào)整全局的霧效和光照設(shè)置,讓整個(gè)環(huán)境都具有朦朧的藍(lán)色。

????接下來(lái),對(duì)比(Contrast)或負(fù)空間(Negative Space),會(huì)讓對(duì)象在擁擠的環(huán)境中凸顯出來(lái),我們希望能夠輕松看到角色的輪廓,所以我們添加大大的窗戶讓光照進(jìn)來(lái),并在角色跑過(guò)窗戶時(shí)凸顯它的輪廓。

????我們不希望黃色被陰影遮住,所以添加了白色點(diǎn)光源來(lái)跟隨角色,電影攝影技師將這個(gè)稱之為“用光作畫(huà)(Painting with light)“,這也可以用在游戲上。

????最后,可以制造視差(Paralax)來(lái) 添加深度錯(cuò)覺(jué)(Illusion of depth),我在靠近攝像機(jī)的位置添加了椅子和蠟燭臺(tái)

????用有起伏山脈的簡(jiǎn)單Unity地形作為背景,景深(Depth of field)效果也會(huì)讓我們聚焦在角色上

????山上隱約可見(jiàn)的房屋讓毛骨悚然的感覺(jué)更加立體。
????可以看到,在HDRP工作流中稍作調(diào)整,就會(huì)為原型帶來(lái)完全不同的外觀,創(chuàng)建一個(gè)更加吸引人的世界。這個(gè)原型設(shè)計(jì)項(xiàng)目非常有趣,尤其是能夠使用Bolt以可視化的方式組合代碼。