
讓我們繼續(xù)學(xué)習(xí)吧。
關(guān)于藍圖系統(tǒng)
現(xiàn)在我們的香蕉已經(jīng)有模有樣了,但是如果把它放置在一個上旋轉(zhuǎn)會更有意思。而要創(chuàng)建一個轉(zhuǎn)臺,我們需要用到藍圖。
用最簡單的話來首,藍圖代表著一個”事物“。我們可以用藍圖來創(chuàng)建游戲?qū)ο蟮亩ㄖ苹袨?。游戲?qū)ο罂梢允菍嵨铮ū热甾D(zhuǎn)臺),也可以是某種抽象的概念,比如健康系統(tǒng)。
想要設(shè)計一輛會飛的汽車嗎?用藍圖吧。想要設(shè)計一個飛豬?用藍圖吧。想要一個發(fā)光的貓咪?用藍圖吧。

和材質(zhì)類似,藍圖使用的也是基于節(jié)點的系統(tǒng)。這就意味著使用藍圖系統(tǒng)開發(fā)要做的就是創(chuàng)建節(jié)點,然后在節(jié)點之間創(chuàng)建關(guān)聯(lián),不需要寫一行代碼~!
注意:如果你是個代碼狂魔,那么當然可以選擇使用C++。
而且在虛幻4的4.18版本中,使用藍圖創(chuàng)建的游戲是可以轉(zhuǎn)化為C++代碼的。
盡管藍圖用起來很貼心很方便,但是在執(zhí)行效率上當然是不如C++代碼的。所以如果我們需要用到某種復(fù)雜的算法,那么就必須考慮使用C++。
但即便你是個代碼狂魔,那么也仍然可以考慮使用藍圖系統(tǒng),大不了兩個一起用嗎。
小編推薦大家加一下這個群:594353854 群里已經(jīng)幾百人了 大家遇到啥問題都會在里面交流!而且免費分享零基礎(chǔ)入門資料 開發(fā)資料一整套!是個非常好的學(xué)習(xí)交流地方!也有程序員大神給大家熱心解答各種問題!很快滿員了。欲進從速哦!各種PDF等你來下載!全部都是免費的哦!只為幫助大家快速入門,所以小編在群里等你們過來一起交流學(xué)習(xí)呢!
使用藍圖系統(tǒng)有以下的好處:
(1)通常來說,使用藍圖開發(fā)要比C++快。
(2)藍圖更便于項目的組織。我們可以把節(jié)點很方便的分隔成不同的區(qū)域,比如功能和graph。
(3)如果你是個3D美術(shù)設(shè)計人員,
或者需要跟3D美術(shù)設(shè)計人員密切合作,那么使用藍圖系統(tǒng)會更便于修改項目。
通常來說,建議大家使用藍圖系統(tǒng)來創(chuàng)建對象。當我們需要用到比較復(fù)雜的算法,或者需要提升運行效能時,可以將其轉(zhuǎn)換為C++代碼。
打開項目
在上一課的內(nèi)容中我們已經(jīng)保存了項目。因此,當需要重新打開項目時,首先還是打開Epic Games Launcher,然后點擊Launch按鈕打開引擎。

等待加載完成后,會看到類似下面的界面:

點擊Open即可打開項目。此時你會看到我們之前的游戲場景不見了,只有在Content Browser中雙擊打開FirstMap才能進入游戲場景。
為了方便起見,我們可以對項目做一點設(shè)置。點擊工具欄上的Setting,選擇Project Settings,
在打開的新界面中,從左側(cè)選擇Maps&Modes,然后在Default Map處將Editor Startup Map和G
ame Default Map右邊的屬性選擇為FirstMap,也就是我們在上一課中所保存的游戲場景。關(guān)閉虛幻編輯器,從Epic Games Launcher中重新打開引擎,然后打開項目,就會自動打開之前所創(chuàng)建的游戲場景了。
創(chuàng)建藍圖
在虛幻4引擎中切換到Content Browser,然后點擊Add New,從列表中選擇Blueprint Class。

此時會彈出一個窗口,提示讓我們選擇藍圖的父類。關(guān)于父類和繼承的概念,我們會在后面詳細介紹,這里只需要知道,當我們選擇某一種父
類后,藍圖系統(tǒng)將繼承該父類的所有變量、函數(shù)和組件。在繼續(xù)之前,建議大家仔細閱讀以下每個父類的描述。

注意,對于Actor,Pawn和Character來說,Character繼承自Pawn,而Pawn又繼承自Actor。此外,Player Controller也繼承自Actor。
簡單來說,Pawn,Character和Player Controller也是Actor。
考慮到我們這里要添加的轉(zhuǎn)臺會在游戲場景中的固定位置,Actor類顯然最合適。因此我們在這里選擇Actor,并將新的藍圖類命名為Banana_Blueprint。

最后,雙擊Banaba_Blueprint打開這個藍圖文件。
如果你看到的是類似下面的界面,那么請點擊Open Full Blueprint Editor,

完全狀態(tài)下的藍圖編輯器如下圖所示
其中各個區(qū)域的作用如下:

1.Components區(qū):
包含了當前組件的列表。
虛幻4中的組件和Unity3d中的組件有一定的類似之處,但又有一定的區(qū)別。
2.My Blueprint區(qū):
這個部分用于慣例藍圖中的graph,函數(shù)和變量。我們可以按住鼠標右鍵不放,拖動鼠標以平移,也可以通過鼠標滾輪來縮放視圖。
3.Graph區(qū):
該部
分是藍圖系統(tǒng)的精華所在。這里會顯示藍圖中所有的節(jié)點和邏輯機制。
當然,要注意此時我們選擇的是Event Graph
4.Details區(qū):
該部分用于顯示所選擇項目的具體屬性
5.Viewport區(qū):

當我們在選項卡上選擇的是Viewport,那么就可以看到帶有視覺元素的所有組件。我們可以使用和主編輯器類似的操作在移動和查看視覺元素。
創(chuàng)建轉(zhuǎn)臺
想要創(chuàng)建轉(zhuǎn)臺,我們需要兩個部分:底座和display。我們可以使用組件來創(chuàng)建這兩個部分。
什么是組件?
如果把藍圖系統(tǒng)比喻成一輛車,那么組件就是組成車的各種零部件,比如車門、車輪和引擎都是組件的例子。
不過組件并不局限于實際的物體。
舉例而言,為了讓汽車移動,我們需要添加一個移動組件。為了讓汽車飛行,我們又需要添加一個飛行組件。
學(xué)過Unity3d的朋友可能會對其中的組件系統(tǒng)有一定的了解。雖然和虛幻4中的組件系統(tǒng)有一定的差異,但大致的作用是類似的。
添加組件

如果我們需要查看組件的可視化元素,那么就需要切換到Viewport視圖。點擊Viewport選項卡以切換到該視圖。
注意:DefaultSceneRoot組件在游戲運行的時候并不會顯示,它只會顯示在編輯器中。
轉(zhuǎn)臺包含了兩個組件:
(1)Cylinder:
一個簡單的白色圓柱體,它將構(gòu)成底座。
(2)Static Mesh:
該組件將顯示香蕉的模型
為了添加底座,讓我們在藍圖編輯器中找到Components面板,點擊Add Component,然后選擇Cylinder。

此時在Viewport視圖中可以看到多了一個圓柱體。
當然現(xiàn)在它的高度有點超出預(yù)期,我們需要把它變得扁平一點。按下鍵盤上的R鍵,然后把圓柱體的高度降低,具體的尺寸大小不是那么的重要,因為我們后續(xù)隨時都可以繼續(xù)調(diào)整。

現(xiàn)在該是添加模型的時候了。
返回Components面板,左鍵單擊空白區(qū),以取消選中Cylinder組件。這樣確保我們所添加的下一個組件不會關(guān)聯(lián)到Cylinder組件上。
注意:

如果你不這么做,那么所添加的下一個組件就會關(guān)聯(lián)到Cylinder組件上。這就意味著所添加的新組件將繼承Cylinder組件的比例。因為我們曾經(jīng)調(diào)整過圓柱體的比例,那么新添加的組件比例也會被調(diào)整。
接下來,點擊Add
Component,從列表中選擇Static Mesh。

為了顯示香蕉,需要選中Static Mesh組件,然后在Details面板中點擊Static Mesh右側(cè)的下拉列表,然后選擇Banana_Model。

接下來需要把香蕉移動到合適的位置。按下鍵盤上的W鍵,然后把香蕉向上移動到合適的位
置。

點擊藍圖編輯器工具欄上的Compile按鈕和Save按鈕,以保存所做的修改。
好了,現(xiàn)在我們已經(jīng)在藍圖中添加了所需的視覺元素。
在下一課的內(nèi)容中,我們將學(xué)習(xí)如何讓轉(zhuǎn)臺旋轉(zhuǎn)。