-
内容大纲
《腾讯游戏开发精粹Ⅲ》是腾讯游戏研发团队不断积累沉淀的技术结晶,是继2019年推出《腾讯游戏开发精粹Ⅰ》和《《腾讯游戏开发精粹Ⅱ》后的诚意续作。本书收录了23个在上线项目中得到验证的技术方案,深入介绍了腾讯公司在游戏开发领域的新研究成果和新技术进展,涉及人工智能、计算机图形、动画和物理、客户端架构和技术、服务端架构和技术及管线和工具等多个方向。本书适合游戏从业者、游戏相关专业师生及对游戏幕后技术原理感兴趣的普通玩家。 -
作者介绍
-
目录
第1章 适用于MOBA游戏的帧同步移动预表现方案
1.1 网络游戏的客户端预表现技术
1.2 帧同步及客户端预表现原理
1.2.1 帧同步的原理与流程
1.2.2 逻辑与表现分离
1.2.3 客户端预表现基本流程
1.3 帧同步下的移动预表现实现方案
1.3.1 预测移动的基本表现要素
1.3.2 移动预表现与技能衔接处理
1.3.3 预测位置的修正
1.3.4 墙体和动态阻挡
1.4 移动手感指标与实验
1.5 总结
第2章 基于网格的视野技术方案
2.1 实现及原理
2.1.1 离线处理
2.1.2 运行时处理
2.1.3 渲染迷雾
2.2 性能优化
2.2.1 内存优化
2.2.2 计算性能优化
2.3 总结
第3章 移动端App集成UE的实践
3.1 移动端App集成UE简介
3.1.1 价值、意义和对手机QQ相关技术的影响
3.1.2 线上数据和成果展示
3.2 UE的SDK化之旅
3.2.1 启动器改造——集成移动端App的关键起点
3.2.2 针对移动端App特点的引擎生命周期改造
3.3 针对移动端App需求的引擎极致轻量化
3.3.1 包体优化:二进制代码文件
3.3.2 包体优化:资源文件
3.3.3 内存优化
3.4 应用功能的展示
3.4.1 QQ秀
3.4.2 游戏
3.4.3 聊天表情录制
3.5 总结
第4章 UE的Dedicated Server优化实践
4.1 DS管理优化
4.1.1 游戏服务架构
4.1.2 Seed DS模式优化方案
4.1.3 Multi World模式
4.2 Tick优化
4.2.1 引擎层Tick优化
4.2.2 逻辑层Tick优化
4.2.3 Tick优化小结
4.3 网络层优化
4.3.1 网络同步简介
4.3.2 DirtySystem的构建
4.3.3 网络相关性优化
4.4 业务层优化
4.4.1 动画优化
4.4.2 OverlapEvents实现分析和性能优化
4.5 总结
第5章 深入剖析高性能游戏数据库TcaplusDB的存储引擎
5.1 数据库存储引擎概述
5.2 LSH存储引擎的整体架构
5.2.1 LSH存储引擎的设计思想
5.2.2 LSH存储引擎架构设计
5.2.3 存储引擎的读写删流程
5.3 LSH存储引擎的实时自适应设计
5.3.1 LSH存储引擎的rehash
5.3.2 LSH存储引擎进行数据整理
5.4 引擎线程模型及动态负载均衡
5.4.1 TcaplusDB的线程模型
5.4.2 动态负载均衡算法
5.5 总结和展望
第6章 面向游戏的服务网格:Tbuspp2
6.1 微服务架构模型简介
6.2 游戏后台对服务网格的能力需求分析
6.2.1 游戏与Web服务后台运行模式的差异
6.2.2 为什么需要Tbuspp2
6.3 Tbuspp2设计
6.3.1 系统架构
6.3.2 领域建模
6.4 Tbuspp2核心实现机制
6.4.1 信令、数据独立信道,支持高效可靠信息交换
6.4.2 两级队列模型,提供功能扩展弹性
6.4.3 按需路由同步,从容支持大规模集群
6.4.4 StatefulGroup治理,全面支持游戏后台需求
6.5 总结
第7章 混合语言程序的混合调用栈火焰图
7.1 混合语言程序
7.2 混合调用栈火焰图
7.2.1 性能热点与火焰图
7.2.2 原生调用栈获取问题
7.2.3 脚本调用栈获取问题
7.2.4 混合调用栈获取问题
7.2.5 混合调用栈火焰图监控服务
7.3 目标进程的调试控制
7.4 快速获取跨进程原生调用栈
7.4.1 优化Linux平台的原生调用栈获取
7.4.2 优化Windows平台的原生调用栈获取
7.4.3 addr2func的查询优化
7.4.4 Linux平台中UE的堆栈获取
7.5 安全获取跨进程脚本调用栈
7.5.1 获取执行环境指针
7.5.2 模拟调用栈回溯
7.6 合并脚本调用栈与原生调用栈
7.7 优化混合调用栈统计数据编码
7.8 混合调用栈火焰图获取总结
第8章 出海游戏的LQA工业化
8.1 LQA工业化背景简介
8.2 LQA工业化的过程及方法
8.2.1 LQA工业化的提取阶段
8.2.2 LQA工业化的翻译阶段
8.2.3 LQA工业化的合入阶段
8.2.4 LQA工业化的测试阶段
8.2.5 LQA工业化的大版本合并阶段
8.3 总结
第9章 在TPS类游戏中应用可微渲染进行资源转换与优化
9.1 在TPS类游戏中应用可微渲染简介
9.2 背景知识
9.2.1 什么是可微渲染
9.2.2 可微渲染的光栅化实现
9.2.3 可微渲染在游戏和虚拟现实行业中的应用
9.2.4 TPS类游戏的特点
9.3 基于可微渲染进行资源转换与优化的一般框架
9.4 可微渲染器的实现
9.4.1 可微渲染器基本功能的实现
9.4.2 游戏方面的修改与扩展
9.5 材质拟合相关处理
9.5.1 观察视角相关内容的处理
9.5.2 材质的处理
9.5.3 材质转换之后的效果
9.6 网格的处理
9.7 总结与展望
第10章 DirectXShaderCompiler适配UE4移动平台
10.1 着色器与变体
10.1.1 移动平台性能评估标准
10.1.2 DirectXShaderCompiler
10.2 适配UE
10.2.1 OpenGL&VulkanRHI适配
10.2.2 MetalRHI适配
第11章 大规模复杂场景下光照烘焙面临的挑战及解决方案
11.1 光照烘焙的背景与现有解决方案
11.2 光照烘焙中大规模光源的管理方案
11.2.1 单个光源的选取
11.2.2 单个光源的采样
11.2.3 基于多重重要性采样的样本融合
11.2.4 方案的收益
11.3 烘焙中复杂光路下的采样优化
11.3.1 一种基于GPU实现的空间方向树的自适应路径引导算法
11.3.2 基于时空蓄水池的路径重采样算法
11.4 烘焙中的降噪器优化
11.4.1 基于双边滤波的自研光照贴图降噪器
11.4.2 结合双边滤波的Optix降噪器优化
第12章 光照烘焙中基于GPU实现的接缝修复方案
12.1 光照烘焙及接缝问题简介
12.2 相关背景知识
12.2.1 关键术语
12.2.2 光线追踪
12.2.3 联合双边滤波
12.2.4 SVGF
12.3 工业界现有光照烘焙接缝修复方案
12.4 实现细节
12.4.1 SeamFinderPass
12.4.2 SeamFilterPass
12.5 接缝修复效果对比
12.6 总结
第13章 VRS在移动端的集成与实践
13.1 VRS概述
13.2 VRS介绍
13.2.1 VRS的概念
13.2.2 VRS的原理
13.2.3 VRS的作用
13.3 着色率控制方式
13.3.1 Per-Draw
13.3.2 Per-Triangle
13.3.3 Per-Region
13.4 VRS中Per-Draw的集成
13.4.1 UE4中的VRS材质
13.4.2 VRS中的基元组件
13.4.3 VRS中的渲染硬件接口
13.5 VRS中Per-Draw的实践
13.5.1 将VRS用于具有低频细节材质的物体
13.5.2 将VRS用于快速移动的物体
13.5.3 将VRS用于近处的物体
13.6 总结与展望
第14章 基于帧预测的移动端高帧率性能优化技术
14.1 解决思路
14.2 生成预测帧的方法
14.2.1 使用深度在屏幕空间还原场景网格
14.2.2 顶点的重投影及走样的修复
14.2.3 帧预测的实现
14.3 适配帧预测的管线
14.3.1 以“渲染帧-预测帧”为一对的渲染管线
14.3.2 直接在渲染线程插补中间帧的渲染管线
14.4 适配帧预测管线的负载均衡方案
14.4.1 管线的渲染负载均衡
14.4.2 成对渲染管线中Game线程游戏逻辑的跳帧更新及
负载均衡方案
14.5 优化效果与总结
第15章 基于UE4的开放世界地形渲染
15.1 开放世界地形渲染简介
15.2 方案背景
15.3 方案设计思路
15.4 地形着色方式
15.4.1 Weightmap着色
15.4.2 MaterialID着色
15.4.3 HybridMaterialID着色
15.4.4 MaterialID编辑工具
15.5 地形渲染管线
15.5.1 UE4中的Landscape渲染流程
15.5.2 GPUDrivenTerrain渲染流程
15.5.3 CPU端技术细节
15.5.4 GPU端技术细节
15.6 效果收益与性能分析
15.6.1 测试场景
15.6.2 Metal平台性能数据
15.6.3 OpenGLES平台性能数据
15.7 总结
第16章 游戏中的极端天气渲染
16.1 游戏中的天气
16.2 认识风暴云
16.3 中央气旋分析与建模
16.3.1 风暴位置与大小
16.3.2 风暴眼的形态
16.3.3 风暴流动与旋转
16.3.4 风暴眼的垂直结构
16.3.5 风暴色彩与氛围
16.4 流体模拟
16.4.1 流体在数学上的表达
16.4.2 密度场扩散过程
16.4.3 体积云的流体模拟
16.5 体积散射与风暴云光照
16.5.1 光照方程
16.5.2 相函数
16.5.3 风暴云光照
16.6 闪电与内部光照
16.6.1 闪电光照拟合
16.6.2 闪电形态
16.7 环境交互
16.7.1 投影
16.7.2 自定义缓冲
第17章 移动端贴图压缩优化
17.1 ZTC纹理压缩
17.2 移动端常见压缩格式回顾
17.2.1 ETC1
17.2.2 ETC1s
17.2.3 ASTC
17.2.4 PVRTC
17.2.5 ETC1和ASTC的问题
17.3 ZTC格式设计
17.3.1 支持更多的块尺寸
17.3.2 块分区
17.3.3 EndpointDirection(PCA)优化
17.3.4 亮度码本修订
17.3.5 RGBA格式的压缩
17.3.6 基于双线性插值的编码
17.4 ZTC数据计算
17.4.1 优化basecolor
17.4.2 匹配partition
17.4.3 边界拟合
17.4.4 ZTC转码ASTC
17.4.5 未来的工作
17.5 ZTC测试
17.5.1 RGB
17.5.2 Normal
17.5.3 RGBA
17.6 总结
第18章 显存管理
18.1 内存管理
18.1.1 内存碎片
18.1.2 内存分配算法
18.2 通用显存管理
18.2.1 为什么要实现通用显存管理
18.2.2 VMA介绍
18.2.3 VMA显存分配
18.2.4 VMA显存碎片整理
18.3 专用显存管理
18.3.1 GPUDriven显存管理需求
18.3.2 GPUDriven显存分配
18.3.3 显存碎片整理
第19章 基于VulkanRayQuery的移动端光线追踪反射效果
19.1 移动平台的光线追踪特性简介
19.1.1 支持光线追踪的图形API
19.1.2 光线追踪管线和光线查询
19.2 基于光线查询的材质系统
19.2.1 现有实现及其局限性
19.2.2 可见性缓冲区
19.2.3 材质系统的实现
19.3 光线追踪反射
19.3.1 世界空间法线纹理和ThinGBuffer
19.3.2 实现原理
19.3.3 结果与分析
19.4 总结
第20章 移动端全局光照演变的思考与实践
20.1 什么是全局光照
20.2 静态光照烘焙
20.2.1 光照贴图
20.2.2 光照探针
20.2.3 静态光照烘焙的局限性与优势
20.3 基于预计算传输的全局光照
20.3.1 如何让光照动起来
20.3.2 预计算辐射传输
20.3.3 数据存储的优化
20.3.4 基于预计算的半动态GI的局限性
20.4 动态全局光照SmartGI
20.4.1 移动端全动态GI方案的挑战
20.4.2 已有全动态GI方案的分析
20.4.3 使用混合架构实现全动态GI的基本框架
20.4.4 使用屏幕空间数据做光照缓存
20.4.5 使用体素化数据做光照缓存
20.4.6 使用离散图元做光照缓存
20.4.7 多光照缓存的收集
20.4.8 全动态GI的性能优化
20.4.9 全动态GI的渲染效果
20.5 未来的展望与思考
20.5.1 GI算法的持续迭代
20.5.2 移动端硬件能力的持续演变和提升
第21章 动作匹配及神经动画技术
21.1 背景介绍
21.1.1 自然动画的目标
21.1.2 骨骼动画
21.1.3 游戏动画中的根骨骼
21.1.4 骨骼动画中的正向动力学
21.1.5 骨骼动画中的反向动力学
21.1.6 游戏动画中的状态机
21.2 动作匹配
21.2.1 动作捕捉中的数据采集
21.2.2 设计动作捕捉中的数据采集的脚本
21.2.3 未来轨迹的预测
21.2.4 动作姿态特征提取
21.2.5 运动数据的混合
21.2.6 动作匹配技术总结
21.3 基于学习的动作匹配
21.3.1 匹配数据的神经网络压缩
21.3.2 将动作匹配中涉及的三个网络进行连接
21.3.3 神经相位动画技术
21.4 游戏动画中的多风格技术
21.4.1 游戏动画中的多风格及数据采集
21.4.2 多风格网络设计
21.4.3 风格效果
21.5 小结
第22章 深度照片还原——LightStage人像数字扫描管线
22.1 人像扫描介绍
22.2 拍摄
22.2.1 LightStage拍摄
22.2.2 LookDev拍摄
22.3 数据处理
22.3.1 LightStage数据处理
22.3.2 LookDev数据处理
22.4 三维重建
22.4.1 点云匹配
22.4.2 模型重构
22.4.3 贴图映射
22.5 美术制作
22.5.1 模型清理
22.5.2 模型包裹
22.5.3 PBR贴图生成
22.5.4 细节纹理贴图
22.5.5 高模制作
22.5.6 烘焙
22.5.7 贴图制作
22.6 LookDev
22.6.1 毛发制作
22.6.2 光照环境匹配
22.6.3 MayaArnold
22.6.4 UnrealSubstrate
22.6.5 UnrealMetaHuman
22.7 总结
第23章 语音驱动的面部动画生成算法
23.1 解决方案与核心技术
23.1.1 面部动画驱动技术
23.1.2 口型表情动画生成技术
23.2 基于音素方案的实现流程
23.2.1 总体流程
23.2.2 音素、视素、动作单元的概念
23.2.3 从音频文件到口型动画的基础实现
23.2.4 解决协同发音的难题
23.3 其他辅助效果
23.3.1 与情绪的结合
23.3.2 手势、挑眉、身体姿态的配合
23.3.3 最终效果
23.4 总结
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...