Unity暑期萌新入門(mén):環(huán)境篇

作者:Truly
大家好,新一期又跟大家見(jiàn)面了。
上一節(jié)我們完成了角色的移動(dòng)控制,然而John只能在空白的場(chǎng)景中移動(dòng)。因此接下來(lái)這一節(jié)我們將添加關(guān)卡、調(diào)節(jié)光照,讓John來(lái)到陰森的鬼屋。然后設(shè)置NavMesh(導(dǎo)航網(wǎng)格,現(xiàn)在先聽(tīng)個(gè)概念就好),為以后添加會(huì)巡邏的幽靈作準(zhǔn)備。

一、添加關(guān)卡
1 創(chuàng)建關(guān)卡實(shí)例
在Project窗口中打開(kāi)Assets> Prefabs文件夾,找到Level?的預(yù)制體,把它拖到Hierarchy窗口中。

2 把JohnLemon移動(dòng)到關(guān)卡中
(1) 在Hierarchy窗口中,選中JohnLemon GameObject。
(2) 在Inspector窗口中,修改transform組件里Position屬性(-9.8,0,-3.2)。

二、調(diào)節(jié)光照
光照是烘托氣氛的重要元素,接下來(lái)我們調(diào)節(jié)光照,使鬼屋關(guān)卡看起來(lái)更加幽暗。
1?Directional Light(方向光)可以模擬像太陽(yáng)這類(lèi)遠(yuǎn)處的光源。

設(shè)置Directional Light

在Hierarchy窗口中,選中Directional Light:
(1) 在Inspector窗口中,Light組件里的Type下拉菜單欄選擇Directional。
(2) 點(diǎn)擊Color屬性,彈出Color picker窗口。
各個(gè)參數(shù)含義以及設(shè)置:
下拉菜單:RGB 0-255
R(紅):225
G(綠):240
B(藍(lán)):250
A(透明度):255

設(shè)置完之后關(guān)閉窗口,詭異的藍(lán)光就做好啦~
(3) 回到Light組件,Intensity(強(qiáng)度)設(shè)置為2。通過(guò)設(shè)置陰影的參數(shù),使氣氛更加毛骨悚然~
(4)?Realtime Shadows -> Resolution(分辨率)下拉菜單,選擇Very High Resolution。
(5)?Realtime Shadows -> Bias?和Normal Bias?屬性參數(shù)設(shè)置為0.1。
(6) 把Transform組件的Rotation屬性設(shè)置為(30, 20, 0),旋轉(zhuǎn)燈光使光線從窗戶射進(jìn)屋里。


2 全局光照
Unity中有兩種光來(lái)模擬現(xiàn)實(shí)世界中的光照,直接光照模擬來(lái)自特定光源的光(例如上一部分設(shè)置的陽(yáng)光),間接光照模擬反射光。

圖片來(lái)源:https://learn.unity.com/tutorial/the-environment?projectId=5caf65ddedbc2a08d53c7acb#5caf7befedbc2a0ded5950d6
這種逼真的效果通常需要經(jīng)過(guò)一段長(zhǎng)時(shí)間的烘焙,所以我們這里采用設(shè)置近似值的方法來(lái)進(jìn)行快速模擬:
(1)打開(kāi)Lighting窗口
點(diǎn)擊頂部菜單欄的Window > Rendering >Lighting Settings,點(diǎn)擊Lighting彈窗的標(biāo)簽并拖動(dòng)到Inspector旁。


(2) 設(shè)置參數(shù)
①在Environment下,點(diǎn)擊Skybox Material?屬性右側(cè)的小圓,彈窗里選擇None。(因?yàn)檫@個(gè)游戲不需要顯示天空)
②Environment Lighting設(shè)置:
Source:改為Gradient(漸變)。
Sky?Color:控制場(chǎng)景里上方光源,RGB設(shè)置為(170, 180, 200 )。
Equator?Color:控制場(chǎng)景里中間的光,RGB設(shè)置為(90, 110, 130)。
Ground?Color:控制場(chǎng)景里下方的光,RGB設(shè)置為(0, 0, 0)。

(3)取消勾選Realtime Global Illumination(實(shí)時(shí)全局光照)和Baked Global Illumination(烘焙全局光照)。

設(shè)置完畢后CTRL+S保存場(chǎng)景。
三、 設(shè)置NavMesh(導(dǎo)航網(wǎng)格)
NavMesh是一種自動(dòng)尋路的技術(shù),我們可以用它使幽靈在場(chǎng)景中游走。
1 標(biāo)記Static
(1) 在Hierarchy中,選中Level?GameObject。
(2) 在Inspector中,勾選Static(靜態(tài)),使其納入導(dǎo)航范圍。


(3) 彈窗選擇Yes,change children,把子對(duì)象也一同標(biāo)記為Static。
(4)?禁用(取消勾選)天花板的Static,因?yàn)檫@個(gè)游戲里的幽靈不能在天花板上游走。
在Hierarchy中,Level> Corridors> Dressing> Ceiling Plane?并選擇Ceiling Pane?GameObject,取消勾選Inspector窗口中的Static。

設(shè)置完畢CTRL+S保存場(chǎng)景。
2 創(chuàng)建NavMesh
(1) 添加Navigation窗口
在頂部菜單欄中,選擇Window > AI > Navigation,窗口會(huì)出現(xiàn)在Inspector窗口旁。

(1)設(shè)置Bake(烘焙)參數(shù)
①選中Bake選項(xiàng)
②Agent Radius(半徑)調(diào)至0.25,適配以后添加幽靈角色的半徑。
③ 設(shè)置完后點(diǎn)擊Bake按鈕。

烘焙完成后,藍(lán)色區(qū)域代表可以行走的區(qū)域,選中Navigation窗口才會(huì)顯示哦。

結(jié)語(yǔ):這一節(jié)我們添加了關(guān)卡,然后設(shè)置了環(huán)境的光照烘托詭異的氣氛,創(chuàng)建NavMesh(導(dǎo)航網(wǎng)格)為添加會(huì)移動(dòng)的幽靈作準(zhǔn)備。趕緊CTRL+P運(yùn)行游戲,讓John承包一次鬼屋吧~由于此時(shí)我們還沒(méi)有設(shè)置攝像機(jī)跟隨,所以運(yùn)行時(shí)要把Game視窗拖動(dòng)到一旁,在Scene視圖中觀察John的移動(dòng)(運(yùn)行后點(diǎn)擊Game視窗然后WASD操作)。下一節(jié)我們將學(xué)習(xí)Camera篇,設(shè)置攝像頭跟隨以及屏幕后效(可讓畫(huà)面效果表現(xiàn)得更棒)。
迫不及待想自行開(kāi)始制作的小伙伴,可以瀏覽John Lemon's Haunted Jaunt官方教程:
https://learn.unity.com/project/john-lemon-s-haunted-jaunt-3d-beginner
咱們的游戲開(kāi)發(fā)交流群也歡迎強(qiáng)勢(shì)插入:869551769
希望參與線下游戲開(kāi)發(fā)學(xué)習(xí)的,歡~~~~~~迎訪問(wèn):http://levelpp.com/