如何用UE4制作2D游戏文档(一)——基础篇
一、前言
首先感謝B站馬克鎮鎮長的視頻講解清晰把很多細節都照顧到了,我本來自己做的時候沒有視頻說的那么細,參考他的全套系列視頻之后完善了很多內容。
視頻指路:https://www.bilibili.com/video/BV1s5411Y7Ry
感興趣的朋友別忘了給這個視頻一鍵三連。
如何利用UE4制作一個2D游戲,眾所周知,UE4是EPIC為了方便自己開發FPS游戲而“順便”研發的一個引擎,后期通過不斷的完善成為了現在功能強大的游戲開發引擎,并且在GITHUB上面進行開源,可以拿到源碼進行魔改,然后聲稱“自主研發”。
后期會挖一個坑如何魔改UE4引擎源碼(需要一定的C++基礎),不過那是后話,本系列內容是如何使用UE4的藍圖進行制作2D游戲,主要包括以下內容:
(一)——基礎篇,介紹UE4的基礎操作,以及需要用到的類
(二)——資源篇,介紹如何導入基礎美術資源進行場景制作與動畫制作
(三)——角色篇,如何制作屬于自己的角色,并且添加屬于自己的操作
(四)——NPC篇,在角色制作的基礎上創造一些NPC角色并且產生對話,制造故事流程
(五)——戰斗篇,制作基于UE4自帶AI的敵人,進行回合制戰斗。
(六)——計算篇,進行戰斗完畢后要對人物的獎勵進行結算
(七)——數據篇,利用服務器存儲角色數據,并進行在線交互(額外內容,不影響結算可以跳過)
……后續有更新再編輯這里。
二、UE4引擎奶媽級教程,如何新建自己的2D游戲項目
打開虛幻4,新建一個空白的游戲項目,如圖1所示
圖1 新建空白游戲項目
項目名稱自己定,使用藍圖類,初學者禮包包含不包含都無所謂,如圖2所示
圖2
創建完畢項目之后進入UE4的主界面,如圖3所示,我們這里需要用到的內容有關卡藍圖,2Dpaper圖像序列,2Dpaper sprite,paperCharacter(2D角色類),PaperSpriteActor(2Dacto類),AI Controller,player controller(玩家控制器)類等藍圖內容。
以及枚舉,gamemode(游戲模式),touch user interface(圖形觸摸界面設置),user interface(簡稱UI)等主要模塊。
三、介紹藍圖類功能
1.level——關卡藍圖
關卡藍圖是構建一個關卡或者說一個小世界,也可以稱之為小房間的基礎,要讓操作的角色有地方操作,就需要先創建一個基礎的世界,可以說關卡是所有其他對象存在的基礎,有了這個基礎,其他的對象才能夠存在并且進行使用。
所以一個游戲項目需要有基礎的關卡進行底層支撐,關卡藍圖打開的方式在主界面上方,點擊“藍圖”旁邊的小三角,進行下拉,再點擊“打開關卡藍圖”對關卡進行藍圖類的控制操作,如圖3、4所示
圖3 打開關卡藍圖
圖4 關卡藍圖內容
關卡藍圖內容(圖4)當中可以選擇當前關卡內放置的所有actor進行操作,包括光照、水體、動植物以及其他類等等,只要它在關卡的內容中,都可以調用并且進行操作,甚至還可以在指定位置生成關卡當中沒存在的但是已經編譯好的其他ACTOR類
圖5 世界大綱視圖
如圖5所示,關卡藍圖可以調用存在世界大綱視圖當中所有的ACTOR并進行操作,這樣在我們設計好基礎場景的時候,藍圖就可以調用這一切。
下方的世界場景設置可以對藍圖的基礎屬性進行設置,具體的可以看虛幻引擎4官方文檔——關于關卡的設置
指路:https://docs.unrealengine.com/zh-CN/Basics/Levels/index.html
2.2Dpaper圖像序列
2Dpaper圖像序列是承載2D美術資源的一個容器,里面可以將每一幀的2D sprite進行拼裝組合成一個動畫序列,它的英文名是2Dpaper sequence,簡單來說就是讓2D圖像按照一定的序列進行播放,就是基礎的動畫,如圖6所示
圖6 2D paper圖像序列
右邊的關鍵幀(key frame)是用來存放每一幀的動作資源的,一般來源與我們導入的2D美術資源變成的sprite,然后按照順序逐幀播放,上方的每秒幀數決定每秒鐘動畫的幀率,幀數值越大播放速度越快,圖像序列一般用于角色產生操作的時候播放動畫,后續會說到
3.2Dpaper sprite
2Dpaper sprite是基礎美術資源,構成包括碰撞體,ACTOR,圖像序列等內容的基礎元素,任何2Dpaper的項目資源都需要有基礎2Dpaper sprite進行支撐,如圖7所示,可以對編譯好了的2Dpaper sprite進行各種引擎參數設置,比如碰撞體,比如高度,比如紋理和陰影等級等,來達到自己需要的物理世界效果。
?
圖7?2Dpaper sprite參數設置
4.paperCharacter(2D角色類)
同3D模式一樣,創建一個角色,就有相應的character類,這個paperCharacter(2D角色類)是繼承了character類和2Dpaperactor類的特性創建的單獨對應2D游戲的角色類,可以在里面添加和3Dcharacter一樣的各種操作,比如操作輸入,AI,向量,控制方法,游戲方法等,還可以添加專屬于paperCharacter的組件和通用的組件,如圖8、9所示
圖8 papercharacter
?圖9 藍圖事件圖表
5.PaperSpriteActor(2Dacto類)
PaperSpriteActor(2Dacto類)與基礎的Actor類一樣,可以放置在場景中也可以通過指定控制器生成,一般用作角色交互或者其他交互的時候設置一個PaperSpriteActor(2Dacto類),然后再對藍圖進行各種各樣的方法設置操作,后面會詳細講用到的部分,界面如圖10所示
圖10?PaperSpriteActor藍圖詳情
6.AI Controller
人工智能控制器,控制某個actor類進行基于人工智能自動操作,在一定條件下結合黑板和行為樹可以完成復雜的多樣性的角色操作,具體參考官方文檔:
https://docs.unrealengine.com/zh-CN/InteractiveExperiences/Framework/Controller/AIController/index.html
7.player controller(玩家控制器)
玩家操作的時候,屬于玩家專用的控制器,可以給玩家進行切換角色、控制場景、控制其他ACTOR等等操作,具體參考官方文檔:
https://docs.unrealengine.com/zh-CN/InteractiveExperiences/Framework/Controller/PlayerController/index.html
8.其他主要模塊
其他主要模塊包括枚舉,gamemode(游戲模式),touch user interface(圖形觸摸界面設置),user interface(簡稱UI)等
其中枚舉類似于編程語言中的數組,但是是一個可以存儲多樣性內容的數組,包括可以存儲2D圖像序列、技能動畫蒙太奇、角色類等內容的枚舉命名,具體界面如圖11所示
?圖11 枚舉內容設置
gamemode(游戲模式)
用于設置關卡類型的模式藍圖,決定了關卡的基礎設置以及玩家操作模式,與世界場景設置有區別,具體參考官方文檔:
https://docs.unrealengine.com/zh-CN/InteractiveExperiences/Framework/GameMode/index.html
touch user interface(圖形觸摸界面設置)
這個藍圖類是一個特殊的藍圖類,一般在項目移植于移動端設備如手機、pad等設備的時候用得到,在屏幕觸摸和鼠標觸摸的情況下模擬搖桿和按鍵操控角色,包括鍵盤輸入的各種按鈕,都可以映射到圖形觸摸界面設置上如圖12、13所示
圖12 啟用移動平臺按鍵
圖13 設置移動平臺按鍵具體映射
user interface(簡稱UI)
UI是圖形交互界面,是玩家與系統交互的主要界面,開發人員可以在用戶界面空間藍圖里面設計多種多樣的UI,并且設計響應操作,如圖14所示,具體參考官方文檔:
https://docs.unrealengine.com/zh-CN/InteractiveExperiences/Framework/UIAndHUD/index.html
?圖14 UI具體設置面板
四、總結
通過前面三個部分的內容介紹了2D游戲開發需要用到的一些基礎類,我們后續都將在這些基礎類的基礎上展開,要精通面向對象程序設計的思想,靈活變通解放思想實事求是,才會在后續的項目開發中減少失誤,節約開發時間,做到質量與速度并重。
下一次文檔將會講述如何導入基礎資源與制作動畫序列,制作關卡序列以及Actor類的進一步操作。
總結
以上是生活随笔為你收集整理的如何用UE4制作2D游戏文档(一)——基础篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: XMU 1071 圣斗士黄金十二宫(七)
- 下一篇: i5 12400f和i3 12100f性