Unity3D動作游戲開發(fā)實戰(zhàn)
定 價:79 元
- 作者:周尚宣
- 出版時間:2020/6/1
- ISBN:9787111657859
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP311.5
- 頁碼:0
- 紙張:
- 版次:
- 開本:16開
動作游戲作為一大熱門的游戲品類,一直不缺少玩家受眾歡迎。但其較高的工藝門檻、技術(shù)細(xì)節(jié)、復(fù)雜度等都阻礙了其開發(fā)進(jìn)程。本書結(jié)合作者自身的研發(fā)經(jīng)驗進(jìn)行撰寫,從角色、戰(zhàn)斗、關(guān)卡、物理等多個剖面去解析動作游戲在研發(fā)中遇到的總總困難,盡可能的繞過或避免研發(fā)中的已知問題,*終幫助讀者在對于該品類游戲的理解與開發(fā)上提供助力。
長期以來,以動作游戲為核心的書籍一直較為匱乏。因此也成為了本書撰寫的契機(jī)。通過對本書的閱讀,不管是愛好動作游戲的獨立開發(fā)者,還是期望進(jìn)一步提升自身能力的游戲從業(yè)者,相信您都能在其中有所收獲。
前言
第1篇 概述及前期準(zhǔn)備
第1章 概述2
1.1 本書的側(cè)重點及目標(biāo)2
1.2 Unity3D引擎在大環(huán)境中的發(fā)展現(xiàn)狀4
1.3 Steam、獨立游戲及動作游戲的現(xiàn)狀5
1.3.1 Steam平臺簡介5
1.3.2 國內(nèi)獨立游戲的開端6
1.3.3 細(xì)看動作類獨立游戲6
1.4 設(shè)計目標(biāo):大而全還是小而精7
1.4.1 資源復(fù)用7
1.4.2 舍棄不必要的維度8
1.4.3 選擇合適的題材8
第2章 前期準(zhǔn)備9
2.1 通用預(yù)備知識9
2.1.1 使用協(xié)程分解復(fù)雜邏輯9
2.1.2 自定義的插值公式10
2.1.3 消息模塊的設(shè)計12
2.1.4 模塊間的管理與協(xié)調(diào)13
2.2 基于編輯器環(huán)境的基礎(chǔ)知識14
2.2.1 編輯器工具的編寫15
2.2.2 關(guān)聯(lián)游戲配置數(shù)據(jù)19
2.2.3 常量生成器22
2.3 3D游戲所需要的數(shù)學(xué)知識24
2.3.1 向量加減24
2.3.2 點乘25
2.3.3 叉乘26
2.3.4 投影27
2.3.5 四元數(shù)28
2.4 其他準(zhǔn)備29
2.4.1 關(guān)注項目中的GC問題29
2.4.2 控制臺工具的編寫31
2.4.3 項目目錄結(jié)構(gòu)建議32
2.4.4 項目的程序流程結(jié)構(gòu)建議33
第2篇 動作游戲核心模塊
第3章 物理系統(tǒng)詳解36
3.1 物理系統(tǒng)基本內(nèi)容梳理36
3.1.1 系統(tǒng)參數(shù)設(shè)置36
3.1.2 Fixed Update更新頻率37
3.1.3 Rigidbody參數(shù)簡介38
3.1.4 物理材質(zhì)設(shè)置38
3.2 常見問題39
3.2.1 物理步的理解誤區(qū)39
3.2.2 重疊與擠出問題40
3.2.3 地面檢測優(yōu)化處理40
3.2.4 Dash與瞬移的優(yōu)化41
3.2.5 踩頭問題及解決方法42
3.2.6 動畫根運動的物理問題45
3.3 為動作游戲定制碰撞系統(tǒng)46
3.3.1 設(shè)計目標(biāo)46
3.3.2 OBB碰撞檢測簡介47
3.3.3 Box與Box相交測試47
3.3.4 Box與Sphere相交測試50
3.3.5 Sphere與Sphere相交測試52
3.3.6 不同形狀的邊界點獲取52
3.3.7 碰撞對象管理器56
第4章 主角系統(tǒng)設(shè)計58
4.1 基礎(chǔ)要素58
4.1.1 同類游戲?qū)Ρ?8
4.1.2 邏輯編寫前的準(zhǔn)備工作59
4.1.3 移動邏輯59
4.1.4 跳躍邏輯65
4.1.5 攻擊邏輯67
4.1.6 受擊邏輯69
4.1.7 應(yīng)對腳本類爆炸的問題71
4.2 常規(guī)功能72
4.2.1 角色有限狀態(tài)機(jī)72
4.2.2 設(shè)計掛接點接口73
4.2.3 技能系統(tǒng)74
4.2.4 連續(xù)技功能75
4.3 場景互動部分78
4.3.1 角色凍結(jié)78
4.3.2 場景互動組件79
第5章 關(guān)卡部分詳解82
5.1 前期考量82
5.1.1 從Graybox說起82
5.1.2 規(guī)劃層級結(jié)構(gòu)83
5.1.3 模型的導(dǎo)出與調(diào)試84
5.2 開發(fā)階段深入解析85
5.2.1 SpawnPoint的使用85
5.2.2 擴(kuò)展SpawnPoint87
5.2.3 對象池的編寫92
5.2.4 關(guān)卡模塊的序列化94
5.2.5 戰(zhàn)斗壁障的實現(xiàn)99
5.3 光照與烘焙102
5.3.1 不同GI類型的選擇102
5.3.2 預(yù)計算光照的使用103
5.3.3 光照探針的使用104
5.3.4 反射探針簡要介紹104
5.3.5 借助LPPV優(yōu)化烘焙105
第6章 戰(zhàn)斗部分深入解析107
6.1 角色模塊107
6.1.1 Motor組件的設(shè)計107
6.1.2 動畫事件的處理110
6.1.3 Animator常見問題整理112
6.2 設(shè)計一個可擴(kuò)展的戰(zhàn)斗系統(tǒng)114
6.2.1 基礎(chǔ)戰(zhàn)斗框架編寫115
6.2.2 添加傷害傳遞邏輯117
6.2.3 配置傷害碰撞120
6.2.4 僵直度組件的添加121
6.2.5 浮空組件的添加123
6.3 敵人AI的設(shè)計125
6.3.1 AI設(shè)計綜述125
6.3.2 Behavior Designer插件簡介127
6.3.3 使用協(xié)程來開發(fā)AI程序128
6.3.4 可控制的隨機(jī)行為131
6.3.5 設(shè)計共享數(shù)據(jù)段132
6.3.6 場景信息的獲取133
第7章 其他模塊135
7.1 相機(jī)135
7.1.1 常見的相機(jī)模式分類135
7.1.2 常規(guī)第三人稱相機(jī)實現(xiàn)136
7.1.3 滑軌相機(jī)的實現(xiàn)140
7.2 Cutscene過場動畫145
7.2.1 不同類型的Cutscene簡介146
7.2.2 使用Timeline146
7.2.3 使用腳本過場動畫148
7.3 輸入、IK與音頻管理149
7.3.1 InControl插件的使用149
7.3.2 Final-IK插件的使用151
7.3.3 音頻管理153
第8章 畫面特效與后處理160
8.1 著色器Shader160
8.1.1 3D游戲中的常見Shader160
8.1.2 死亡徑向溶解效果161
8.1.3 受擊邊緣泛光效果164
8.1.4 基于屏幕門的抖動透明166
8.2 CommandBuffer的使用169
8.2.1 CommandBuffer簡介169
8.2.2 制作主角特顯效果171
8.3 后處理175
8.3.1 PPS后處理工具175
8.3.2 編寫自己的后處理腳本177
8.4 計算著色器Compute Shader179
8.4.1 什么是Compute Shader179
8.4.2 語法及使用簡介179
8.4.3 使用案例181
第3篇 項目案例實戰(zhàn)
第9章 案例剖析190
9.1 《忍者龍劍傳∑2》案例剖析190
9.1.1 斷肢效果的再實現(xiàn)190
9.1.2 流血噴濺程序的再實現(xiàn)193
9.1.3 角色殘影效果的再實現(xiàn)202
9.2 《君臨都市》案例剖析206
9.2.1 通用動作方案設(shè)計206
9.2.2 組合攻擊的再實現(xiàn)207
9.3 《戰(zhàn)神3》案例剖析211
9.3.1 吸魂效果的再實現(xiàn)211
9.3.2 鏈刃伸縮效果的再實現(xiàn)216
9.3.3 赫利俄斯照射的再實現(xiàn)220
第10章 橫版動作游戲Demo設(shè)計227
10.1 規(guī)劃與調(diào)配227
10.1.1 簡要規(guī)劃227
10.1.2 資源準(zhǔn)備228
10.1.3 項目配置228
10.2 基礎(chǔ)框架的整合231
10.2.1 戰(zhàn)斗模塊的整合231
10.2.2 動畫事件的整合232
10.3 玩家邏輯的整合233
10.3.1 輸入邏輯封裝233
10.3.2 玩家邏輯的編寫234
10.4 敵人邏輯的編寫241
10.4.1 基礎(chǔ)邏輯的編寫241
10.4.2 游走邏輯的編寫244
10.4.3 受擊邏輯的編寫246
10.5 構(gòu)建游戲247
10.5.1 預(yù)制體的組裝247
10.5.2 出生點邏輯的編寫248
10.5.3 回顧與總結(jié)249