欢迎您来到懒之才-站长的分享平台!   学会偷懒,并懒出境界是提高工作效率最有效的方法!
首页 > 教程文档 > 其他教程 > 大象无形:虚幻引擎程序设计浅析 (罗丁力著)【PDF】【66.83MB】

大象无形:虚幻引擎程序设计浅析 (罗丁力著)【PDF】【66.83MB】

2018-12-29 817 收藏 0 赞一个 0 真差劲 0 去评论 去下载

内容简介

本书以两位作者本人在使用虚幻引擎过程中的实际经历为参考,包括三大部分:使用C 语言进行游戏性编程、了解虚幻引擎本身底层结构与渲染结构、编写插件扩展虚幻引擎。提供了不同于官方文档内容的虚幻引擎相关细节和有效实践。有助于读者一窥虚幻引擎本身设计的精妙之处,并能学习到定制虚幻引擎所需的基础知识,实现对其的按需定制。

作者简介

罗丁力:电子科技大学在读学生、腾讯课堂三巫教育课程作者。自UDK开始使用虚幻引擎,有多年的虚幻引擎使用经验。
  张三:多年游戏开发经验,资深UE4开发者,三巫社区创始人。

目录

第一部分 虚幻引擎 C 编程 1
第 1 章 开发之前——五个最常见基类 2
1.1 简述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 本立道生:虚幻引擎的 UObject 和 Actor . . . . . . . . . . . . . . . . . . . 2
1.2.1 UObject 类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.2 Actor 类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 灵魂与肉体:Pawn、Character 和 Controller . . . . . . . . . . . . . . . . . 6
1.3.1 Pawn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.2 Character . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.3 Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
第 2 章 需求到实现 9
2.1 分析需求 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 转化需求为设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
第 3 章 创建自己的 C 类 12
3.1 使用 Unreal Editor 创建 C 类 . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2 手工创建 C 类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3 虚幻引擎类命名规则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
第 4 章 对象 16
4.1 类对象的产生 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.2 类对象的获取 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.3 类对象的销毁 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
第 5 章 从 C 到蓝图 20
5.1 UPROPERTY 宏 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.2 UFUNCTION 宏 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
第 6 章 游戏性框架概述 22
6.1 行为树:概念与原理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
6.1.1 为什么选择行为树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
6.1.2 行为树原理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
6.2 虚幻引擎网络架构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6.2.1 同步 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6.2.2 广义的客户端-服务端模型 . . . . . . . . . . . . . . . . . . . . . . . 27
第 7 章 引擎系统相关类 30
7.1 在虚幻引擎 4 中使用正则表达式 . . . . . . . . . . . . . . . . . . . . . . . . 30
7.2 FPaths 类的使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
7.3 XML 与 JSON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
7.4 文件读写与访问 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
7.5 GConfig 类的使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
7.5.1 写配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
7.5.2 读配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
7.6 UE_LOG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
7.6.1 简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
7.6.2 查看 Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
7.6.3 使用 Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
7.6.4 自定义 Category . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
7.7 字符串处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
7.8 编译器相关技巧 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
7.8.1 “废弃”函数的标记 . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
7.8.2 编译器指令实现跨平台 . . . . . . . . . . . . . . . . . . . . . . . . . 39
7.9 Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
第二部分 虚幻引擎浅析 45
第 8 章 模块机制 46
8.1 模块简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
8.2 创建自己的模块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
8.2.1 快速完成模块创建 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
8.2.2 创建模块文件夹结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
8.2.3 创建模块构建文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
8.2.4 创建模块头文件与定义文件 . . . . . . . . . . . . . . . . . . . . . . 49
8.2.5 创建模块预编译头文件 . . . . . . . . . . . . . . . . . . . . . . . . . 50
8.2.6 引入模块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
8.3 虚幻引擎初始化模块加载顺序 . . . . . . . . . . . . . . . . . . . . . . . . . 52
8.4 道常无名:UBT 和 UHT 简介 . . . . . . . . . . . . . . . . . . . . . . . . . . 55
8.4.1 UBT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
8.4.2 UHT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
第 9 章 重要核心系统简介 62
9.1 内存分配 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
9.1.1 Windows 操作系统下的内存分配方案 . . . . . . . . . . . . . . . . . 62
9.1.2 Intel TBB 内存分配器 . . . . . . . . . . . . . . . . . . . . . . . . . . 63
9.2 引擎初始化过程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
9.3 并行与并发 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
9.3.1 从实验开始 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
9.3.2 线程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
9.3.3 Task Graph 系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
9.3.4 Std::read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
9.3.5 线程同步 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
9.3.6 多进程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
第 10 章 对象模型 81
10.1 UObject 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
10.1.1 来源 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
10.1.2 重生:序列化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
10.1.3 释放与消亡 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
10.1.4 垃圾回收 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
10.2 Actor 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
10.2.1 来源 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
10.2.2 加载 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
10.2.3 释放与消亡 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
第 11 章 虚幻引擎的渲染系统 107
11.1 渲染线程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
11.1.1 渲染线程的启动 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
11.1.2 渲染线程的运行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
11.2 渲染架构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
11.2.1 延迟渲染 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
11.2.2 延迟渲染在 Post Process 中的运用 . . . . . . . . . . . . . . . . . . . 110
11.3 渲染过程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
11.3.1 延迟渲染到最终结果 . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
11.3.2 渲染着色器数据提供 . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
11.4 场景代理 SceneProxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
11.4.1 逻辑的世界与渲染的世界 . . . . . . . . . . . . . . . . . . . . . . . . 126
11.4.2 渲染代理的创建 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
11.4.3 渲染代理的

文档截图

QQ截图20181229194402.jpg

大象无形:虚幻引擎程序设计浅析 (罗丁力著)【PDF】【66.83MB】

一、推荐使用迅雷或快车等多线程下载软件下载本站资源。

二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。

三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!

四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.

五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。

六、如需转载本站资源,请注明转载来自并附带链接

七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com

下载地址
大家评论