[英]貢薩洛·馬克斯(Gonçalo Marques)從6歲起就是一名活躍的游戲玩家。自2016年以來,他一直在使用虛幻引擎,并使用虛幻引擎從事自由職業(yè)和咨詢工作。貢薩洛還發(fā)布了一個名為UI Navigation的免費開源的插件,該插件獲得了極高的評價,下載量超過10萬次,并且仍在不斷地更新和修復(fù)。正是這個插件的開發(fā),使他成為Epic MegaGrant的獲得者。他目前在里斯本(葡萄牙的首都)的游戲工作室Funcom ZPX工作,該工作室參于了《流放者柯南》(ConanExiles)、《突變元年:伊甸園之路》(Mutant Year Zero)和《瘋狂之月》(Moons of Madness)等游戲的開發(fā)。目前,貢薩洛正在開發(fā)一款基于《沙丘》(Dune)宇宙的新游戲。
德文·謝里(Devin Sherry)是波蘭People Can Fly公司的首席技術(shù)設(shè)計師,曾使用虛幻引擎4開發(fā)《先驅(qū)者》(Outriders)和《先驅(qū)者:世界殺手》(Outriders: Worldslayer)。在此之前,他在塞爾維亞的Digital Arrow工作室擔(dān)任技術(shù)設(shè)計師,專注于《未來水世界:深度侵襲》( Aquanox: Deep Descent)的開發(fā)。德文擁有從虛幻開發(fā)者工具包到最新發(fā)布的虛幻引擎5十年的使用經(jīng)驗,他致力于為玩家創(chuàng)造難忘的游戲體驗,并將游戲機制變得栩栩如生。
[英]大衛(wèi)·佩雷拉(Da v i d P e r e i r a )從1998年開始制作游戲,當(dāng)時他學(xué)會了如何使用Clickteam(游戲制作工具的公司名稱)的游戲工廠(The Games Factory)(Clickteam的一款產(chǎn)品,用于制作游戲的工具)。他畢業(yè)于FCT-UNL的計算機科學(xué)專業(yè),在那里他學(xué)習(xí)了C 、OpenGL和DirectX,這讓他能夠制作出更復(fù)雜的游戲。在IT咨詢行業(yè)工作了幾年后,他加入了葡萄牙的Miniclip游戲公司,參與開發(fā)了多款流行的移動游戲,如《8球臺球》(8 Ball Pool)、《重力小子1》(Gravity Guy 1)、《重力小子2》(Gravity Guy 2)、《極限滑板》(Extreme Skater)、《 特技滑雪2》(iStunt 2)和《英雄哈勃》(Hambo)以及許多其他游戲。從那時起,他擔(dān)任MPC的首席開發(fā)人員,參與開發(fā)了約翰·路易斯圣誕虛擬現(xiàn)實(John Lewis Christmas VR)體驗。他還參與了《致命軀殼》(Mortal Shell)早期版本的開發(fā)。大衛(wèi)積極從事志愿者工作,教授患有阿斯伯格綜合征的人使用虛幻引擎4制作游戲,F(xiàn)在,他正在開發(fā)自己的游戲,這是一款即將公布的第一人稱動作角色扮演游戲。
[英]哈馬德·福齊(Hammad Fozi)具有深厚的游戲開發(fā)背景,自2017年以來一直使用虛幻引擎進行工作。他參與了一些非常成功的AAA項目,如Virtua FanCave(元宇宙)、未命名的AAA級科幻DJ體驗、《英雄與將軍》(Heroes and Generals)和《VR拳擊游戲》(Creed: Riseto Glory VR)。哈馬德與曾在育碧娛樂軟件公司(Ubisof)、華納兄弟游戲公司(Warner Bros.Games)、2K Games(一家游戲制作公司)等公司工作過的團隊合作!在短暫而令人印象深刻的職業(yè)生涯中,他成功地幫助由1030人組成的團隊擴大到150余人的規(guī)模。目前,哈馬德是一名高級C 游戲開發(fā)工程師,在虛擬現(xiàn)實(VR)和增強現(xiàn)實、PC/PS5/Xbox/Android/iOS/macOS游戲開發(fā)和Web3/Metaverse/NFT系統(tǒng)(在虛幻引擎內(nèi))方面擁有豐富的工作經(jīng)驗。
第1章 虛幻引擎簡介
1.1 技術(shù)要求
練習(xí)1.01 創(chuàng)建虛幻引擎5項目
1.2 了解虛幻引擎編輯器
1.3 瀏覽編輯器窗口
1.4 視口選項卡
1.5 操作actor
練習(xí)1.02 在關(guān)卡中添加和刪除actor
1.6 理解藍(lán)圖actor
練習(xí)1.03 創(chuàng)建藍(lán)圖actor
1.7 藍(lán)圖編輯器
1.8 事件圖表選項卡
練習(xí)1.04 創(chuàng)建藍(lán)圖變量
練習(xí)1.05 創(chuàng)建藍(lán)圖函數(shù)
1.9 理解Multiply節(jié)點
1.10 探索BeginPlay和Tick事件
練習(xí)1.06 在Z 軸上偏移TestActor類
1.11 BP_ThirdPersonCharacter藍(lán)圖類
1.12 探索網(wǎng)格體和材質(zhì)的使用
1.12.1 網(wǎng)格體
1.12.2 材質(zhì)
1.13 在虛幻引擎5中設(shè)置材質(zhì)
活動1.01 在Z 軸上無限推動TestActor
1.14 本章總結(jié)
第2章 使用虛幻引擎
2.1 技術(shù)要求
2.2 創(chuàng)建并設(shè)置一個空白C 項目
練習(xí)2.01 創(chuàng)建一個空的C 項目
2.3 在虛幻引擎中內(nèi)容文件夾的結(jié)構(gòu)
2.4 使用Visual Studio解決方案
在Visual Studio中調(diào)試代碼
練習(xí)2.02 調(diào)試第三人稱游戲模板代碼
2.5 導(dǎo)入所需資產(chǎn)
練習(xí)2.03 導(dǎo)入角色FBX文件
2.6 虛幻引擎游戲模式類
2.6.1 游戲模式的默認(rèn)類
2.6.2 游戲事件
2.6.3 網(wǎng)絡(luò)
2.6.4 游戲模式基礎(chǔ)與游戲模式
2.6.5 關(guān)卡和關(guān)卡藍(lán)圖
2.6.6 虛幻引擎Pawn類
2.6.7 玩家控制器類
練習(xí)2.04 設(shè)置游戲模式、玩家控制器和Pawn類
2.7 使用動畫
2.7.1 動畫藍(lán)圖
2.7.2 事件圖表選項卡
2.7.3 AnimGraph
2.7.4 狀態(tài)機
2.7.5 過渡規(guī)則
2.7.6 混合空間
練習(xí)2.05 創(chuàng)建人體模型動畫
活動2.01 將動畫鏈接到角色
2.8 本章總結(jié)
第3章 角色類組件和藍(lán)圖設(shè)置
3.1 技術(shù)要求
3.2 虛幻引擎角色類
擴展角色類
練習(xí)3.01 創(chuàng)建和設(shè)置第三人稱角色C 類
3.3 用藍(lán)圖擴展C 類
練習(xí)3.02 使用藍(lán)圖擴展C
活動3.01 在動畫項目中使用藍(lán)圖擴展C 角色類
3.4 本章總結(jié)
第4章 玩家輸入入門
4.1 技術(shù)要求
4.2 理解輸入操作和輸入映射情境
練習(xí)4.01 創(chuàng)建移動和跳躍輸入操作
4.3 處理玩家輸入 77
練習(xí)4.02 監(jiān)聽移動和跳躍輸入操作
圍繞角色轉(zhuǎn)動攝像機
活動4.01 為角色添加行走邏輯
4.4 本章總結(jié)
第5章 射線檢測
5.1 技術(shù)要求
5.2 碰撞簡介
5.3 設(shè)置項目
練習(xí)5.01 將DodgeballCharacter轉(zhuǎn)換為俯視的視角
5.4 理解射線檢測
5.5 創(chuàng)建EnemyCharacter C 類
練習(xí)5.02 創(chuàng)建執(zhí)行射線檢測的CanSeeActor函數(shù)
5.6 可視化射線檢測
練習(xí)5.03 創(chuàng)建LookAtActor函數(shù)
5.7 創(chuàng)建EnemyCharacter藍(lán)圖類
5.8 掃掠檢測
練習(xí)5.04 執(zhí)行掃掠檢測
5.8.1 更改可見性檢測響應(yīng)
5.8.2 多射線檢測
5.8.3 攝像機檢測通道
練習(xí)5.05 創(chuàng)建一個自定義的EnemySight檢測通道
活動5.01 創(chuàng)建SightSource屬性
5.9 本章總結(jié) 109
第6章 設(shè)置碰撞對象
6.1 技術(shù)要求 111
6.2 理解虛幻引擎5中的物體碰撞 111
6.2.1 理解碰撞組件
6.2.2 理解碰撞事件
6.2.3 理解碰撞通道
練習(xí)6.01 創(chuàng)建Dodgeball類
6.3 創(chuàng)建物理材質(zhì)
練習(xí)6.02 將ProjectleMovementComponent添加到
DodgeballProjectile中
6.3.1 定時器簡介
6.3.2 理解如何生成actor
練習(xí)6.03 向EnemyCharacter類添加投擲邏輯
6.4 創(chuàng)建Wall類
練習(xí)6.04 創(chuàng)建Wall類
6.5 創(chuàng)建VictoryBox actor
練習(xí)6.05 創(chuàng)建VictoryBox類
練習(xí)6.06 給DodgeballProjectile類中添加ProjectileMovementComponent的
getter函數(shù)
活動6.01 將SpawnActor函數(shù)替換為EnemyCharacter中引用的
SpawnActorReference函數(shù)
6.6 本章總結(jié)
第7章 使用虛幻引擎5中的實用工具
7.1 技術(shù)要求
7.2 好的實踐松耦合
7.3 藍(lán)圖函數(shù)庫
練習(xí)7.01 將CanSeeActor函數(shù)移動到藍(lán)圖函數(shù)庫中
7.4 Actor組件
練習(xí)7.02 創(chuàng)建HealthComponent的Actor組件
練習(xí)7.03 集成HealthComponent Actor組件
7.5 探索接口
7.6 藍(lán)圖本地事件
練習(xí)7.04 創(chuàng)建HealthInterface類
活動7.01 將LookAtActor邏輯移到Actor組件
7.7 本章總結(jié)
第8章 使用UMG創(chuàng)建用戶界面
8.1 技術(shù)要求
8.2 游戲用戶界面
8.3 UMG基礎(chǔ)知識
練習(xí)8.01 創(chuàng)建控件藍(lán)圖
8.3.1 錨點的簡介
練習(xí)8.02 編輯UMG錨點
練習(xí)8.03 創(chuàng)建RestartWidget C 類
練習(xí)8.04 創(chuàng)建將RestartWidget類添加到屏幕的邏輯
練習(xí)8.05 創(chuàng)建DodgeballPlayerController藍(lán)圖類
8.3.2 理解進度條
練習(xí)8.06 創(chuàng)建生命值進度條的C 邏輯
活動8.01 改進RestartWidget類
8.4 本章總結(jié)
第9章 添加音視頻元素
9.1 技術(shù)要求
9.2 虛幻引擎5中的音頻
練習(xí)9.01 導(dǎo)入音頻文件
練習(xí)9.02 當(dāng)躲避球從地面反彈時播放聲音
音效衰減
練習(xí)9.03 將反彈聲音轉(zhuǎn)換成3D聲音
練習(xí)9.04 為游戲添加背景音樂
9.3 理解粒子系統(tǒng)
練習(xí)9.05 當(dāng)躲避球擊中玩家時生成粒子系統(tǒng).
活動9.01 躲避球擊中玩家時播放聲音
9.4 探索關(guān)卡設(shè)計
練習(xí)9.06 創(chuàng)建關(guān)卡框架
9.5 額外的功能
9.6 本章總結(jié)
第10章 創(chuàng)建超級橫版動作游戲
10.1 技術(shù)要求
10.2 項目分解
玩家角色
10.3 將第三人稱游戲模板轉(zhuǎn)換為橫版動作
練習(xí)10.01 創(chuàng)建橫版動作項目并使用角色移動組件
活動10.01 讓角色跳得更高
10.4 探索橫版動作游戲的功能
10.4.1 敵人角色
10.4.2 升級
10.4.3 收集品
練習(xí)10.02 探索人物角色編輯器并操作默認(rèn)的人體模型骨骼權(quán)重
活動10.02 骨骼的操作和動畫
10.5 理解虛幻引擎5中的動畫
10.5.1 骨骼
10.5.2 骨骼網(wǎng)格體
10.5.3 動畫序列
練習(xí)10.03 導(dǎo)入和設(shè)置角色和動畫
活動10.03 導(dǎo)入更多自定義動畫以預(yù)覽角色運行
10.6 本章總結(jié)
第11章 使用混合空間1D、鍵綁定和狀態(tài)機
11.1 技術(shù)要求
11.2 創(chuàng)建混合空間
混合空間1D與普通混合空間
練習(xí)11.01 創(chuàng)建角色移動混合空間1D
活動11.01 添加Walking和Running動畫到混合空間
11.3 主角動畫藍(lán)圖
動畫藍(lán)圖
練習(xí)11.02 將混合空間添加到角色動畫藍(lán)圖
11.4 速度向量是什么
練習(xí)11.03 將角色的Speed變量傳遞到混合空間
活動11.02 預(yù)覽在游戲中運行的動畫
11.5 增強型輸入系統(tǒng)
練習(xí)11.04 為沖刺添加輸入
練習(xí)11.05 修改角色藍(lán)圖
練習(xí)11.06 編碼角色的沖刺功能
活動11.03 實現(xiàn)投擲輸入
11.6 使用動畫狀態(tài)機
練習(xí)11.07 玩家角色移動和跳躍狀態(tài)機
過渡規(guī)則
練習(xí)11.08 將狀態(tài)和過渡規(guī)則添加到狀態(tài)機
練習(xí)11.09 Time Remaining Ratio函數(shù)
活動11.04 完成Movement和Jumping狀態(tài)機
11.7 本章總結(jié)
第12章 動畫混合和蒙太奇
12.1 技術(shù)要求
12.2 動畫混合、動畫插槽和動畫蒙太奇
練習(xí)12.01 設(shè)置動畫蒙太奇
12.3 動畫蒙太奇
練習(xí)12.02 在蒙太奇中添加Throw動畫
12.4 動畫插槽管理器
練習(xí)12.03 添加新的動畫插槽
12.5 Save Cached Pose節(jié)點
練習(xí)12.04 移動狀態(tài)機中應(yīng)用Save Cached Pose節(jié)點
12.6 Layered blend per bone
練習(xí)12.05 將動畫與上半身動畫插槽混合
練習(xí)12.06 預(yù)覽Throw動畫
12.7 超級橫版動作游戲中的敵人
練習(xí)12.07 創(chuàng)建敵人基礎(chǔ)C 類
練習(xí)12.08 創(chuàng)建和應(yīng)用敵人動畫藍(lán)圖
12.8 材質(zhì)和材質(zhì)實例
練習(xí)12.09 創(chuàng)建并應(yīng)用敵人材質(zhì)實例
活動12.01 更新混合權(quán)重
12.9 本章總結(jié)
第13章 創(chuàng)建和添加敵人人工智能
13.1 技術(shù)要求
13.2 敵人人工智能
13.3 AI控制器
自動擁有人工智能
練習(xí)13.01 實現(xiàn)AI控制器
13.4 導(dǎo)航網(wǎng)格體
練習(xí)13.02 為人工智能敵人實現(xiàn)導(dǎo)航網(wǎng)格體
13.5 重新生成導(dǎo)航網(wǎng)格體
練習(xí)13.03 重新生成導(dǎo)航網(wǎng)格體體積參數(shù)
活動13.01 創(chuàng)建新關(guān)卡
13.6 行為樹和黑板
13.6.1 任務(wù)
13.6.2 裝飾器
13.6.3 服務(wù)
練習(xí)13.04 創(chuàng)建人工智能行為樹和黑板
練習(xí)13.05 創(chuàng)建新的行為樹任務(wù)
練習(xí)13.06 創(chuàng)建行為樹邏輯
活動13.02 人工智能移動到玩家的位置
練習(xí)13.07 創(chuàng)建敵人巡邏點
13.7 向量變換
練習(xí)13.08 在數(shù)組中選擇一個隨機點
練習(xí)13.09 引用巡邏點actor
練習(xí)13.10 更新BTTask_FindLocation任務(wù)
13.8 玩家投射物
練習(xí)13.11 創(chuàng)建玩家投射物
練習(xí)13.12 初始化PlayerProjectile類的設(shè)置
活動13.03 創(chuàng)建玩家投射物藍(lán)圖
13.9 本章總結(jié)
第14章 生成玩家投射物
14.1 技術(shù)要求
14.2 動畫通知和動畫通知狀態(tài)
練習(xí)14.01 創(chuàng)建UAnimNotify類
練習(xí)14.02 將新通知添加到Throw動畫蒙太奇
14.3 播放動畫蒙太奇 322
14.3.1 在藍(lán)圖中播放動畫蒙太奇
14.3.2 在C 中播放動畫蒙太奇
練習(xí)14.03 在C 中播放Throw動畫
練習(xí)14.04 創(chuàng)建投射物生成插槽
練習(xí)14.05 準(zhǔn)備SpawnProjectile()函數(shù)
練習(xí)14.06 更新Anim_ProjectleNotify類
14.4 摧毀actor
練習(xí)14.07 創(chuàng)建DestroyEnemy()函數(shù)
練習(xí)14.08 摧毀投射物
活動14.01 允許投射物摧毀敵人
14.5 理解和實現(xiàn)視覺和音頻特效
14.5.1 視覺特效(VFX)
14.5.2 音頻特效(SFX)
練習(xí)14.09 添加敵人被摧毀時的效果
練習(xí)14.10 為玩家的投射物添加效果
練習(xí)14.11 為投射物添加視覺特效和音頻特效
活動14.02 增加投射物被摧毀時的效果..
14.6 本章總結(jié)
第15章 探索收集品、能量升級和拾取物
15.1 技術(shù)要求 3
15.2 理解URotatingMovementComponent
練習(xí)15.01 創(chuàng)建PickableActor_Base類并添加URotatingMovement-Component
活動15.01 在PickableActor_Base中檢測玩家重疊和生成效果
練習(xí)15.02 創(chuàng)建PickableActor_Collectable類
活動15.02 完成PickableActor_Collectable actor
15.3 使用UE_LOG記錄變量
練習(xí)15.03 記錄玩家金幣的數(shù)量
15.4 介紹虛幻動態(tài)圖形UI
理解文本控件
練習(xí)15.04 創(chuàng)建金幣計數(shù)器UI HUD元素
15.5 添加和創(chuàng)建UMG用戶控件
練習(xí)15.05 添加金幣計數(shù)器UI到玩家屏幕
15.6 使用計時器
練習(xí)15.06 為玩家添加藥劑的能量升級行為
活動15.03 創(chuàng)建藥劑升級actor
練習(xí)15.07 創(chuàng)建Brick類
練習(xí)15.08 添加Brick類的C 邏輯
15.7 本章總結(jié)
15.8 額外的挑戰(zhàn)
第16章 多人游戲基礎(chǔ)
16.1 技術(shù)要求
16.2 多人游戲基礎(chǔ)知識
16.3 理解服務(wù)器
16.3.1 專用的服務(wù)器
16.3.2 監(jiān)聽服務(wù)器
16.4 理解客戶端394
練習(xí)16.01 在多人游戲中測試第三人稱游戲模板
16.5 打包項目
16.6 探索連接和所有權(quán)
16.7 理解角色
16.7.1 服務(wù)器上生成actor
16.7.2 客戶端上生成actor
16.7.3 服務(wù)器上生成玩家擁有的pawn
16.7.4 客戶端上生成玩家擁有的pawn
練習(xí)16.02 實現(xiàn)所有權(quán)和角色
16.7.5 服務(wù)器窗口的輸出
16.7.6 服務(wù)器角色(Server Character)
16.7.7 客戶端1角色(Client 1 Character)
16.7.8 OwnershipTest actor
16.7.9 客戶端(Client 1)窗口的輸出
16.8 理解變量復(fù)制
16.8.1 復(fù)制變量
練習(xí)16.03 使用Replicated、ReplicatedUsing、DOREPLIFETIME和DOREPLIFETIME_CONDITION復(fù)制變量
16.8.2 服務(wù)器窗口的輸出
16.8.3 客戶端1窗口的輸出
16.9 探索2D混合空間
練習(xí)16.04 創(chuàng)建一個運動的2D混合空間
16.10 Transform (Modify) Bone節(jié)點
練習(xí)16.05 創(chuàng)建能上下查看的角色
活動16.01 為多人第一人稱射擊游戲項目創(chuàng)建角色
16.11 本章總結(jié)
第17章 使用遠(yuǎn)程過程調(diào)用
17.1 技術(shù)要求
17.2 理解遠(yuǎn)程過程調(diào)用
17.2.1 服務(wù)器RPC.
17.2.2 多播RPC
17.2.3 客戶端RPC
17.2.4 使用RPC時的重要注意事項
練習(xí)17.01 使用遠(yuǎn)程過程調(diào)用
17.3 向編輯器公開枚舉
17.3.1 TEnumAsByte
17.3.2 UMETA
17.3.3 BlueprintType
練習(xí)17.02 在編輯器中使用C 枚舉
17.4 使用數(shù)組索引包裝
練習(xí)17.03 使用數(shù)組索引包裝在枚舉之間循環(huán)
活動17.01 為多人第一人稱射擊游戲添加武器和彈藥.
17.5 本章總結(jié)
第18章 在多人游戲中使用游戲玩法框架類
18.1 技術(shù)要求
18.2 在多人游戲中訪問游戲玩法框架實例
練習(xí)18.01 顯示游戲玩法框架實例值
18.2.1 服務(wù)器窗口的輸出
18.2.2 客戶端1窗口的輸出
18.3 使用游戲模式、玩家狀態(tài)和游戲狀態(tài)
18.3.1 游戲模式
18.3.2 玩家狀態(tài)
18.3.3 游戲狀態(tài).
18.3.4 有用的內(nèi)置函數(shù)
練習(xí)18.02 制作一個簡單的多人拾取游戲
活動18.01 在多人第一人稱射擊游戲中添加死亡、重生、計分板、殺戮限制和拾取
18.4 本章總結(jié)