<style></style>
原文:Unreal Engine 4 Tutorial for Beginners: Getting Started
作者:Tommy Tran
譯者:Shuchang Liu
本篇教程將引導你安裝Unreal Engine 4引擎,了解基本操作界面,并創建你的第一個游戲物體,
Unreal Engine 4引擎本質上是一個游戲開發工具集,能夠勝任從2D手機游戲到3A主機游戲的制作,其中不乏方舟生存:進化,鐵拳7,王國之心3等3A游戲,
新手很容易就能上手Unreal Engine 4引擎開發游戲,通過藍圖可視化腳本系統,你甚至無需撰寫任何代碼就制作出游戲!配合簡單易上手的操作界面,開發者能很快制作出可玩的游戲原型,
本篇教程主要幫助初學者了解上手Unreal Engine 4引擎,以下是本篇教程的關鍵知識點:
- 引擎安裝
- 資源匯入
- 創建材質
- 利用藍圖創建具有基本功能的物體
為了實際掌握這些知識點,我們會動手寫個小例子:在游戲場景創建一個轉臺,旋轉展示香蕉,
注意:本篇教程只是Unreal Engine 4系列教程的其中一篇:
- Part 1:入門
- Part 2:藍圖
- Part 3:材質
- Part 4:UI
- Part 5:制作簡單游戲
- Part 6:影片
- Part 7:音頻
- Part 8:粒子系統
- Part 9:AI
- Part 10:制作簡單FPS游戲
安裝Unreal Engine 4引擎
Unreal Engine 4引擎需要通過Epic Games 啟動器來下載安裝,直接前往官網,點擊右上角的Get Unreal按鈕,

你需要先創建一個賬號,才能下載啟動器,創建完賬號后,根據作業系統下載對應的啟動器,

下載安裝并打開啟動器,你會看到下面的視窗:

接著輸入注冊郵箱和密碼,點擊Sign In,會看到下面的視窗:

點擊左上角的Install Engine,啟動器會跳轉到選擇組件安裝的界面,

注意:Epic Game一直在更新Unreal Engine 4引擎,所以你下載的引擎版本可能跟教程中的不一樣,我剛開始寫這篇教程,引擎版本就更新到了4.14.3!不過只要你的引擎版本在4.14以上,這篇教程的內容還是適用的,
安裝界面的默認選項是Starter Content,Templates and Feature Packs和Engine Source,我建議你全部勾選,因為:
- Starter Content:資源包,你可以在專案里免費使用這些資源,其中包括模型,材質,你可以把這些資源用于制作游戲原型,或者用于最終成品里,
- Templates and Feature Packs:勾選該選項,會根據你選擇的型別構建具備基本功能的模板專案,比如,勾選Side Scroller創建出來的模板專案,會有一個具備移動功能的角色以及固定視角的平面攝像機,
- Engine Source: Epic提供了引擎原始碼,意味著任何人都可以修改引擎原始碼,比如說你想給引擎編輯器添加自定義功能,可以通過修改原始碼做到這一點,
下拉串列,可以看到引擎支持多個平臺,如果你不打算針對某些平臺開發游戲,可以不用勾選,

選擇完畢后,點擊Install,當安裝完畢,Library頁簽就會出現引擎資訊,現在我們可以來創建專案了,

創建專案
點擊Launch按鈕打開專案瀏覽器,然后點擊New Project頁簽,

點擊Blueprint頁簽,你可以選擇其中一種模版來創建專案,不過,我們打算從頭實作教程例子,所以選擇Blank創建空模板專案,
在底下,你可以看到一些額外設定,

簡單講解這些設定的作用:
- Target Hardware: 選擇Mobile/Tablet會禁用掉一些后處理效果,在該設定下,滑鼠輸入會被自動識別成觸控輸入,我們把該選項設定成Desktop/Console,
- Graphic Target:選擇Scalable 3D or 2D會禁用一些后處理特效,把該選項設定成Maximum Quality,
- Starter Content:你可以啟用該選項來引入初始資源,簡單起見,該選項設定成No Starter Content,
最后底下的部門用于設定專案存放位置,以及你的專案檔案名,

你可以通過點擊右側的省略號圖示修改專案存放位置,
專案名稱指的并不是游戲名稱,后續修改游戲名稱,也無需修改專案名稱,選擇Name處的文本框,輸入BananaTurntable,
最后,點擊Create Project,
認識操作界面
一旦創建了專案,編輯器就會自動打開,整個編輯器由多個面板組成:

1.Content Browser: 該面板展示了所有專案的檔案,使用該面板創建檔案夾,存放專案檔案,你可以使用搜索框或篩選串列搜索檔案,
2.Modes:通過該面板可以選擇地形工具和植被工具,默認打開的頁簽是放置工具,用于在關卡放置不同型別的物體比如光線和攝像機,
3.World Outliner:展示當前關卡的所有物體,你可以對物體進行分門別類管理,創建不同檔案夾,將同類物體放在一起,
4.Details:該面板展示你所選中物體的詳細屬性,我們可以通過該面板編輯物體,編輯只會對當前物體實體生效,比如,場景里有兩個球體,你修改了其中一個球體的大小,修改只對你選中的球體生效,
5.Toolbar:包含一系列不同方法,最常用的方法通常是Play,
6.Viewport:關卡場景視窗,你可以通過長按右鍵并移動滑鼠旋轉視角,長按右鍵并使用WASD鍵移動視角,
匯入資源
作為一個轉臺卻沒有任何東西可展示有什么意思?下載香蕉模型,下載包里有兩個檔案:Banana_Model.fbx 和Banana_Texture.jpg,你當然也可以用別的模型來完成這個例子,但你都有一根屌炸天的香蕉了,完全不用多此一舉,
你需要先匯入香蕉模型,才可以在Unreal Engine引擎里使用,點擊Content Browser的Import按鈕,

在彈出的檔案瀏覽器里,跳轉到香蕉模型檔案夾,選中兩個檔案后點擊Open,

Unreal Engine引擎會彈出.fbx檔案的匯入選項面板,確保Import Materials是未勾選狀態,因為我們要自己創建材質,其他設定可以不用管,

點擊Import,現在Content Browser里就會出現這兩個檔案,

當做完前面的操作,這些資源還并沒有真正保存進專案里,我們需要右鍵點擊檔案,選擇Save,也通過點擊面板的File\Save All保存所有匯入資源,記得養成時常手動保存資源的習慣,
注意在Unreal Engine引擎里,模型稱之為網格,所以現在我們有了個香蕉網格,是時候把它放進場景里了,
關卡中添加網格
關卡場景現在還是空空的,所以讓我們把它豐富起來,
通過左鍵把Banana_Model從Content Browser拖拽到Viewport里,釋放左鍵,網格就放置到關卡里了,

我們可以移動、旋轉、縮放關卡里的物體,與之對應的快捷鍵是W,E,R,配合快捷鍵和滑鼠,就可以這樣調整香蕉網格了:

關于材質
如果你仔細觀察香蕉,就會發現它不是黃色的!事實上,它看起來像已經過期發黑了,

為了賦予香蕉一些色彩和細節,你需要創建一個材質,
什么是材質?
材質決定了物體的視覺外觀,基本上,材質會影響以下四個外觀屬性:
- 底色(Base Color):材質的基本色,用來決定物體的外觀顏色,
- 金屬度(Metallic):決定物體表面的金屬質感,通常來說,純金屬的金屬度值是最大的,而紡織品的金屬度為0,
- 高光(Specular):控制非金屬表面的光澤度,比如,陶瓷制品會有比較強的高光,而黏土則沒有,
- 粗糙度(Roughness):如果物體表面的粗糙度越高,光澤度就越低,通常來說,巖石和木頭表面的粗糙度就很高,
下面是三種不同材質的外觀例子,它們有著相同的顏色,不同的外觀屬性,每種材質對應的屬性都調成了最大值,而其他屬性都設定為0,

創建材質
我們可以通過在Content Browser點擊Add New按鈕,彈出可創建資源的串列選單,點擊Material,

將材質命名為**Banana_Material **,并雙擊打開材質編輯選單,

材質編輯器
材質編輯器由四個主要面板構成:

- 1. Graph:這個面板包含了你的所有節點和結果節點,通過長按右鍵和移動滑鼠來移動,滑動滾輪來縮放面板,
- 2. Details:展示選中節點的詳細屬性,如果沒有選中任何節點,面板會展示材質的詳細屬性,
- 3.Viewport:材質的預覽界面,通過長按左鍵和移動滑鼠來移動,滑動滾輪來縮放面板,
- 4. Palette:當前材質可用的節點串列,
什么是節點?
在開始制作材質前,你需要了解制作材質的基本元素:節點,
節點構成了材質的整體,材質可以擁有很多種型別的節點,各自具備不同功能,
節點擁有輸入和輸出,看起來像個帶箭頭的圓圈,左側是輸入,右側是輸出,
下面這個例子,用了個Multiply和Constant3Vector節點將貼圖改成了黃色:

材質有一個特殊的結果節點,這個節點從材質創建一開始就存在,是材質的最后一個節點,這個節點怎么連線,會直接影響材質的最終呈現效果,

添加貼圖
為了給模型添加顏色和細節,我們需要添加貼圖,貼圖就是一張2D圖片,簡單來講,2D貼圖被映射覆寫在3D模型上,從而賦予模型顏色和細節,
我們使用Banana_Texture.jpg來作為香蕉的貼圖,TextureSample節點可以用于設定貼圖,
在Palette面板搜索TextureSample,通過長按左鍵節點將其拖拽到圖表區域,

選中**TextureSample **節點,在Details面板點擊Texture屬性欄右側的下拉框,

下拉選單會展示專案里的所有可用貼圖,選中Banana_Texture,

為了在預覽網格看到貼圖,你需要將節點連線接入結果節點,左鍵長按TextureSample節點的白色輸出引腳,將其拖拽到結果節點的Base Color輸入引腳,

此時觀察Viewport預覽網格的貼圖,通過長按左鍵拖拽就可以旋轉網格,全方位觀察它的細節,

點擊Toolbar上的Apply按鈕,就能更新材質設定,
使用材質
為了在香蕉網格應用材質,我們需要進一步手動操作,在Content Browser雙擊Banana_Model,會出現下面編輯器視窗:

觀察Details面板的Materials選項,點擊Element 0右側的下拉框,并選擇Banana_Material,

關閉視窗,回到主編輯器,觀察Viewport,你能看到香蕉已經有了貼圖,恭喜你,你已經具備一個關卡設計師的所需技能了!

注意:如果光線看起來太暗了,你可以通過在World Outliner面板點擊Light Source,在Details面板修改Intensity為更大的值進行調整,
關于藍圖
雖然香蕉看起來不錯,如果它能放在轉臺上展示會更不錯,我們通過藍圖就可以實作這點,
簡單化理解,一個藍圖代表一個“東西”,藍圖可以賦予“東西”一些自定義行為,“東西”可以是個實物(比如轉臺),或是抽象概念,比如血條系統,
想要一臺能跑起來的車?做個藍圖吧,一頭飛豬?藍圖,炸上天的廚房?還是藍圖,
類似于材質系統,藍圖也是個節點系統,這意味著你所需要做的是創建一些節點并做做連線,完全不需要撰寫代碼!

注意:如果你更愿意寫代碼,你可以使用C++撰寫,
雖然藍圖便捷易用,它的運行效率不如C++代碼,所以,如果你要實作一些大量運算的邏輯,比如復雜演算法,還是應該用C++,
不過即使你更傾向于用C++,在一些場景下使用藍圖是個好主意,以下是使用藍圖的好處:
- 通常來講,藍圖開發效率優于C++,
- 直觀清晰,你可以將節點劃分成不同區域,比如不同的方法和圖表,
- 如果你跟非開發人員協同合作,得益于藍圖的可視、直觀,雙方修改藍圖邏輯會更加簡單,
盡量嘗試用藍圖創建邏輯,當有部分邏輯需要提升運行效率時,再將其轉換成C++代碼,
創建藍圖
在Content Browser點擊Add New按鈕,從下拉串列中點擊Blueprint Class,

緊接著會出現提示框讓你選擇新建藍圖類所要繼承的父類,藍圖類會繼承父類的所有變數,函式及組件,讓我們花一點時間看每個類是做什么的,

注意:因為Pawn和Character類也能夠被放置、生成,它們也同屬于Actor,
因為轉臺只需要靜止放置在一個固定點上,所以Actor類是最合適的,選擇Actor并將其命名為Banana_Blueprint,

最后,雙擊Banana_Blueprint,出現以下面板時點擊Open Full Blueprint Editor:

藍圖編輯器
首先,確保編輯器界面頁簽選中Event Graph,
藍圖編輯器由以下五個面板組成:

1.Components:包含當前藍圖已用組件串列,
2.My Blueprint:該面板主要用于管理你的圖表,方法和變數,
3.Details:展示選中項的詳細引數,
4.Graph:化腐朽為神奇的部分,所有的節點邏輯都在這里,通過長按右鍵和移動滑鼠來移動,滑動滾輪來縮放面板,
5.Viewport:所有包含可視元素的組件都會顯示在這里,操作方法類同主編輯器的Viewport界面,
創建轉臺
轉臺由兩部分組成:底座和展示物體,我們可以通過組件創建這兩者,
什么是組件?
如果一個藍圖是一輛車,那組件就是這輛車的零部件,車門,方向盤和引擎都是組件,
然而,組件的概念也不限于實際物體,
比如,為了開動這輛車,你還會給它加上運動組件,甚至還能通過添加飛行組件使得車子飛起來,
添加組件
首先,我們先把頁簽切換到Viewport,把界面切到場景展示,看起來是這樣的:

注意:當引擎處于運行模式時,DefaultSceneRoot組件是看不到的,它只會在編輯模式下展示,
轉臺有兩個組件:
- 圓柱體(Cylinder):一個簡單的白色圓柱體作為底層,用于盛放香蕉,
- 靜態網格(Static Mesh):這個組件用于展示香蕉網格,
為了添加組件,在Components面板點擊Add Component并選擇Cylinder,

把底座調矮點,視覺效果看起來會更好點,按下R鍵激活縮放操作桿,并滑動對應軸調整底座高度,

接著來添加網格,在Components面板左鍵點擊空白區域,取消選中Cylinder組件,這樣就保證后面新加的組件不會放在Cylinder組件下,

注意:如果你不這樣,后面新加的組件就會放在Cylinder組件下,這意味著這個組件會繼承Cylinder組件的縮放值,由于你縮放過圓柱體,這樣做的結果就是新加的香蕉模型也會跟著一起縮放,
接著,點擊Add Component并選擇Static Mesh,

為了顯示香蕉的樣子,選擇Static Mesh組件并點擊Details頁簽,點擊Static Mesh選項右側的下拉框,選擇Banana_Model,

如果香蕉的位置不太對,就按下W鍵激活移動操作桿,調整香蕉的位置,

關于藍圖節點
是時候讓轉臺轉起來了,這里就涉及到藍圖節點的使用,
不同于它的表親材質節點,藍圖節點有一種特殊引腳叫執行引腳,節點左側是輸入引腳,右側是輸出引腳,所有的節點都至少會有輸入/輸出引腳的其中一種,
如果一個節點有輸入引腳,它一定要有個對應的接入才能被執行,如果它的輸入引腳沒有連接,它的后續節點也不可能被執行,
這里是個例子:

節點A和節點B因為其有連接,所以能夠執行,由于節點C輸入引腳沒有連接,節點C和節點D都不會執行,
旋轉轉臺
在我們動手前,先看看Components面板,你能夠看到Cylinder和Static Mesh組件是有縮進的,DefaultSceneRoot則沒有,這樣因為前兩者是DefaultSceneRoot節點的子節點,

如果移動、旋轉、縮放根節點,子節點也會一起影響,利用這個特性,你就能一并控制Cylinder和Static Mesh了,
創建節點
為了撰寫邏輯,我們把頁簽切換到Event Graph.
旋轉物體非常簡單,只需要創建一個節點就能完成,在圖表界面空白處右鍵彈出可用節點選單,搜索AddLocalRotation節點,由于我們想要一并旋轉底座和香蕉,直接旋轉根組件節點即可,因此選擇AddLocalRotation (DefaultSceneRoot),
注意:如果看不到對應節點,請反選右上角的Context Sensitive選項,

你的圖表現在有了一個新的名為AddLocalRotation的節點了,它的Target輸入會自動連接你所選擇的組件,
將Delta Rotation的z值修改為1.0,這樣藍圖就會讓目標圍繞Z軸進行旋轉,值越大,轉臺旋轉越快,

為了持續旋轉轉臺,你需要每幀呼叫AddLocalRotation,為了實作這點,需要使用上Event Tick節點,它應該默認就在你的圖表里,如果沒有,就仿照剛才的操作創建節點,
拖拽Event Tick節點的輸出引腳連接AddLocalRotation節點的輸入引腳,

注意:在這個例子中,轉臺旋轉速度取決于幀率,這意味著轉臺在低配機器上會旋轉得更慢,反之亦然,這對于教程來說沒什么大問題,這樣處理會比較簡單,我會在之后的教程里教你解決這個問題,
最后,點擊Toolbar的Compile按鈕更新藍圖修改,并關閉編輯器,

在關卡里添加藍圖
在添加藍圖前,在主編輯器的Viewport視窗洗掉之前放置的香蕉模型,選中香蕉模型,點擊Eidt\Delete或者按下Delete鍵進行洗掉,
添加藍圖的步驟功能跟之前添加網格的步驟是一樣的,左鍵拖拽藍圖檔案,將其放置到Viewport視窗,
在Toolbar上點擊Play按鈕,就可以看到最終成果了!
注意:如果你沒有洗掉掉關卡的香蕉模型,你可以會看到重建光線的警告提示,刪掉模型,就能去掉警告,
后續學習
你可以在這里下載教程專案,
本篇教程所學習的內容只是Unreal Engine 4引擎的冰山一角,如果你還想繼續學習Unreal Engine 4引擎,點擊下篇教程,我會進一步講解Unreal Engine 4引擎的藍圖系統,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/10665.html
標籤:其他

