Unity暑期萌新入門:Camera篇

作者:Truly
大家好。
上一節(jié)我們設(shè)置了關(guān)卡環(huán)境,由于沒有設(shè)置攝像機(jī)跟隨,所以只能在Scence視窗中觀察John移動。這節(jié)我們將學(xué)習(xí)使用Cinemachine,設(shè)置鏡頭跟隨John移動,以及亞洲四大邪術(shù)之PS!不對,應(yīng)該是Post-Processing Effects(屏幕后效)。

一、 添加Virtual Camera(虛擬相機(jī))
Cinemachine作用:通過Cinemachine Brain組件管理多個virtual camera(虛擬相機(jī)),并且決定實(shí)際的相機(jī)根據(jù)哪些虛擬相機(jī)的設(shè)定去運(yùn)行。
1 在Hierarchy中,左鍵雙擊JohnLemon GameObject快速定位到其位置。
2 在頂部菜單欄中,選擇Cinemachine > Create Virtual Camera?。在Hierarchy窗口中,可以看到新建的CM vcam1虛擬相機(jī)。

二、設(shè)置Virtual Camera(虛擬相機(jī))
在Scene視窗中,CM vcam1跟John重疊在一起,因此我們在Game視窗中只能看到John前方的景色(下圖紅框里),所以我們要調(diào)整參數(shù),讓John也出現(xiàn)在我們的視野里。

1 在Hierarchy窗口中,選中CM vcam1。
2 在Inspector中,設(shè)置Cinemachine Virtual Camera組件:
①Follow(跟隨):把Hierarchy中的Johnlemon?拖動到Follow欄里,使相機(jī)跟隨Johnlemon 移動。
②在Hierarchy窗口中,選中CM vam1,把Transform組件中Rotation的X值設(shè)為45。
③把Boby下拉菜單欄改為Framing Transposer,這樣我們就可以設(shè)置相機(jī)跟隨規(guī)則了,此時Game視窗會出現(xiàn)下圖這種由紅藍(lán)色覆蓋的畫面。

④設(shè)置Body參數(shù)及部分參數(shù)含義
Dead Zone Width(寬):0.1。
Dead Zone Height(高):0.1。
Camera Distance(相機(jī)距離):8。

Follow dot:跟隨的點(diǎn)。
Dead zone:點(diǎn)在這個區(qū)域內(nèi),鏡頭不會跟隨。
Soft zone:鏡頭跟隨區(qū)域(藍(lán)色的區(qū)域)。
文字解釋起來有些難懂,我們直接上動圖吧:

⑤在Aim在下拉菜單欄中,把Composer改為Do Nothing。
3 在Hierarchy窗口中,選中CM vcam1按F2,重命名為VirtualCamera。
4 設(shè)置完畢后,CTRL+S保存游戲場景。
現(xiàn)在已經(jīng)完成了攝像頭跟隨,我們可以CTRL+P試試鏡頭跟隨的效果啦~只要不選中Hierarchy窗口中的VirtualCamera,紅藍(lán)顏色區(qū)域就不會顯示喲。
三、添加Post-Processing Effects(屏幕后效)
1 基本概念(速覽即可)
Post Process Layer:控制相機(jī)特效渲染圖層,要激活Post-Processing Profiles,先在攝像機(jī)上添加該組件。
Post-processing Profiles:后效配置文件。
Post Process Volumes:游戲中設(shè)置了屏幕后效的區(qū)域,分全局效果和局部效果。
2 創(chuàng)建Post-Processing Layer
(1)新建Layer
①在Hierarchy中選中Main Camera。
②在Inspector窗口中找到Layer下拉菜單欄,選擇Add Layer。

③在User Layer 8中填入PostProcessingVolumes。

(2)添加Post Process Layer并在設(shè)置參數(shù)
①在Main Camera 的Inspector窗口點(diǎn)擊Add Component,并搜索Post Process Layer,然后添加組件。

②設(shè)置?Layer屬性:Layer下拉菜單選項改為PostProcessingVolumes。相機(jī)只會接受勾選的Layer的后效處理。

③設(shè)置Anti-aliasing(抗鋸齒):使畫面減少鋸齒,更加平滑。Mode下拉菜單選項改為Fast Approximate Anti-aliasing(FXAA),觀察頭頂?shù)膮^(qū)別。

3 創(chuàng)建Post-Processing Volume及參數(shù)設(shè)置
(1) 在Hierarchy窗口中,空白處右鍵 > Create Empty,按F2重命名為“GlobalPost”。

(2) 在Inspector窗口中,把其Layer設(shè)置為PostProcessingVolumes。
(3) Transform組件的Positon改為(0,0,0)。
(4) 添加Post Process Volume組件。

(5)在Post Process Volume組件里勾選Is Global,設(shè)為全局效果。
(6) 點(diǎn)擊Profile屬性最右側(cè)的New按鈕新建后效配置文件。新建的配置文件會保存在Assets > Scenes > MainScene_Profiles文件夾里。

4 添加效果
點(diǎn)擊Add effect > Unity,里邊有一系列后處理效果。每種效果都有一堆可調(diào)參數(shù)(勸退警告),因此咱們稍微“逃課”一下,觀察使用效果前后對比圖,了解每種效果的作用就可以了。

(1)?Color Grading Effect(顏色分級):修改圖像的顏色、對比度和亮度。
添加:點(diǎn)擊Add effect…>Unity > Color Grading?.
設(shè)置參數(shù):
①勾選Tonemapping(色調(diào)映射)的Mode,并在下來菜單中選擇ACES,使畫面看起來更像電影。
②勾選Tone的Post-exposure(曝光),并設(shè)置為1,調(diào)整亮度。
③勾選并設(shè)置3個Trackballs:
把Lift(影響暗處的顏色)和Gamma(影響中間亮度的顏色)稍稍拖向右下藍(lán)色。
把Gain(影響亮處的顏色)稍稍拖向左上黃色。
設(shè)置之后,畫面陰影顯得更加深邃,燈光顯得更加暖和。


(2)?Bloom?Effect(泛光效果):給光源(燈)添加光芒。
添加:點(diǎn)擊Add effect…> Unity > Bloom。
①效果演示

②設(shè)置參數(shù):
點(diǎn)擊All勾選全部選項,并且把Intensity(強(qiáng)度)設(shè)為2.5,Threshold(閾值)設(shè)為0.75。

(3)Ambient Occlusion?Effect(環(huán)境光遮蔽):使角落、縫隙等位置變得更暗,模擬光線被遮擋的效果。
添加:點(diǎn)擊Add effect…> Unity > Ambient Occlusion。
①效果演示

②設(shè)置參數(shù)
點(diǎn)擊All勾選全部選項,并且把Intensity(強(qiáng)度)設(shè)為0.5,增加暗度;
Thickness Modifier(厚度修正)設(shè)為3.5,增大變暗區(qū)域。

(4)Vignette?Effect(暗角):使畫面的邊緣和角落變暗,讓游戲更加恐怖。
添加:點(diǎn)擊Add effect…> Unity > Vignette?。
①效果演示

②設(shè)置參數(shù)
點(diǎn)擊All勾選全部選項,并且把Intensity(強(qiáng)度)設(shè)為0.5,增大暗角范圍;
Smoothness(平滑度)設(shè)為0.3,使明暗過渡更加平滑。

(5)Lens Distortion?Effect(鏡頭失真):模擬鏡頭失真,使畫面看起來像從監(jiān)視器偷看一樣。
添加:點(diǎn)擊Add effect…> Unity > Lens Distortion?。
①效果演示

②設(shè)置參數(shù)
點(diǎn)擊All勾選全部選項,并且把Intensity(強(qiáng)度)設(shè)為35;
Scale(縮放)設(shè)為1.1,填補(bǔ)失真扭曲造成的邊角空缺。

(5) 設(shè)置完畢,Ctrl+S保存場景。趕緊Ctrl+P啟動游戲試試今天的成果吧~
結(jié)語:這一篇中我們設(shè)置了攝像機(jī)跟隨,以及調(diào)節(jié)了屏幕后效,現(xiàn)在John可以在陰暗的鬼屋里自由行走了。下一篇,我們將在出口處設(shè)置觸發(fā)器,當(dāng)John走進(jìn)觸發(fā)區(qū)域時彈出勝利結(jié)束畫面。
本期主要內(nèi)容概覽:

迫不及待想自行開始制作的小伙伴,可以瀏覽John Lemon's Haunted Jaunt官方教程:
https://learn.unity.com/project/john-lemon-s-haunted-jaunt-3d-beginner
咱們的游戲開發(fā)交流群也歡迎強(qiáng)勢插入:869551769
希望參與線下游戲開發(fā)學(xué)習(xí)的,歡~~~~~~迎訪問:http://levelpp.com/