腾讯游戏开发精粹PDF电子书下载
- 电子书积分:11 积分如何计算积分?
- 作 者:腾讯游戏编著
- 出 版 社:北京:电子工业出版社
- 出版年份:2019
- ISBN:9787121366024
- 页数:276 页
第一部分 游戏数学 2
第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
第二部分 游戏物理 34
第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
第三部分 计算机图形 78
第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
第四部分 人工智能及后台架构 116
第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
第五部分 游戏脚本系统 166
第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
第六部分 开发工具 208
第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
14.1 引言 244
14.2 帧同步的基础理论 245
14.2.1 基本原理 245
14.2.2 系统抽象 246
14.3 本方案最终解决的问题 247
14.4 全日志的自动插入 250
14.4.1 在函数第一行代码之前自动插入日志代码 250
14.4.2 处理手动插入的日志代码 251
14.4.3 对每行日志代码进行唯一编码 251
14.4.4 构建版本 252
14.4.5 整体工具流程及代码清单 252
14.4.6 为什么不采用IL注入 256
14.5 运行时的日志收集 256
14.5.1 整体业务流程 256
14.5.2 高效的存储格式 258
14.5.3 高性能的日志输出 259
14.5.4 正确选择合适的校验算法 259
14.6 导出可读性日志信息 260
14.7 本方案思路的可移植性 260
14.8 总结 261
第15章 基于解析符号表,使用注入的方式进行Profiler采样的技术 262
摘要 262
15.1 进行测量之前的准备工作 263
15.1.1 注入的简单例子 263
15.1.2 注入额外的代码 264
15.1.3 注入的注意事项 265
15.2 性能的测量 267
15.2.1 时间的统计方法 267
15.2.2 针对函数的采样 268
15.2.3 测量实战 273
15.3 总结 276
- 《幼儿园游戏 规则性游戏》徐仁吉编 1951
- 《幼儿英语游戏活动指导与实训》苏小菊,任晓琴主编;颜晓芳,覃静,谢恬恬,钟博维副主编 2020
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《近代体育游戏教育史料汇编 第1辑 1》王强主编 2016
- 《花样民游 幼儿园民间传统游戏的创新与指导》刘娟 2019
- 《高含硫气藏开发腐蚀控制技术与实践》唐永帆,张强 2018
- 《近代体育游戏教育史料汇编 第2辑 2》王强主编 2016
- 《近代体育游戏教育史料汇编 第1辑 6》王强主编 2016
- 《主题公园开发与管理》梁增贤编著 2019
- 《近代体育游戏教育史料汇编 第2辑 3》王强主编 2016
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017