本篇主要提供腾讯游戏开发精粹腾讯游戏计算机与互联网书籍电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com
商品基本信息,请以下列介绍为准 | |
商品名称: | 腾讯游戏开发精粹 |
作者: | 腾讯游戏 |
定价: | 79.0 |
出版社: | 电子工业出版社 |
出版日期: | 2019-09-01 |
ISBN: | 9787121366024 |
印次: | |
版次: | |
装帧: | |
开本: | 24开 |
内容简介 | |
《腾讯游戏开发精粹》是腾讯游戏研发团队的技术结晶,由10多名腾讯游戏技术专家撰写而成,整理了团队在自主游戏研发的道路上积累沉淀的技术方案,具有较强的通用性及时效性,内容涵盖游戏脚本系统及开发工具、数学和物理、计算机图形、人工智能与后台架构等。 |
目录 | |
目 录 部分 游戏数学 第1 章 基于SDF的摇杆移动 2 摘要 2 1.1 引言 3 1.2 有号距离场(SDF 3 1.3 利用栅格数据预计算SDF ?4 1.4 SDF 的碰撞检测与碰撞响应 5 1.5 避免往返 8 1.6 利用多边形数据预计算SDF ?9 1.7 其他需求 10 1.7.1 如何将角色从障碍区域中移出 10 1.7.2 角色不能越过障碍物的远距离移动 11 1.8 动态障碍物 12 1.9 AI寻路 14 1.10 动态地图 14 1.11结 17 参考文献 17 第2 章 高性能的定点数实现方案 18 摘要 18 2.1 引言 18 2.1.1 浮点数简介 18 2.1.2 32 位浮点数(单精度)表示原理 19 2.2 基于整数的制表示的定点数原理 19 2.2.1 32 位定点数表示原理 19 2.2.2 64 位定点数表示原理 20 2.3 定点数的四则运算 21 2.3.1 加法与减法 22 2.3.2 乘法 22 2.3.3 除法 23 2.4 定点数开方与函数实现方法 23 2.4.1 多项式拟合 24 2.4.2 正弦/余弦函数 25 2.4.3 指数函数 26 2.4.4 对数函数 27 2.4.5 开方运算 27 2.4.6 开方求倒数 28 2.4.7 为什么不用查表法 30 2.5 定点数的误差对比与性能测试 30 2.5.1 函数及开方的误差测试 30 2.5.2 性能测试 30 2.6结 31 参考文献 31 第二部分 游戏物理 第3 章 一种的弧长参数化路径系统 34 摘要 34 3.1 引言 34 3.2 端点间二次样条的构建 35 3.3 路径的构建 38 3.4 曲线的弧长参数化 39 3.5 曲线上的简单运动 42 3.5.1 跑动 42 3.5.2 跳跃 43 3.5.3 相邻路径的切换 44 3.5.4 曲线上的旋转插值 45 3.6结 46 参考文献 46 第4 章 船的物理模拟及同步设计 47 摘要 47 4.1 浮力系统 48 4.1.1 浮力 48 4.1.2 升力 52 4.1.3 拉力 52 4.1.4 拍击力 53 4.1.5 阻力上限 54 4.2 引擎系统 55 4.2.1 移动、转向模拟 55 4.2.2 向心力计算 56 4.3 Entity-Component 及同步概览 56 4.4 浮力系统物理更新机制 57 4.5结 59 参考文献 59 第5 章 3D 游戏碰撞之体素内存、效率优化 60 摘要 60 5.1 背景介绍 60 5.2 体素生成 62 5.3 体素内存优化 62 5.3.1 体素合并的原理 62 5.3.2 体素合并的算法 64 5.3.3 地面处理 65 5.3.4 水的处理 66 5.3.5 范围控制 67 5.3.6 内存自管理 67 5.3.7 体素内存优化算法的效果 68 5.3.8 体素效率优化 69 5.4 NavMesh 生成 69 5.4.1 体素生成NavMesh 69 5.4.2 获取地面高度 70 5.4.3 后台阻挡图 71 5.4.4 前台优先级NavMesh 71 5.4.5 锯齿 72 5.5 行走、摄像机碰撞 73 5.5.1 行走 73 5.5.2 75 5.5.3 摄像机碰撞 75 参考文献 76 第三部分 计算机图形 第6 章 移动端体育类写实模型优化 78 摘要 78 6.1 引言 79 6.2 方案设计思路 79 6.2.1 角色统一与差异元素分析 79 6.2.2 角色表现=人体 服饰 80 6.2.3 角色资源整理 83 6.2.4 资源制作与实现 84 6.3 具体实现 ?92 6.3.1 实现流程 92 6.3.2 CPU 逻辑 93 6.3.3 GPU 渲染 97 6.4 效果收益、性能分析和结语 97 6.4.1 方案优劣势 98 6.4.2 方案补充 99 6.4.3 应用场景 99 参考文献 100 第7 章 大规模3D 模型数据的优化压缩与精细加载 101 摘要 101 7.1 引言 102 7.2 顶点数据优化 102 7.2.1 顶点数据合并去重 103 7.2.2 索引数据合并 104 7.2.3 顶点数据排序 104 7.2.4 子网格的拆分与合并 105 7.2.5 顶点数据编码压缩 105 7.3 有利于加载的数据组织方式 112 7.4结 113 参考文献 114 第四部分 人工智能及后台架构 第8 章 游戏AI 开发框架组件behaviac 和元编程 116 摘要 116 8.1 behaviac 的工作原理 117 8.1.1 类型信息 117 8.1.2 什么是行为树 118 8.1.3 例子1 119 8.1.4 执行说明 119 8.1.5阶 120 8.1.6 例子2 120 8.1.7 阶 123 8.1.8结 123 8.2 元编程在behaviac中的应用 125 8.2.1 模板特化 126 8.2.2 加载中的特例化 126 8.2.3 运行中的特例化 129 第9 章 跳点搜索算法的效率、内存、路径优化方法 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算法的“两个定义、三个规则 135 9.2.5 算法举例 137 9.3 JPS算法优化 138 9.3.1 JPS效率优化算法 138 9.3.2 JPS内存优化 144 9.3.3 路径优化 145 9.4 GPPC 比赛解读 146 9.4.1 GPPC 比赛与地图数据集 146 9.4.2 GPPC 的评价体系 148 9.4.3 GPPC 参赛算法及其比较 150 参考文献 151 第10 章 优化MMORPG开发效率及性能的有限多线程模型 152 摘要 152 10.1 引言 152 10.1.1 程单线程模型 153 10.1.2 程多线程模型 153 10.1.3 程单线程模型 153 10.2 有限多线程模型 154 10.3 使用OpenMP框架快速实现有限多线程模型 156 10.4 控制多线程逻辑代码 158 10.5 异步化解决数据问题 159 10.6 对“不”访问的防范 160 10.7 拆解大锁 161 10.8 其他建议 163 参考文献 164 第五部分 游戏脚本系统 第11 章 Lua翻译工具——C#转Lua 166 摘要 166 11.1 设计初衷 166 11.2 实现原理 167 11.2.1 参考对比行业内类似的解决方案 167 11.2.2 翻译原理 168 11.2.3 翻译流程 168 11.3 翻译示例 170 11.4 实现细节 174 11.4.1 连续赋值 175 11.4.2 switch ?175 11.4.3 continue ?176 11.4.4 不定参数 177 11.4.5 条件表达式 178 11.5 运行性能 179 11.6 TKLua 翻译蓝图 179 11.6.1 类关系 180 11.6.2 类成员 180 11.6.3 方法体 181 11.7 发展方向 182 11.8结 184 参考文献 ?185 第12 章 Unreal Engine 4集成Lua ?186 摘要 186 12.1 引言 186 12.2 UE4 元信息 187 12.2.1 介绍 187 12.2.2 Lua 通过元信息与UE4交互 189 12.2.3 读写成员变量 189 12.2.4 函数调用 190 12.2.5 C 调用Lua ?191 12.2.6 小结 192 12.3 通过模板元编程生成“胶水”代码 192 12.3.1 接口设计 193 12.3.2 实现 195 12.3.3 读写成员变量 197 12.3.4 引用类型 198 12.3.5 导出函数 199 12.3.6 默认实参 200 12.3.7 默认生成的函数 202 12.3.8 C 调用Lua ?203 12.3.9 小结 203 12.4 优化 203 12.4.1 UObject 指针与Table ?203 12.4.2 结构体 204 12.4.3 运行时热加载 205 第六部分 开发工具 第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系统下搭建FASTBuild 工作环境 213 13.3.1 网络架构 213 13.3.2 搭建基本环境 214 13.3.3 可用性验证 215 13.4 使用FASTBuild 分布式编译UE4代码和项目代码 219 13.4.1 准备工作 219 13.4.2 部署多机FASTBuild 环境 220 13.4.3 编译UE4 代码及对比测试 220 13.4.4 优化FASTBuild ?224 13.4.5 再次测试分布式编译UE4代码 227 13.5 “秒”编UE4着色器 228 13.5.1 准备工作 229 13.5.2 大规模着色器编译测试 237 13.5.3 材质编辑器内着色器编译测试 240 13.6结 243 第14 章 一种的帧同步全过程日志输出方案 244 摘要 244 |
√ 本书来自行业一线前沿的经验案例 √ 所有方案均出自腾讯游戏上线项目 √ 游戏行业内具有性的技术 √ 腾讯游戏研发原创技术方案与经验 √ 代表腾讯游戏团队的集体研究成果 √ 覆盖多个至关重要的核心技术领域 √ 中国版Game Programming Gemr> √ 提升全国游戏从业者整体开发 |
媒体评论 | |
过去数十年,信息技术的高速发展将人类从工业文明迅速带入数字文明。在这一剧烈的数字程中,互联网公司必须坚持“科技向善”,确保这一轮技术革命真正惠及人类,实现数字社会福祉的*化。我们希望利用技术并改善人们的生活,游戏本身就是基于*的计算机技术和网络技术的互动式数字产物。在《腾讯游戏开发精粹》一书中,读者将了解到腾讯在游戏研发方面应用的一些新技术。期待在未来,随着3D、AI,以及连接人与人的网络等新技术的发展,游戏会有越来越多的创新,充分发挥新科技的巨大潜力,为用户带来更多娱乐和精神层面的享受,帮助人类拥有更好的数字文明。 ——腾讯集团裁 马晓轶 ——腾讯游戏学院院长 夏琳 ——掌趣科技CEO 刘惠城 ——Epic Games 中国技术工程师 王祢 ——清华大学软件学院兼副院长 王斌 |