互联网
类型
可以朗读
语音朗读
311千字
字数
2024-11-01
发行日期
展开全部
主编推荐语
23个来自腾讯游戏的真实技术方案,拥抱AIGC代表业界前瞻性探索水平。
内容简介
本书是腾讯游戏研发团队不断积累沉淀的技术结晶,是继2019年《腾讯游戏开发精粹》和2021年《腾讯游戏开发精粹Ⅱ》系列作品的第三本。
本书收录了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 SeedDS模式优化方案
- 4.1.3 MultiWorld模式
- 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 Stateful Group治理,全面支持游戏后台需求
- 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章 DirectX Shader Compiler适配UE4移动平台
- 10.1 着色器与变体
- 10.1.1 移动平台性能评估标准
- 10.1.2 DirectX Shader Compiler
- 10.2 适配UE
- 10.2.1 OpenGL & Vulkan RHI适配
- 10.2.2 Metal RHI适配
- 第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 Seam Finder Pass
- 12.4.2 Seam Filter Pass
- 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 Hybrid MaterialID着色
- 15.4.4 MaterialID编辑工具
- 15.5 地形渲染管线
- 15.5.1 UE4中的Landscape渲染流程
- 15.5.2 GPU Driven Terrain渲染流程
- 15.5.3 CPU端技术细节
- 15.5.4 GPU端技术细节
- 15.6 效果收益与性能分析
- 15.6.1 测试场景
- 15.6.2 Metal平台性能数据
- 15.6.3 OpenGL ES平台性能数据
- 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 Endpoint Direction(PCA)优化
- 17.3.4 亮度码本修订
- 17.3.5 RGBA格式的压缩
- 17.3.6 基于双线性插值的编码
- 17.4 ZTC数据计算
- 17.4.1 优化base color
- 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 GPU Driven显存管理需求
- 18.3.2 GPU Driven显存分配
- 18.3.3 显存碎片整理
- 第19章 基于Vulkan Ray Query的移动端光线追踪反射效果
- 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 世界空间法线纹理和Thin GBuffer
- 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章 深度照片还原—Light Stage人像数字扫描管线
- 22.1 人像扫描介绍
- 22.2 拍摄
- 22.2.1 Light Stage拍摄
- 22.2.2 LookDev拍摄
- 22.3 数据处理
- 22.3.1 Light Stage数据处理
- 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 Maya Arnold
- 22.6.4 Unreal Substrate
- 22.6.5 Unreal MetaHuman
- 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 总结
展开全部
出版方
电子工业出版社
电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。