騰訊游戲開(kāi)發(fā)精粹 版權(quán)信息
- ISBN:9787121366024
- 條形碼:9787121366024 ; 978-7-121-36602-4
- 裝幀:一般膠版紙
- 冊(cè)數(shù):暫無(wú)
- 重量:暫無(wú)
- 所屬分類(lèi):>>
騰訊游戲開(kāi)發(fā)精粹 本書(shū)特色
《騰訊游戲開(kāi)發(fā)精粹》是騰訊游戲研發(fā)團(tuán)隊(duì)的技術(shù)結(jié)晶,由10多名騰訊游戲資深技術(shù)專家撰寫(xiě)而成,整理了團(tuán)隊(duì)在自主游戲研發(fā)的道路上積累沉淀的技術(shù)方案,具有較強(qiáng)的通用性及時(shí)效性,內(nèi)容涵蓋游戲腳本系統(tǒng)及開(kāi)發(fā)工具、數(shù)學(xué)和物理、計(jì)算機(jī)圖形、人工智能與后臺(tái)架構(gòu)等。
騰訊游戲開(kāi)發(fā)精粹 內(nèi)容簡(jiǎn)介
《騰訊游戲開(kāi)發(fā)精粹》是騰訊游戲研發(fā)團(tuán)隊(duì)的技術(shù)結(jié)晶,由10 多名騰訊游戲資深技術(shù)專家撰寫(xiě)而成,整理了團(tuán)隊(duì)在自主游戲研發(fā)的道路上積累沉淀的技術(shù)方案,具有較強(qiáng)的通用性及時(shí)效性,內(nèi)容涵蓋游戲腳本系統(tǒng)及開(kāi)發(fā)工具、數(shù)學(xué)和物理、計(jì)算機(jī)圖形、人工智能與后臺(tái)架構(gòu)等。
騰訊游戲開(kāi)發(fā)精粹 目錄
目 錄
**部分 游戲數(shù)學(xué)
第1 章 基于SDF的搖桿移動(dòng) 2
摘要 2
1.1 引言 3
1.2 有號(hào)距離場(chǎng)(SDF 3
1.3 利用柵格數(shù)據(jù)預(yù)計(jì)算SDF 4
1.4 SDF 的碰撞檢測(cè)與碰撞響應(yīng) 5
1.5 避免往返 8
1.6 利用多邊形數(shù)據(jù)預(yù)計(jì)算SDF 9
1.7 其他需求 10
1.7.1 如何將角色從障礙區(qū)域中移出 10
1.7.2 角色不能越過(guò)障礙物的遠(yuǎn)距離移動(dòng) 11
1.8 動(dòng)態(tài)障礙物 12
1.9 AI尋路 14
1.10 動(dòng)態(tài)地圖 14
1.11 總結(jié) 17
參考文獻(xiàn) 17
第2 章 高性能的定點(diǎn)數(shù)實(shí)現(xiàn)方案 18
摘要 18
2.1 引言 18
2.1.1 浮點(diǎn)數(shù)簡(jiǎn)介 18
2.1.2 32 位浮點(diǎn)數(shù)(單精度)表示原理 19
2.2 基于整數(shù)的二進(jìn)制表示的定點(diǎn)數(shù)原理 19
2.2.1 32 位定點(diǎn)數(shù)表示原理 19
2.2.2 64 位定點(diǎn)數(shù)表示原理 20
2.3 定點(diǎn)數(shù)的四則運(yùn)算 21
2.3.1 加法與減法 22
2.3.2 乘法 22
2.3.3 除法 23
2.4 定點(diǎn)數(shù)開(kāi)方與超越函數(shù)實(shí)現(xiàn)方法 23
2.4.1 多項(xiàng)式擬合 24
2.4.2 正弦/余弦函數(shù) 25
2.4.3 指數(shù)函數(shù) 26
2.4.4 對(duì)數(shù)函數(shù) 27
2.4.5 開(kāi)方運(yùn)算 27
2.4.6 開(kāi)方求倒數(shù) 28
2.4.7 為什么不用查表法 30
2.5 定點(diǎn)數(shù)的誤差對(duì)比與性能測(cè)試 30
2.5.1 超越函數(shù)及開(kāi)方的誤差測(cè)試 30
2.5.2 性能測(cè)試 30
2.6 總結(jié) 31
參考文獻(xiàn) 31
第二部分 游戲物理
第3 章 一種高效的弧長(zhǎng)參數(shù)化路徑系統(tǒng) 34
摘要 34
3.1 引言 34
3.2 端點(diǎn)間二次樣條的構(gòu)建 35
3.3 路徑的構(gòu)建 38
3.4 曲線的弧長(zhǎng)參數(shù)化 39
3.5 曲線上的簡(jiǎn)單運(yùn)動(dòng) 42
3.5.1 跑動(dòng) 42
3.5.2 跳躍 43
3.5.3 相鄰路徑的切換 44
3.5.4 曲線上的旋轉(zhuǎn)插值 45
3.6 總結(jié) 46
參考文獻(xiàn) 46
第4 章 船的物理模擬及同步設(shè)計(jì) 47
摘要 47
4.1 浮力系統(tǒng) 48
4.1.1 浮力 48
4.1.2 升力 52
4.1.3 拉力 52
4.1.4 拍擊力 53
4.1.5 阻力上限 54
4.2 引擎系統(tǒng) 55
4.2.1 移動(dòng)、轉(zhuǎn)向模擬 55
4.2.2 向心力計(jì)算 56
4.3 Entity-Component 及同步概覽 56
4.4 浮力系統(tǒng)物理更新機(jī)制 57
4.5 總結(jié) 59
參考文獻(xiàn) 59
第5 章 3D 游戲碰撞之體素內(nèi)存、效率優(yōu)化 60
摘要 60
5.1 背景介紹 60
5.2 體素生成 62
5.3 體素內(nèi)存優(yōu)化 62
5.3.1 體素合并的原理 62
5.3.2 體素合并的算法 64
5.3.3 地面處理 65
5.3.4 水的處理 66
5.3.5 范圍控制 67
5.3.6 內(nèi)存自管理 67
5.3.7 體素內(nèi)存優(yōu)化算法的效果 68
5.3.8 體素效率優(yōu)化 69
5.4 NavMesh 生成 69
5.4.1 體素生成NavMesh 69
5.4.2 獲取地面高度 70
5.4.3 后臺(tái)阻擋圖 71
5.4.4 前臺(tái)優(yōu)先級(jí)NavMesh 71
5.4.5 鋸齒 72
5.5 行走、輕功、攝像機(jī)碰撞 73
5.5.1 行走 73
5.5.2 輕功 75
5.5.3 攝像機(jī)碰撞 75
參考文獻(xiàn) 76
第三部分 計(jì)算機(jī)圖形
第6 章 移動(dòng)端體育類(lèi)寫(xiě)實(shí)模型優(yōu)化 78
摘要 78
6.1 引言 79
6.2 方案設(shè)計(jì)思路 79
6.2.1 角色統(tǒng)一與差異元素分析 79
6.2.2 角色表現(xiàn)=人體+服飾 80
6.2.3 角色資源整理 83
6.2.4 資源制作與實(shí)現(xiàn) 84
6.3 具體實(shí)現(xiàn) 92
6.3.1 實(shí)現(xiàn)流程 92
6.3.2 CPU 邏輯 93
6.3.3 GPU 渲染 97
6.4 效果收益、性能分析和結(jié)語(yǔ) 97
6.4.1 方案優(yōu)劣勢(shì) 98
6.4.2 方案補(bǔ)充 99
6.4.3 應(yīng)用場(chǎng)景 99
參考文獻(xiàn) 100
第7 章 大規(guī)模3D 模型數(shù)據(jù)的優(yōu)化壓縮與精細(xì)漸進(jìn)加載 101
摘要 101
7.1 引言 102
7.2 頂點(diǎn)數(shù)據(jù)優(yōu)化 102
7.2.1 頂點(diǎn)數(shù)據(jù)合并去重 103
7.2.2 索引數(shù)據(jù)合并 104
7.2.3 頂點(diǎn)數(shù)據(jù)排序 104
7.2.4 子網(wǎng)格的拆分與合并 105
7.2.5 頂點(diǎn)數(shù)據(jù)編碼壓縮 105
7.3 有利于漸進(jìn)加載的數(shù)據(jù)組織方式 112
7.4 總結(jié) 113
參考文獻(xiàn) 114
第四部分 人工智能及后臺(tái)架構(gòu)
第8 章 游戲AI 開(kāi)發(fā)框架組件behaviac 和元編程 116
摘要 116
8.1 behaviac 的工作原理 117
8.1.1 類(lèi)型信息 117
8.1.2 什么是行為樹(shù) 118
8.1.3 例子1 119
8.1.4 執(zhí)行說(shuō)明 119
8.1.5 進(jìn)階 120
8.1.6 例子2 120
8.1.7 再進(jìn)階 123
8.1.8 總結(jié) 123
8.2 元編程在behaviac中的應(yīng)用 125
8.2.1 模板特化 126
8.2.2 加載中的特例化 126
8.2.3 運(yùn)行中的特例化 129
第9 章 跳點(diǎn)搜索算法的效率、內(nèi)存、路徑優(yōu)化方法 131
摘要 131
9.1 引言 132
9.2 JPS算法 133
9.2.1 算法介紹 133
9.2.2 A*算法流程 133
9.2.3 JPS算法流程 135
9.2.4 JPS算法的“兩個(gè)定義、三個(gè)規(guī)則 135
9.2.5 算法舉例 137
9.3 JPS算法優(yōu)化 138
9.3.1 JPS效率優(yōu)化算法 138
9.3.2 JPS內(nèi)存優(yōu)化 144
9.3.3 路徑優(yōu)化 145
9.4 GPPC 比賽解讀 146
9.4.1 GPPC 比賽與地圖數(shù)據(jù)集 146
9.4.2 GPPC 的評(píng)價(jià)體系 148
9.4.3 GPPC 參賽算法及其比較 150
參考文獻(xiàn) 151
第10 章 優(yōu)化MMORPG開(kāi)發(fā)效率及性能的有限多線程模型 152
摘要 152
10.1 引言 152
10.1.1 多進(jìn)程單線程模型 153
10.1.2 單進(jìn)程多線程模型 153
10.1.3 單進(jìn)程單線程模型 153
10.2 有限多線程模型 154
10.3 使用OpenMP框架快速實(shí)現(xiàn)有限多線程模型 156
10.4 控制多線程邏輯代碼 158
10.5 異步化解決數(shù)據(jù)安全問(wèn)題 159
10.6 對(duì)“不安全”訪問(wèn)的防范 160
10.7 拆解大鎖 161
10.8 其他建議 163
參考文獻(xiàn) 164
第五部分 游戲腳本系統(tǒng)
第11 章 Lua翻譯工具――C#轉(zhuǎn)Lua 166
摘要 166
11.1 設(shè)計(jì)初衷 166
11.2 實(shí)現(xiàn)原理 167
11.2.1 參考對(duì)比行業(yè)內(nèi)類(lèi)似的解決方案 167
11.2.2 翻譯原理 168
11.2.3 翻譯流程 168
11.3 翻譯示例 170
11.4 實(shí)現(xiàn)細(xì)節(jié) 174
11.4.1 連續(xù)賦值 175
11.4.2 switch 175
11.4.3 continue 176
11.4.4 不定參數(shù) 177
11.4.5 條件表達(dá)式 178
11.5 運(yùn)行性能 179
11.6 TKLua 翻譯藍(lán)圖 179
11.6.1 類(lèi)關(guān)系 180
11.6.2 類(lèi)成員 180
11.6.3 方法體 181
11.7 發(fā)展方向 182
11.8 總結(jié) 184
參考文獻(xiàn) 185
第12 章 Unreal Engine 4集成Lua 186
摘要 186
12.1 引言 186
12.2 UE4 元信息 187
12.2.1 介紹 187
12.2.2 Lua 通過(guò)元信息與UE4交互 189
12.2.3 讀寫(xiě)成員變量 189
12.2.4 函數(shù)調(diào)用 190
12.2.5 C++調(diào)用Lua 191
12.2.6 小結(jié) 192
12.3 通過(guò)模板元編程生成“膠水”代碼 192
12.3.1 接口設(shè)計(jì) 193
12.3.2 實(shí)現(xiàn) 195
12.3.3 讀寫(xiě)成員變量 197
12.3.4 引用類(lèi)型 198
12.3.5 導(dǎo)出函數(shù) 199
12.3.6 默認(rèn)實(shí)參 200
12.3.7 默認(rèn)生成的函數(shù) 202
12.3.8 C++調(diào)用Lua 203
12.3.9 小結(jié) 203
12.4 優(yōu)化 203
12.4.1 UObject 指針與Table 203
12.4.2 結(jié)構(gòu)體 204
12.4.3 運(yùn)行時(shí)熱加載 205
第六部分 開(kāi)發(fā)工具
第13 章 使用FASTBuild助力Unreal Engine 4 208
摘要 208
13.1 引言 209
13.2 UE4 分布式工具 209
13.2.1 Derived Data Cache(DDC 209
13.2.2 Swarm 210
13.2.3 IncrediBuild 210
13.2.4 FASTBuild 211
13.3 在Windows系統(tǒng)下搭建FASTBuild 工作環(huán)境 213
13.3.1 網(wǎng)絡(luò)架構(gòu) 213
13.3.2 搭建基本環(huán)境 214
13.3.3 可用性驗(yàn)證 215
13.4 使用FASTBuild 分布式編譯UE4代碼和項(xiàng)目代碼 219
13.4.1 準(zhǔn)備工作 219
13.4.2 部署多機(jī)FASTBuild 環(huán)境 220
13.4.3 編譯UE4 代碼及對(duì)比測(cè)試 220
13.4.4 優(yōu)化FASTBuild 224
13.4.5 再次測(cè)試分布式編譯UE4代碼 227
13.5 “秒”編UE4著色器 228
13.5.1 準(zhǔn)備工作 229
13.5.2 大規(guī)模著色器編譯測(cè)試 237
13.5.3 材質(zhì)編輯器內(nèi)著色器編譯測(cè)試 240
13.6 總結(jié) 243
第14 章 一種高效的幀同步全過(guò)程日志輸出方案 244
摘要 244
14.1 引言 244
14.2 幀同步的基礎(chǔ)理論 245
14.2.1 基本原理 245
14.2.2 系統(tǒng)抽象 246
14.3 本方案*終解決的問(wèn)題 247
14.4 全日志的自動(dòng)插入 250
14.4.1 在函數(shù)**行代碼之前自動(dòng)插入日志代碼 250
14.4.2 處理手動(dòng)插入的日志代碼 251
14.4.3 對(duì)每行日志代碼進(jìn)行唯一編碼 251
14.4.4 構(gòu)建版本 252
14.4.5 整體工具流程及代碼清單 252
14.4.6 為什么不采用IL 注入 256
14.5 運(yùn)行時(shí)的日志收集 256
14.5.1 整體業(yè)務(wù)流程 256
14.5.2 高效的存儲(chǔ)格式 258
14.5.3 高性能的日志輸出 259
14.5.4 正確選擇合適的校驗(yàn)算法 259
14.6 導(dǎo)出可讀性日志信息 260
14.7 本方案思路的可移植性 260
14.8 總結(jié) 261
第15 章 基于解析符號(hào)表,使用注入的方式進(jìn)行Profiler采樣的技術(shù) 262
摘要 262
15.1 進(jìn)行測(cè)量之前的準(zhǔn)備工作 263
15.1.1 注入的簡(jiǎn)單例子 263
15.1.2 注入額外的代碼 264
15.1.3 注入的注意事項(xiàng) 265
15.2 性能的測(cè)量 267
15.2.1 時(shí)間的統(tǒng)計(jì)方法 267
15.2.2 針對(duì)函數(shù)的采樣 268
15.2.3 測(cè)量實(shí)戰(zhàn) 273
15.3 總結(jié) 276
展開(kāi)全部
騰訊游戲開(kāi)發(fā)精粹 相關(guān)資料
過(guò)去數(shù)十年,信息技術(shù)的高速發(fā)展將人類(lèi)從工業(yè)文明迅速帶入數(shù)字文明。在這一劇烈的數(shù)字化進(jìn)程中,互聯(lián)網(wǎng)公司必須堅(jiān)持“科技向善”,確保這一輪技術(shù)革命真正惠及人類(lèi),實(shí)現(xiàn)數(shù)字社會(huì)福祉的*化。我們希望利用技術(shù)增進(jìn)并改善人們的生活,游戲本身就是基于*的計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的互動(dòng)式數(shù)字產(chǎn)物。在《騰訊游戲開(kāi)發(fā)精粹》一書(shū)中,讀者將了解到騰訊在游戲研發(fā)方面應(yīng)用的一些新技術(shù)。期待在未來(lái),隨著3D、AI,以及連接人與人的網(wǎng)絡(luò)等新技術(shù)的發(fā)展,游戲會(huì)有越來(lái)越多的創(chuàng)新,充分發(fā)揮新科技的巨大潛力,為全球用戶帶來(lái)更多娛樂(lè)和精神層面的享受,幫助人類(lèi)擁有更好的數(shù)字文明。
——騰訊集團(tuán)高級(jí)副總裁 馬曉軼
秉承一貫的開(kāi)放、共贏精神,《騰訊游戲開(kāi)發(fā)精粹》收錄騰訊游戲在上線項(xiàng)目中得到驗(yàn)證的前沿技術(shù)精華,涵蓋游戲腳本系統(tǒng)及開(kāi)發(fā)工具、數(shù)學(xué)和物理、計(jì)算機(jī)圖形、人工智能與后臺(tái)架構(gòu)等諸多方面。期待與行業(yè)里的伙伴共享、探討本書(shū),共同探索游戲事業(yè)的更多可能。
——騰訊游戲?qū)W院院長(zhǎng) 夏琳
本書(shū)由10多位優(yōu)秀的騰訊游戲技術(shù)人員撰寫(xiě)而成,包含了游戲技術(shù)各領(lǐng)域的多個(gè)技術(shù)方案,且不同章節(jié)內(nèi)容相對(duì)獨(dú)立,可以作為工具書(shū),隨時(shí)閱讀參考。無(wú)論是初學(xué)者還是從業(yè)者,都能從本書(shū)中收獲經(jīng)驗(yàn)知識(shí)和開(kāi)發(fā)靈感。
——掌趣科技CEO 劉惠城
游戲開(kāi)發(fā)技術(shù)覆蓋的計(jì)算機(jī)科學(xué)領(lǐng)域廣泛,眾多資深的技術(shù)專家在《騰訊游戲開(kāi)發(fā)精粹》一書(shū)中分享了從項(xiàng)目中提煉的多方面的經(jīng)驗(yàn)。書(shū)中每一篇文章都有一個(gè)獨(dú)立而完整的主題,從重要的基礎(chǔ)概念開(kāi)始一直講到深入的技術(shù)細(xì)節(jié),具有非常強(qiáng)的實(shí)踐和參考意義,無(wú)論新手還是有經(jīng)驗(yàn)的開(kāi)發(fā)者都可以從中找到感興趣的內(nèi)容并開(kāi)啟學(xué)習(xí)旅程。相信其他從業(yè)人員在閱讀完本書(shū)之后一定能像本人一樣受益良多。
——Epic
Games 中國(guó)資深技術(shù)工程師 王禰
游戲技術(shù)研發(fā)的實(shí)踐性很強(qiáng),真正有用的技術(shù)會(huì)在項(xiàng)目中不斷被驗(yàn)證和優(yōu)化!厄v訊游戲開(kāi)發(fā)精粹》凝聚了騰訊游戲資深技術(shù)專家們的智慧,與大家分享了從多個(gè)成功項(xiàng)目中提煉出的優(yōu)選方案和原創(chuàng)技術(shù)。對(duì)于立志從事游戲研發(fā)的學(xué)子們而言,這是一本能夠幫助提高實(shí)踐能力的好書(shū)。
——清華大學(xué)軟件學(xué)院黨委書(shū)記兼副院長(zhǎng) 王斌
騰訊游戲開(kāi)發(fā)精粹 作者簡(jiǎn)介
騰訊游戲十多位從事一線技術(shù)研發(fā)和前沿創(chuàng)新的骨干開(kāi)發(fā)技術(shù)專家。