從零開始學(xué)虛幻4游戲開發(fā)系列03

讓我們繼續(xù)學(xué)習(xí)吧念搬。

關(guān)于藍(lán)圖系統(tǒng)

現(xiàn)在我們的香蕉已經(jīng)有模有樣了咏花,但是如果把它放置在一個(gè)上旋轉(zhuǎn)會(huì)更有意思迹冤。而要?jiǎng)?chuàng)建一個(gè)轉(zhuǎn)臺(tái)操刀,我們需要用到藍(lán)圖棚壁。

用最簡單的話來首陆赋,藍(lán)圖代表著一個(gè)”事物“轧膘。我們可以用藍(lán)圖來創(chuàng)建游戲?qū)ο蟮亩ㄖ苹袨榘芨弧S螒驅(qū)ο罂梢允菍?shí)物(比如轉(zhuǎn)臺(tái))讥此,也可以是某種抽象的概念拢锹,比如健康系統(tǒng)。

想要設(shè)計(jì)一輛會(huì)飛的汽車嗎暂论?用藍(lán)圖吧面褐。想要設(shè)計(jì)一個(gè)飛豬?用藍(lán)圖吧取胎。想要一個(gè)發(fā)光的貓咪展哭?用藍(lán)圖吧。

和材質(zhì)類似闻蛀,藍(lán)圖使用的也是基于節(jié)點(diǎn)的系統(tǒng)匪傍。這就意味著使用藍(lán)圖系統(tǒng)開發(fā)要做的就是創(chuàng)建節(jié)點(diǎn),然后在節(jié)點(diǎn)之間創(chuàng)建關(guān)聯(lián)觉痛,不需要寫一行代碼~役衡!

注意:如果你是個(gè)代碼狂魔,那么當(dāng)然可以選擇使用C++薪棒。

而且在虛幻4的4.18版本中手蝎,使用藍(lán)圖創(chuàng)建的游戲是可以轉(zhuǎn)化為C++代碼的。

盡管藍(lán)圖用起來很貼心很方便俐芯,但是在執(zhí)行效率上當(dāng)然是不如C++代碼的棵介。所以如果我們需要用到某種復(fù)雜的算法,那么就必須考慮使用C++吧史。

但即便你是個(gè)代碼狂魔邮辽,那么也仍然可以考慮使用藍(lán)圖系統(tǒng),大不了兩個(gè)一起用嗎贸营。

小編推薦大家加一下這個(gè)群:594353854 群里已經(jīng)幾百人了 大家遇到啥問題都會(huì)在里面交流吨述!而且免費(fèi)分享零基礎(chǔ)入門資料 開發(fā)資料一整套!是個(gè)非常好的學(xué)習(xí)交流地方钞脂!也有程序員大神給大家熱心解答各種問題揣云!很快滿員了。欲進(jìn)從速哦冰啃!各種PDF等你來下載邓夕!全部都是免費(fèi)的哦肋层!只為幫助大家快速入門,所以小編在群里等你們過來一起交流學(xué)習(xí)呢翎迁!

使用藍(lán)圖系統(tǒng)有以下的好處:

(1)通常來說栋猖,使用藍(lán)圖開發(fā)要比C++快。

(2)藍(lán)圖更便于項(xiàng)目的組織汪榔。我們可以把節(jié)點(diǎn)很方便的分隔成不同的區(qū)域蒲拉,比如功能和graph。

(3)如果你是個(gè)3D美術(shù)設(shè)計(jì)人員痴腌,

或者需要跟3D美術(shù)設(shè)計(jì)人員密切合作雌团,那么使用藍(lán)圖系統(tǒng)會(huì)更便于修改項(xiàng)目。

通常來說士聪,建議大家使用藍(lán)圖系統(tǒng)來創(chuàng)建對(duì)象锦援。當(dāng)我們需要用到比較復(fù)雜的算法,或者需要提升運(yùn)行效能時(shí)剥悟,可以將其轉(zhuǎn)換為C++代碼灵寺。

打開項(xiàng)目

在上一課的內(nèi)容中我們已經(jīng)保存了項(xiàng)目。因此区岗,當(dāng)需要重新打開項(xiàng)目時(shí)略板,首先還是打開Epic Games Launcher,然后點(diǎn)擊Launch按鈕打開引擎慈缔。

等待加載完成后叮称,會(huì)看到類似下面的界面:

點(diǎn)擊Open即可打開項(xiàng)目。此時(shí)你會(huì)看到我們之前的游戲場景不見了藐鹤,只有在Content Browser中雙擊打開FirstMap才能進(jìn)入游戲場景瓤檐。

為了方便起見,我們可以對(duì)項(xiàng)目做一點(diǎn)設(shè)置娱节。點(diǎn)擊工具欄上的Setting挠蛉,選擇Project Settings,

在打開的新界面中括堤,從左側(cè)選擇Maps&Modes碌秸,然后在Default Map處將Editor Startup Map和G

ame Default Map右邊的屬性選擇為FirstMap绍移,也就是我們?cè)谏弦徽n中所保存的游戲場景悄窃。關(guān)閉虛幻編輯器,從Epic Games Launcher中重新打開引擎蹂窖,然后打開項(xiàng)目轧抗,就會(huì)自動(dòng)打開之前所創(chuàng)建的游戲場景了。

創(chuàng)建藍(lán)圖

在虛幻4引擎中切換到Content Browser瞬测,然后點(diǎn)擊Add New横媚,從列表中選擇Blueprint Class纠炮。

此時(shí)會(huì)彈出一個(gè)窗口,提示讓我們選擇藍(lán)圖的父類灯蝴。關(guān)于父類和繼承的概念恢口,我們會(huì)在后面詳細(xì)介紹,這里只需要知道穷躁,當(dāng)我們選擇某一種父

類后耕肩,藍(lán)圖系統(tǒng)將繼承該父類的所有變量、函數(shù)和組件问潭。在繼續(xù)之前猿诸,建議大家仔細(xì)閱讀以下每個(gè)父類的描述。

注意狡忙,對(duì)于Actor,Pawn和Character來說梳虽,Character繼承自Pawn,而Pawn又繼承自Actor。此外灾茁,Player Controller也繼承自Actor窜觉。

簡單來說,Pawn北专,Character和Player Controller也是Actor竖螃。

考慮到我們這里要添加的轉(zhuǎn)臺(tái)會(huì)在游戲場景中的固定位置,Actor類顯然最合適逗余。因此我們?cè)谶@里選擇Actor特咆,并將新的藍(lán)圖類命名為Banana_Blueprint。

最后录粱,雙擊Banaba_Blueprint打開這個(gè)藍(lán)圖文件腻格。

如果你看到的是類似下面的界面,那么請(qǐng)點(diǎn)擊Open Full Blueprint Editor啥繁,

完全狀態(tài)下的藍(lán)圖編輯器如下圖所示

其中各個(gè)區(qū)域的作用如下:

1.Components區(qū):

包含了當(dāng)前組件的列表菜职。

虛幻4中的組件和Unity3d中的組件有一定的類似之處,但又有一定的區(qū)別旗闽。

2.My Blueprint區(qū):

這個(gè)部分用于慣例藍(lán)圖中的graph酬核,函數(shù)和變量。我們可以按住鼠標(biāo)右鍵不放适室,拖動(dòng)鼠標(biāo)以平移嫡意,也可以通過鼠標(biāo)滾輪來縮放視圖。

3.Graph區(qū):

該部

分是藍(lán)圖系統(tǒng)的精華所在捣辆。這里會(huì)顯示藍(lán)圖中所有的節(jié)點(diǎn)和邏輯機(jī)制蔬螟。

當(dāng)然,要注意此時(shí)我們選擇的是Event Graph

4.Details區(qū):

該部分用于顯示所選擇項(xiàng)目的具體屬性

5.Viewport區(qū):

當(dāng)我們?cè)谶x項(xiàng)卡上選擇的是Viewport汽畴,那么就可以看到帶有視覺元素的所有組件旧巾。我們可以使用和主編輯器類似的操作在移動(dòng)和查看視覺元素耸序。

創(chuàng)建轉(zhuǎn)臺(tái)

想要?jiǎng)?chuàng)建轉(zhuǎn)臺(tái),我們需要兩個(gè)部分:底座和display。我們可以使用組件來創(chuàng)建這兩個(gè)部分鲁猩。

什么是組件坎怪?

如果把藍(lán)圖系統(tǒng)比喻成一輛車,那么組件就是組成車的各種零部件廓握,比如車門芋忿、車輪和引擎都是組件的例子。

不過組件并不局限于實(shí)際的物體疾棵。

舉例而言戈钢,為了讓汽車移動(dòng),我們需要添加一個(gè)移動(dòng)組件是尔。為了讓汽車飛行殉了,我們又需要添加一個(gè)飛行組件。

學(xué)過Unity3d的朋友可能會(huì)對(duì)其中的組件系統(tǒng)有一定的了解拟枚。雖然和虛幻4中的組件系統(tǒng)有一定的差異薪铜,但大致的作用是類似的。

添加組件

如果我們需要查看組件的可視化元素恩溅,那么就需要切換到Viewport視圖隔箍。點(diǎn)擊Viewport選項(xiàng)卡以切換到該視圖。

注意:DefaultSceneRoot組件在游戲運(yùn)行的時(shí)候并不會(huì)顯示脚乡,它只會(huì)顯示在編輯器中蜒滩。

轉(zhuǎn)臺(tái)包含了兩個(gè)組件:

(1)Cylinder:

一個(gè)簡單的白色圓柱體,它將構(gòu)成底座奶稠。

(2)Static Mesh:

該組件將顯示香蕉的模型

為了添加底座俯艰,讓我們?cè)谒{(lán)圖編輯器中找到Components面板,點(diǎn)擊Add Component锌订,然后選擇Cylinder竹握。

此時(shí)在Viewport視圖中可以看到多了一個(gè)圓柱體。

當(dāng)然現(xiàn)在它的高度有點(diǎn)超出預(yù)期辆飘,我們需要把它變得扁平一點(diǎn)啦辐。按下鍵盤上的R鍵,然后把圓柱體的高度降低蜈项,具體的尺寸大小不是那么的重要芹关,因?yàn)槲覀兒罄m(xù)隨時(shí)都可以繼續(xù)調(diào)整。

現(xiàn)在該是添加模型的時(shí)候了战得。

返回Components面板充边,左鍵單擊空白區(qū)庸推,以取消選中Cylinder組件常侦。這樣確保我們所添加的下一個(gè)組件不會(huì)關(guān)聯(lián)到Cylinder組件上浇冰。

注意:

如果你不這么做,那么所添加的下一個(gè)組件就會(huì)關(guān)聯(lián)到Cylinder組件上聋亡。這就意味著所添加的新組件將繼承Cylinder組件的比例肘习。因?yàn)槲覀冊(cè)?jīng)調(diào)整過圓柱體的比例,那么新添加的組件比例也會(huì)被調(diào)整坡倔。

接下來漂佩,點(diǎn)擊Add

Component,從列表中選擇Static Mesh罪塔。

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

接下來需要把香蕉移動(dòng)到合適的位置。按下鍵盤上的W鍵佃蚜,然后把香蕉向上移動(dòng)到合適的位

置庸娱。

點(diǎn)擊藍(lán)圖編輯器工具欄上的Compile按鈕和Save按鈕,以保存所做的修改谐算。

好了熟尉,現(xiàn)在我們已經(jīng)在藍(lán)圖中添加了所需的視覺元素。

在下一課的內(nèi)容中洲脂,我們將學(xué)習(xí)如何讓轉(zhuǎn)臺(tái)旋轉(zhuǎn)斤儿。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市恐锦,隨后出現(xiàn)的幾起案子雇毫,更是在濱河造成了極大的恐慌,老刑警劉巖踩蔚,帶你破解...
    沈念sama閱讀 222,681評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件棚放,死亡現(xiàn)場離奇詭異,居然都是意外死亡馅闽,警方通過查閱死者的電腦和手機(jī)飘蚯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來福也,“玉大人局骤,你說我怎么就攤上這事”┐眨” “怎么了峦甩?”我有些...
    開封第一講書人閱讀 169,421評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我凯傲,道長犬辰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,114評(píng)論 1 300
  • 正文 為了忘掉前任冰单,我火速辦了婚禮幌缝,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘诫欠。我一直安慰自己涵卵,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,116評(píng)論 6 398
  • 文/花漫 我一把揭開白布荒叼。 她就那樣靜靜地躺著轿偎,像睡著了一般。 火紅的嫁衣襯著肌膚如雪被廓。 梳的紋絲不亂的頭發(fā)上贴硫,一...
    開封第一講書人閱讀 52,713評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音伊者,去河邊找鬼英遭。 笑死,一個(gè)胖子當(dāng)著我的面吹牛亦渗,可吹牛的內(nèi)容都是我干的挖诸。 我是一名探鬼主播,決...
    沈念sama閱讀 41,170評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼法精,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼多律!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起搂蜓,我...
    開封第一講書人閱讀 40,116評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤狼荞,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后帮碰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體相味,經(jīng)...
    沈念sama閱讀 46,651評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,714評(píng)論 3 342
  • 正文 我和宋清朗相戀三年殉挽,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了丰涉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,865評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡斯碌,死狀恐怖一死,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情傻唾,我是刑警寧澤投慈,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響伪煤,放射性物質(zhì)發(fā)生泄漏加袋。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,211評(píng)論 3 336
  • 文/蒙蒙 一带族、第九天 我趴在偏房一處隱蔽的房頂上張望锁荔。 院中可真熱鬧蟀给,春花似錦蝙砌、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至前普,卻和暖如春肚邢,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背拭卿。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評(píng)論 1 274
  • 我被黑心中介騙來泰國打工骡湖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人峻厚。 一個(gè)月前我還...
    沈念sama閱讀 49,299評(píng)論 3 379
  • 正文 我出身青樓响蕴,卻偏偏與公主長得像,于是被迫代替她去往敵國和親惠桃。 傳聞我的和親對(duì)象是個(gè)殘疾皇子浦夷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,870評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容