對(duì)于新手來(lái)說(shuō)袱贮,使用虛幻4引擎開(kāi)發(fā)游戲并沒(méi)有想象中的那么難哟楷。特別是虛幻4中引入的藍(lán)圖可視化編程系統(tǒng)讓游戲開(kāi)發(fā)變得更加容易上手馍刮。對(duì)于某些類(lèi)型的游戲簸搞,我們甚至可以不寫(xiě)一行代碼就創(chuàng)建一款完整的游戲。
在Part 1的教程中塞栅,我們主要學(xué)習(xí)如何使用虛幻4引擎的藍(lán)圖系列來(lái)開(kāi)發(fā)一款簡(jiǎn)單的游戲者铜。
Part 1的教程又可以分為以下7個(gè)部分:
1.開(kāi)始前的準(zhǔn)備
2.藍(lán)圖系統(tǒng)
3.材質(zhì)
4.UI
5.如何創(chuàng)建一款簡(jiǎn)單的游戲
6.動(dòng)畫(huà)
7.音效
開(kāi)始前的準(zhǔn)備
這個(gè)小節(jié)的內(nèi)容主要是為了讓大家對(duì)虛幻4引擎有個(gè)基本的概念,我們將要學(xué)習(xí)如何安裝虛幻4引擎放椰,如何導(dǎo)入游戲資源作烟,如何創(chuàng)建材質(zhì),以及如何使用藍(lán)圖系統(tǒng)創(chuàng)建具有基本功能的游戲?qū)ο蟆?/p>
安裝虛幻4引擎
要安裝虛幻4引擎砾医,我們需要借助Epic Games Launcher拿撩。在瀏覽器中打開(kāi)Unreal Engine的官網(wǎng)(https://www.unrealengine.com),然后點(diǎn)擊頁(yè)面右上角的DOWNLOAD按鈕如蚜。
在下載之前压恒,我們需要?jiǎng)?chuàng)建一個(gè)Epic賬號(hào),或者也可以使用Facebook和Google的賬戶(hù)來(lái)登陸怖亭。
在創(chuàng)建賬戶(hù)并登陸后,就可以選擇下載Windows或Mac版的Launcher了坤检。
下載并安裝完成之后兴猩,打開(kāi)Launcher,可以看到如下的界面早歇。
使用自己的Epic賬號(hào)登陸即可倾芝。
此時(shí)會(huì)看到類(lèi)似下面的界面
點(diǎn)擊Install Engine開(kāi)始安裝虛幻4引擎,會(huì)看到提示選擇安裝路徑箭跳,使用默認(rèn)的就好晨另,
點(diǎn)開(kāi)Options,會(huì)看到更多的安裝選項(xiàng)谱姓,默認(rèn)情況的安裝選項(xiàng)如下圖借尿。
其中Core Components是必選項(xiàng),也是引擎最核心的部分屉来。
接下來(lái)簡(jiǎn)單介紹了三個(gè)默認(rèn)選項(xiàng)的內(nèi)容:
(1)Starter Content
其中提供了初學(xué)者用來(lái)開(kāi)發(fā)自己項(xiàng)目的免費(fèi)資源路翻,包括一些模型、材質(zhì)等等茄靠。在項(xiàng)目的開(kāi)發(fā)過(guò)程中茂契,我們可以臨時(shí)使用這些資源來(lái)代替最終的游戲資源。
(2)Templates and Feature Packs
虛幻4引擎提供了一系列的模板慨绳,在開(kāi)發(fā)項(xiàng)目的時(shí)候掉冶,根據(jù)開(kāi)發(fā)者所選的模板類(lèi)型真竖,項(xiàng)目模板中會(huì)提供一些基本的功能特性。比如厌小,當(dāng)我們選擇Slide Scroller模板來(lái)創(chuàng)建游戲的時(shí)候恢共,系統(tǒng)就會(huì)幫我們創(chuàng)建一個(gè)基本的橫版過(guò)關(guān)游戲模板,其中包含了一個(gè)游戲角色召锈,角色的基本運(yùn)動(dòng)旁振,以及一個(gè)固定的plane camera。
(3)Engine Source
需要特別強(qiáng)調(diào)的是涨岁,虛幻4引擎是完全開(kāi)源的拐袜,也就是說(shuō)只要你愿意,可以閱讀和修改引擎的任何一行代碼梢薪。因此蹬铺,如果我們需要在編輯器中添加自定義的按鈕或其它元素,理論上只要修改相關(guān)的源代碼就好秉撇。
當(dāng)然甜攀,除了這三個(gè)默認(rèn)的選項(xiàng),虛幻4引擎還提供了其它的一些選項(xiàng)琐馆,比如在Engine
Source之下有一個(gè)Editor symbols for debugging规阀,而且要占用9.32GB的空間。那么它的作用是什么呢瘦麸?簡(jiǎn)單來(lái)說(shuō)谁撼,如果你的項(xiàng)目需要用到C++語(yǔ)言,那么勾選該選項(xiàng)后將可以在Visual Studio中為項(xiàng)目的C++代碼創(chuàng)建斷點(diǎn)滋饲,以及其它調(diào)試所需要的特性厉碟。
另外,如果我們?cè)谑状伟惭b時(shí)沒(méi)有勾選該選項(xiàng)也完全不用擔(dān)心屠缭。在Epic
Games Launcher中點(diǎn)擊所安裝引擎的版本號(hào)箍鼓,會(huì)出現(xiàn)一個(gè)下拉菜單,我們可以勾選Editor Symbols for Debugging呵曹,點(diǎn)擊apply就可以安裝了款咖。當(dāng)然,在安裝完成后需要重啟引擎奄喂。
考慮到我們part1的內(nèi)容將完全使用藍(lán)圖系統(tǒng)之剧,所以這里就暫時(shí)不需要勾選該選項(xiàng)了狞谱。
接下來(lái)繼續(xù)滾動(dòng)滑動(dòng)條根竿,可以看到所支持的不同平臺(tái)徽缚。默認(rèn)情況下系統(tǒng)自動(dòng)勾選了IOS贝咙,Android和HTML5塑悼,如果我們確定不會(huì)在某個(gè)特定的平臺(tái)開(kāi)發(fā)既棺,比如HTML5湾笛,那么可以禁用即可楣导。
這里我們?nèi)勘3帜J(rèn)選擇 ,點(diǎn)擊Apply就可以開(kāi)始安裝了帘腹。
此時(shí)系統(tǒng)會(huì)回到剛才選擇安裝路徑的界面贰盗,在該界面中點(diǎn)擊Install開(kāi)始安裝。
接下來(lái)就是漫長(zhǎng)的等待阳欲,安裝的速度直接取決于網(wǎng)速舵盈。這里必須吐槽一下我這個(gè)破電信網(wǎng)絡(luò),下載速度簡(jiǎn)直是不忍直視球化,直接消耗了大量的生命秽晚。
順便說(shuō)明一下,雖然我這些操作是在Mac系統(tǒng)下進(jìn)行的筒愚,但是跟Win10系統(tǒng)上并沒(méi)有什么太大的區(qū)別赴蝇。
另外需要特別說(shuō)明的是,和Unity3d引擎類(lèi)似巢掺,UE4引擎的更新速度也很快句伶,所以如果你在這里看到的版本號(hào)不同,并沒(méi)有太大的關(guān)系陆淀。
只要你安裝的引擎版本是4.18.1及其以上的考余,那么至少在相當(dāng)一段時(shí)間里面(3-6個(gè)月),教程里面的
各種操作不會(huì)發(fā)生太大的變化轧苫。
安裝完成之后楚堤,會(huì)看到下面的界面,點(diǎn)擊Launch就可以打開(kāi)引擎了浸剩。
需要特別說(shuō)明的是钾军,正常情況下鳄袍,我們都是通過(guò)Epic Games Launcher來(lái)打開(kāi)引擎的绢要。
創(chuàng)建新項(xiàng)目
接下來(lái)我們將創(chuàng)建自己的第一個(gè)虛幻4游戲項(xiàng)目。
在等待引擎打開(kāi)之后拗小,首先我們會(huì)看到以下界面重罪。
點(diǎn)擊Blueprint選項(xiàng)卡,這里提供了多個(gè)模板可供使用哀九。不過(guò)考慮到我們要從零開(kāi)始學(xué)虛幻4剿配,因此這里選擇Blank。在界面下面的部分會(huì)看到有幾個(gè)其它選項(xiàng)設(shè)置阅束,
這里介紹一下每個(gè)選項(xiàng)的意思:
1.最左側(cè)的用來(lái)選擇目標(biāo)硬件平臺(tái):
如果選擇Mobile/Tablet呼胚,那么就會(huì)禁用一些后期處理特效,同時(shí)還會(huì)在開(kāi)發(fā)時(shí)啟用鼠標(biāo)作為觸摸輸入息裸。這里我們將其設(shè)置為Desktop/Console蝇更。
2.中間的用來(lái)設(shè)置畫(huà)質(zhì)沪编。
如果選擇Scalable 3D or 2D選項(xiàng),那么就會(huì)禁用一些后期處理特效年扩。這里我們選擇默認(rèn)的Maximum Quality(最佳畫(huà)質(zhì))蚁廓。
3.是否包含默認(rèn)提供的游戲資源。
為了簡(jiǎn)單起見(jiàn)厨幻,這里我們將其設(shè)置為No Starter Content相嵌。
在界面的最下方,我們可以選擇項(xiàng)目存放的路徑况脆,以及項(xiàng)目的名稱(chēng)饭宾,這里將其命名為BananaTurntable。
如果需要更改存放路徑漠另,我們可以點(diǎn)擊文件路徑后的三個(gè)點(diǎn)捏雌。
需要說(shuō)明的是,項(xiàng)目名稱(chēng)跟最后游戲的名稱(chēng)不是一回事笆搓,所以我們不必?fù)?dān)心這一點(diǎn)性湿。
輸入完成后,點(diǎn)擊Create Project即可满败。
玩轉(zhuǎn)虛幻4編輯器的用戶(hù)界面
一旦我們創(chuàng)建完項(xiàng)目肤频,編輯器就會(huì)自動(dòng)打開(kāi),可以大致把它分為6個(gè)部分:
1.Content Browser:
這個(gè)非常類(lèi)似于Unity3d中的Project視圖算墨,里面顯示了所有的項(xiàng)目文件宵荒。我們可以在這里創(chuàng)建新的文件和文件夾,并管理所有的項(xiàng)目文件净嘀。此外报咳,我們也可以使用搜索欄或者過(guò)濾器來(lái)找到所需的文件。
2.Modes
從這里我們可以選擇一些有用的工具挖藏,比如Landscape Tool和Foliage Tool暑刃。默認(rèn)情況下這里顯示的是Place Tool,我們可以使用它來(lái)將多種不同類(lèi)型的游戲物體放入場(chǎng)景中膜眠,比如燈光岩臣、攝像機(jī)等等。
3.World Outliner
這個(gè)比較類(lèi)似于Unity3d的Hierarchy視圖宵膨,我們可以在這里看到當(dāng)前游戲場(chǎng)景中的所有游戲?qū)ο蟆?/p>
4. Details
這個(gè)有點(diǎn)類(lèi)似Unity3d中的Inspector面板架谎,這里會(huì)顯示我們所選擇的游戲?qū)ο蟮膶傩浴T谶@里辟躏,我們可以編輯游戲?qū)ο蟮囊恍傩栽O(shè)置谷扣。不過(guò)需要注意的是,對(duì)游戲?qū)ο蟮膶傩栽O(shè)置只會(huì)改變?cè)搶?duì)象的實(shí)例捎琐。例如我們有兩個(gè)球體会涎,當(dāng)我們改變了其中一個(gè)球體的大小時(shí)涯曲,只會(huì)影響所選擇的球體對(duì)象,而不會(huì)影響另外一個(gè)球體在塔。
5.Toolbar
工具欄中提供了一系列的功能幻件,我們最常用到的就是Play。
6.Viewport
這里用可視化的形式顯示了當(dāng)前的游戲場(chǎng)景蛔溃,我們可以單擊右鍵拖動(dòng)鼠標(biāo)查看場(chǎng)景绰沥。如果想要在查看的同時(shí)移動(dòng),那么只需要按住鼠標(biāo)右鍵贺待,然后使用鍵盤(pán)上的WASD鍵就好徽曲。
導(dǎo)入所需的游戲資源
如果沒(méi)有相關(guān)的游戲資源,我們的游戲必然是蒼白而又乏味的麸塞。在這里下載香蕉的模型(鏈接:https://pan.baidu.com/s/1eR7kVPw密碼:nib3 )秃臣,其中包含了兩個(gè)文件,分別是Banana_Model.fbx和Banana_Texture.jpg哪工。當(dāng)然奥此,如果你本人會(huì)3D美術(shù)設(shè)計(jì),那么完全可以使用自己的游戲模型雁比。
下載完成之后稚虎,接下來(lái)我們需要將文件導(dǎo)入到虛幻4引擎中。在編輯器中找到Content Browser偎捎,然后點(diǎn)擊Import蠢终。
然后找到剛才所下載的兩個(gè)文件,選中相關(guān)文件茴她,然后點(diǎn)擊Open即可寻拂。
此時(shí)虛幻會(huì)提供FBX文件導(dǎo)入的相關(guān)選項(xiàng),確保
這里要取消對(duì)Import Materials的勾選丈牢,因?yàn)槲覀儗?chuàng)建自己的材質(zhì)祭钉。其它選項(xiàng)保持默認(rèn)即可。
設(shè)置完成后赡麦,點(diǎn)擊Import即可朴皆。此時(shí)可以在Content Browser中看到所導(dǎo)入的美術(shù)資源文件帕识。
需要注意的是泛粹,當(dāng)我們導(dǎo)入一個(gè)文件時(shí),有些時(shí)候引擎并不會(huì)幫我們自動(dòng)將其保存到項(xiàng)目中肮疗。我們可以右鍵點(diǎn)擊所導(dǎo)入的文件晶姊,然后選擇Save。
當(dāng)然伪货,更保險(xiǎn)的方法是從菜單欄中選擇File-Save All们衙。
另外有一點(diǎn)要注意的是钾怔,在虛幻4引擎中,3D模型又被稱(chēng)為meshes蒙挑。所以現(xiàn)在我們已經(jīng)有了香蕉的mesh宗侦,那么接下來(lái)要做的事情就是將其放入到游戲場(chǎng)景之中。
將meshes添加到場(chǎng)景之中
當(dāng)前關(guān)卡中的游戲場(chǎng)景看起來(lái)空蕩蕩的忆蚀,接下來(lái)讓我們往里面添加內(nèi)容矾利。
往關(guān)卡里面添加模型比較簡(jiǎn)單,只需要用鼠標(biāo)左鍵選中Content Browser中的Banana_Model文件馋袜,然后把它拖曳到Viewport中就好男旗。
放置到游戲場(chǎng)景之中的游戲?qū)ο罂梢砸苿?dòng)、旋轉(zhuǎn)和縮放欣鳖,對(duì)應(yīng)的鍵盤(pán)快捷鍵分別是W,E和R察皇。當(dāng)然,我們也可以直接在游戲?qū)ο笊厦媸褂檬髽?biāo)進(jìn)行操作泽台。
關(guān)于材質(zhì)(Materials)
如果我們仔細(xì)觀(guān)察游戲場(chǎng)景中的香蕉什荣,會(huì)發(fā)現(xiàn)這根本就不是我們?nèi)粘K煜さ狞S色香蕉好嗎?怀酷!難道是傳說(shuō)中的暗黑料理溃睹?!
什么是材質(zhì)(Material)
材質(zhì)定義了某個(gè)物體表面的外觀(guān)胰坟。從最基本的層面來(lái)看因篇,材質(zhì)定義了以下幾個(gè)方面:
(1)Base Color:
物體表面的基本色彩或材質(zhì)貼圖,我們可以用它來(lái)添加物體表面的外觀(guān)細(xì)節(jié)笔横,或者色彩的變化竞滓。
(2)Metallic:
代表了物體表面的“金屬化”程度,或者說(shuō)表面有多像金屬吹缔。通常來(lái)說(shuō)商佑,純金屬有最高的Metallic數(shù)值,而纖維的Metallic值則為0厢塘。
(3)Specular:
代表了非金屬物體表面的鏡面反射程度茶没。例如,陶瓷物體的表面擁有比較高的Specular數(shù)值晚碾,而粘土的Specular數(shù)值則較低抓半。
(4)Roughness:
代表了物體表面的粗糙程度,擁有最大roughness數(shù)值的表面完全不會(huì)發(fā)亮格嘁。這個(gè)數(shù)值通常用于類(lèi)似巖石或木頭的物體表面笛求。
下圖顯示了三種不同材質(zhì)的示例。它們有相同的顏色,但是特征不同探入,每種材質(zhì)都將其所對(duì)應(yīng)的特征值調(diào)至最高狡孔,而其它的屬性值則被設(shè)置為0。
創(chuàng)建材質(zhì)
為了創(chuàng)建一種材質(zhì)蜂嗽,在編輯器中切換到Content Browser苗膝,然后點(diǎn)擊綠色的Add New按鈕。此時(shí)會(huì)彈出一個(gè)菜單植旧,其中顯示了我們可以創(chuàng)建的游戲資源列表荚醒。點(diǎn)擊Material即可。
將新創(chuàng)建的材質(zhì)命名為Banana_Material隆嗅,然后雙擊該文件界阁,就可以在材質(zhì)編輯器中將其打開(kāi)。
和材質(zhì)編輯器(Material Editor)的第一次親密接觸
材質(zhì)編輯器大概可以分為五個(gè)大的區(qū)域胖喳,如下圖所示:
1.Graph區(qū):
這個(gè)面板中包含了材質(zhì)中的所有節(jié)點(diǎn)泡躯,以及Result節(jié)點(diǎn)。我們可以點(diǎn)擊右鍵丽焊,然后移動(dòng)鼠標(biāo)來(lái)平移該視圖较剃。此外,還可以通過(guò)鼠標(biāo)滾輪來(lái)縮放該視圖技健。
2.Details區(qū):
此處顯示了所選擇的任何節(jié)點(diǎn)的詳細(xì)屬性写穴。如果沒(méi)選中任何節(jié)點(diǎn),那么此處將顯示材質(zhì)的屬性雌贱。
3.Viewport區(qū):
此處顯示了材質(zhì)的預(yù)覽效果啊送。我們可以按住鼠標(biāo)左鍵,然后移動(dòng)鼠標(biāo)來(lái)旋轉(zhuǎn)攝像機(jī)欣孤。同時(shí)馋没,我們也可以通過(guò)鼠標(biāo)滾輪來(lái)縮放預(yù)覽效果。
4.Palette區(qū):
此處顯示了材質(zhì)中可用的所有節(jié)點(diǎn)清單降传。
5.工具欄
這里顯示了設(shè)置材質(zhì)所用的相關(guān)工具篷朵。
什么是Node(節(jié)點(diǎn))?
在開(kāi)始創(chuàng)建我們自己的材質(zhì)之前婆排,需要了解用于創(chuàng)建材質(zhì)的對(duì)象:nodes(節(jié)點(diǎn))
在虛幻4中声旺,材質(zhì)主要是由節(jié)點(diǎn)組成的,我們可以選擇多種不同類(lèi)型的節(jié)點(diǎn)段只,而這些節(jié)點(diǎn)也具備不同的功能腮猖。
節(jié)點(diǎn)可能有自己的輸入和輸出,輸入在節(jié)點(diǎn)的左側(cè)翼悴,而輸出則在節(jié)點(diǎn)的右側(cè)缚够。這些輸入和輸出點(diǎn)使用帶箭頭的原點(diǎn)來(lái)表示。
下面這個(gè)圖顯示了如何使用Muliply和Constant3Vector節(jié)點(diǎn)為某個(gè)材質(zhì)添加黃色鹦赎。
材質(zhì)有一個(gè)特殊的節(jié)點(diǎn)谍椅,名為Result節(jié)點(diǎn),在我們這個(gè)例子中就是Banana_Material古话。這個(gè)節(jié)點(diǎn)也是所有節(jié)點(diǎn)的終點(diǎn)雏吭。我們?cè)谶@個(gè)節(jié)點(diǎn)中所插入的東西將決定材質(zhì)最終的外觀(guān)。
添加Texture(材質(zhì)貼圖)
為了給模型添加色彩和外觀(guān)細(xì)節(jié)陪踩,我們需要texture(材質(zhì)貼圖)杖们。texture本質(zhì)上是一個(gè)2D突破。通常情況下肩狂,我們會(huì)將材質(zhì)貼圖投射到3D模型的表面摘完,從而讓其具備色彩和外觀(guān)細(xì)節(jié)。
為了給??模型添加材質(zhì)貼圖傻谁,我們需要用到之前所添加的Banana_Texture.jpg孝治。在虛幻4中,我們可以使用TextureSample節(jié)點(diǎn)來(lái)給材質(zhì)添加貼圖审磁。
在材質(zhì)編輯器右側(cè)的Palette面板中搜索TextureSample谈飒,左鍵單擊選中它,并將其拖動(dòng)到graph區(qū)态蒂。
接下來(lái)讓我們選擇需要用到的貼圖杭措。首先選中剛才的TextureSample節(jié)點(diǎn),然后在Details面板中點(diǎn)擊Texture右側(cè)的下拉列表钾恢,從中選擇Banana_Texture即可手素。
為了在材質(zhì)效果預(yù)覽處看到貼圖的效果,我們需要把剛剛設(shè)置的貼圖連接到Result節(jié)點(diǎn)中瘩蚪。左鍵點(diǎn)擊TextureSample節(jié)點(diǎn)的
白色輸出端口刑桑,從那里拖曳出一條線(xiàn)到Banana_Material的Base Color輸入端口。
等待一會(huì)兒募舟,就會(huì)在Viewport中看到材質(zhì)的預(yù)覽效果了
祠斧。按住鼠標(biāo)左鍵不放并拖曳可以旋轉(zhuǎn)預(yù)覽效果,從而查看其它的細(xì)節(jié)拱礁。
點(diǎn)擊工具欄上的Apply按鈕來(lái)更新材質(zhì)琢锋,然后關(guān)閉材質(zhì)編輯器即可。
使用所創(chuàng)建的材質(zhì)
接下來(lái)我們將把剛剛創(chuàng)建的材質(zhì)應(yīng)用到香蕉模型上呢灶∥獬回到虛幻4編輯器的Content Browser區(qū),雙擊Banana_Model鸯乃,會(huì)打開(kāi)類(lèi)似下面的編輯器:
在Details面板找到Material部分鲸阻,點(diǎn)擊Element
0右側(cè)的下拉列表跋涣,從中選擇Banana_Material。
此時(shí)會(huì)看到預(yù)覽區(qū)的??已經(jīng)非常接近真實(shí)了鸟悴。
關(guān)閉模型編輯器陈辱,返回虛幻4的主編輯器,并查看Viewport區(qū)细诸。此時(shí)沛贪,你會(huì)看到場(chǎng)景中的香蕉已經(jīng)具備一個(gè)貼圖了。恭喜你震贵,現(xiàn)在你已經(jīng)具備了成為一個(gè)關(guān)卡設(shè)計(jì)師的所有所需的基本技能~
注意:如果你覺(jué)得環(huán)境中的光照太暗利赋,那么可以在編輯器中的World Outliner視圖中找到Light Source,在Details面板中找到Intensity屬性猩系,并將其設(shè)置為一個(gè)更高的數(shù)值即可媚送。
在結(jié)束今天的課程之前,讓我們先保存并關(guān)閉當(dāng)前的關(guān)卡寇甸。
點(diǎn)擊工具欄上的Save Current季希,或是從菜單欄中選擇File-Save All,
然后在彈出的界面中幽纷,在Name處輸入FirstMap式塌,或是任何你喜歡的其它名稱(chēng),點(diǎn)擊Save即可友浸。
關(guān)閉編輯器峰尝,就可以結(jié)束今天的學(xué)習(xí)了。
好了收恢,今天的課程到此結(jié)束武学,先休息一會(huì)兒吧~
因本人時(shí)間精力有限,無(wú)法跟大家一對(duì)一解決相關(guān)的技術(shù)問(wèn)題伦意,請(qǐng)大家在QQ交流群 594353854 中互幫互助火窒。群里已經(jīng)幾百人了 大家遇到啥問(wèn)題都會(huì)在里面交流!而且免費(fèi)分享零基礎(chǔ)入門(mén)資料 iOS開(kāi)發(fā)資料一整套驮肉!是個(gè)非常好的學(xué)習(xí)交流地方熏矿!也有程序員大神給大家熱心解答各種問(wèn)題!很快滿(mǎn)員了离钝,欲進(jìn)從速哦票编!各種PDF等你來(lái)下載!全部都是免費(fèi)的哦卵渴!只為幫助大家快速入門(mén)慧域,所以我在群里等你們過(guò)來(lái)一起交流學(xué)習(xí)呢!
著作侵刪