書籍簡介:
動(dòng)作游戲作為一大熱門的游戲品類,一直不缺少玩家受眾歡迎。但其較高的工藝門檻、技術(shù)細(xì)節(jié)、復(fù)雜度等都阻礙了其開發(fā)進(jìn)程。本書結(jié)合作者自身的研發(fā)經(jīng)驗(yàn)進(jìn)行撰寫,從角色、戰(zhàn)斗、關(guān)卡、物理等多個(gè)剖面去解析動(dòng)作游戲在研發(fā)中遇到的總總困難,盡可能的繞過或避免研發(fā)中的已知問題,最終幫助讀者在對于該品類游戲的理解與開發(fā)上提供助力。
長期以來,以動(dòng)作游戲?yàn)楹诵牡臅恢陛^為匱乏。因此也成為了本書撰寫的契機(jī)。通過對本書的閱讀,不管是愛好動(dòng)作游戲的獨(dú)立開發(fā)者,還是期望進(jìn)一步提升自身能力的游戲從業(yè)者,相信您都能在其中有所收獲。
作者簡介:
周尚宣
出版日期:
2020年08月
章節(jié)目錄:
前言
第1篇 概述及前期準(zhǔn)備
第1章 概述 2
1.1 本書的側(cè)重點(diǎn)及目標(biāo) 2
1.2 Unity3D引擎在大環(huán)境中的發(fā)展現(xiàn)狀 4
1.3 Steam、獨(dú)立游戲及動(dòng)作游戲的現(xiàn)狀 5
1.3.1 Steam平臺(tái)簡介 5
1.3.2 國內(nèi)獨(dú)立游戲的開端 6
1.3.3 細(xì)看動(dòng)作類獨(dú)立游戲 6
1.4 設(shè)計(jì)目標(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è)計(jì) 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 點(diǎn)乘 25
2.3.3 叉乘 26
2.3.4 投影 27
2.3.5 四元數(shù) 28
2.4 其他準(zhǔn)備 29
2.4.1 關(guān)注項(xiàng)目中的GC問題 29
2.4.2 控制臺(tái)工具的編寫 31
2.4.3 項(xiàng)目目錄結(jié)構(gòu)建議 32
2.4.4 項(xiàng)目的程序流程結(jié)構(gòu)建議 33
第2篇 動(dòng)作游戲核心模塊
第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 動(dòng)畫根運(yùn)動(dòng)的物理問題 45
3.3 為動(dòng)作游戲定制碰撞系統(tǒng) 46
3.3.1 設(shè)計(jì)目標(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 不同形狀的邊界點(diǎn)獲取 52
3.3.7 碰撞對象管理器 56
第4章 主角系統(tǒng)設(shè)計(jì) 58
4.1 基礎(chǔ)要素 58
4.1.1 同類游戲?qū)Ρ?58
4.1.2 邏輯編寫前的準(zhǔn)備工作 59
4.1.3 移動(dòng)邏輯 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è)計(jì)掛接點(diǎn)接口 73
4.2.3 技能系統(tǒng) 74
4.2.4 連續(xù)技功能 75
4.3 場景互動(dòng)部分 78
4.3.1 角色凍結(jié) 78
4.3.2 場景互動(dòng)組件 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ò)展SpawnPoint 87
5.2.3 對象池的編寫 92
5.2.4 關(guān)卡模塊的序列化 94
5.2.5 戰(zhàn)斗壁障的實(shí)現(xiàn) 99
5.3 光照與烘焙 102
5.3.1 不同GI類型的選擇 102
5.3.2 預(yù)計(jì)算光照的使用 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è)計(jì) 107
6.1.2 動(dòng)畫事件的處理 110
6.1.3 Animator常見問題整理 112
6.2 設(shè)計(jì)一個(gè)可擴(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è)計(jì) 125
6.3.1 AI設(shè)計(jì)綜述 125
6.3.2 Behavior Designer插件簡介 127
6.3.3 使用協(xié)程來開發(fā)AI程序 128
6.3.4 可控制的隨機(jī)行為 131
6.3.5 設(shè)計(jì)共享數(shù)據(jù)段 132
6.3.6 場景信息的獲取 133
第7章 其他模塊 135
7.1 相機(jī) 135
7.1.1 常見的相機(jī)模式分類 135
7.1.2 常規(guī)第三人稱相機(jī)實(shí)現(xiàn) 136
7.1.3 滑軌相機(jī)的實(shí)現(xiàn) 140
7.2 Cutscene過場動(dòng)畫 145
7.2.1 不同類型的Cutscene簡介 146
7.2.2 使用Timeline 146
7.2.3 使用腳本過場動(dòng)畫 148
7.3 輸入、IK與音頻管理 149
7.3.1 InControl插件的使用 149
7.3.2 Final-IK插件的使用 151
7.3.3 音頻管理 153
第8章 畫面特效與后處理 160
8.1 著色器Shader 160
8.1.1 3D游戲中的常見Shader 160
8.1.2 死亡徑向溶解效果 161
8.1.3 受擊邊緣泛光效果 164
8.1.4 基于屏幕門的抖動(dòng)透明 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 計(jì)算著色器Compute Shader 179
8.4.1 什么是Compute Shader 179
8.4.2 語法及使用簡介 179
8.4.3 使用案例 181
第3篇 項(xiàng)目案例實(shí)戰(zhàn)
第9章 案例剖析 190
9.1 《忍者龍劍傳∑2》案例剖析 190
9.1.1 斷肢效果的再實(shí)現(xiàn) 190
9.1.2 流血噴濺程序的再實(shí)現(xiàn) 193
9.1.3 角色殘影效果的再實(shí)現(xiàn) 202
9.2 《君臨都市》案例剖析 206
9.2.1 通用動(dòng)作方案設(shè)計(jì) 206
9.2.2 組合攻擊的再實(shí)現(xiàn) 207
9.3 《戰(zhàn)神3》案例剖析 211
9.3.1 吸魂效果的再實(shí)現(xiàn) 211
9.3.2 鏈刃伸縮效果的再實(shí)現(xiàn) 216
9.3.3 赫利俄斯照射的再實(shí)現(xiàn) 220
第10章 橫版動(dòng)作游戲Demo設(shè)計(jì) 227
10.1 規(guī)劃與調(diào)配 227
10.1.1 簡要規(guī)劃 227
10.1.2 資源準(zhǔn)備 228
10.1.3 項(xiàng)目配置 228
10.2 基礎(chǔ)框架的整合 231
10.2.1 戰(zhàn)斗模塊的整合 231
10.2.2 動(dòng)畫事件的整合 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 出生點(diǎn)邏輯的編寫 248
10.5.3 回顧與總結(jié) 249
封面圖: