大象无形:虚幻引擎程序设计浅析

  • 出版时间: 2017-4
  • 作者:  罗丁力 张三
  • 出版社: 电子工业出版社
  • 页数: 316
  • 价格: 65.0
  • 概要

  • 下载

  • 作者

  • 目录

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

《大象无形:虚幻引擎程序设计浅析》适合初步了解虚幻引擎编程,希望了解虚幻引擎本身架构或者希望定制和扩展虚幻引擎的读者。

  • 文件格式: mobi | epub
  • 下载链接:  【百度网盘4
  • 网盘提取码,发送【 117868 】到辣豆瓣公众号,即可获得,每天6本

    『登录』 后可直接显示百度提取码,前往 『注册』

    如果无法下载,请点这里『反馈问题』

辣豆瓣公众号:ladoubanclub
辣豆瓣公众号二维码

作译者

罗丁力:电子科技大学在读学生、腾讯课堂三巫教育课程作者。自UDK开始使用虚幻引擎,有多年的虚幻引擎使用经验。

张三:多年游戏开发经验,资深UE4开发者,三巫社区创始人。

目录

第一部分虚幻引擎C++编程1

第1章开发之前--五个最常见基类2

1.1简述2

1.2本立道生:虚幻引擎的UObject和Actor2

1.2.1UObject类2

1.2.2Actor类5

1.3灵魂与肉体:Pawn、Characterh和Controller6

1.3.1Pawn6

1.3.2Charactor7

1.3.3Controller7

第2章需求到实现9

2.1分析需求9

2.2转化需求为设计10

第3章创建自己的C++类12

3.1使用UnrealEditor创建C++类12

3.2手工创建C++类14

3.3虚幻引擎类命名规则15

第4章对象16

4.1类对象的产生16

4.2类对象的获取18

4.3类对象的销毁18

第5章从C++到蓝图20

5.1UPROPERTY宏20

5.2UFUNCTION宏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.2FPaths类的使用31

7.3XML与JSON32

7.4文件读写与访问33

7.5GConfig类的使用35

7.5.1写配置36

7.5.2读配置36

7.6UE_LOG37

7.6.1简介37

7.6.2查看Log37

7.6.3使用Log37

7.6.4自定义Category38

7.7字符串处理38

7.8编译器相关技巧39

7.8.1"废弃"函数的标记39

7.8.2编译器指令实现跨平台39

7.9Images40

第二部分虚幻引擎浅析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.1UBT55

8.4.2UHT57

第9章重要核心系统简介62

9.1内存分配62

9.1.1Windows操作系统下的内存分配方案62

9.1.2IntelTBB内存分配器63

9.2引擎初始化过程65

9.2.1引擎初始化简介65

9.3并行与并发67

9.3.1从实验开始68

9.3.2线程71

9.3.3TaskGraph系统73

9.3.4Std::read77

9.3.5线程同步78

9.3.6多进程80

第10章对象模型81

10.1UObject对象81

10.1.1来源82

10.1.2重生:序列化83

10.1.3释放与消亡92

10.1.4垃圾回收94

10.2Actor对象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延迟渲染在PostProcess中的运用110

11.3渲染过程111

11.3.1延迟渲染到最终结果112

11.3.2渲染着色器数据提供123

11.4场景代理SceneProxy126

11.4.1逻辑的世界与渲染的世界126

11.4.2渲染代理的创建127

11.4.3渲染代理的更新128

11.4.4实战:创建新的渲染代理128

11.4.5进阶:创建静态渲染代理132

11.4.6静态网格物体渲染代理排序148

11.5Shader150

11.5.1测试工程150

11.5.2定义Shader152

11.5.3定义Shader对应的C++类153

11.5.4我们做了什么162

11.6材质163

11.6.1概述164

11.6.2材质相关C++类关系166

11.6.3编译167

11.6.4ShaderMap产生168

第12章Slate界面系统170

12.1Slate的两次排布170

12.2Slate的更新170

12.3Slate的渲染171

第13章蓝图173

13.1蓝图架构简述173

13.2前端:蓝图存储与编辑174

13.2.1Schema174

13.2.2编辑器175

13.3后端:蓝图的编译176

13.4蓝图虚拟机187

13.4.1便笺纸与白领的故事187

13.4.2虚幻引擎的实现189

13.4.3C++函数注册到蓝图193

13.5蓝图系统小结194

第三部分扩展虚幻引擎197

第14章引擎独立应用程序198

14.1简介198

14.2如何开始198

14.3BlankProgram199

14.4走得更远202

14.4.1预先准备203

14.4.2增加模块引用203

14.4.3添加头文件引用203

14.4.4修改Main函数为WinMain204

14.4.5添加LOCTEXT_NAMESPACE定义204

14.4.6添加SlateStandaloneApplication204

14.4.7链接CoreUObject205

14.4.8添加一个Window205

14.4.9最终代码205

14.5剥离引擎独立应用程序207

第15章插件开发208

15.1简介208

15.2开始之前208

15.3创建插件210

15.3.1引擎插件与项目插件210

15.3.2插件结构210

15.3.3模块入口213

15.4基于Slate的界面213

15.4.1Slate简介213

15.4.2Slate基础概念214

15.4.3最基础的界面214

15.4.4SNew与SAssignNew219

15.4.5Slate控件的三种类型220

15.4.6创建自定义控件222

15.4.7布局控件225

15.4.8控件参数与属性227

15.4.9Delegate228

15.4.10自定义皮肤234

15.4.11图标字体239

15.4.12组件继承241

15.4.13动态控制Slot244

15.4.14自定义容器布局248

15.5UMG扩展255

15.6蓝图扩展261

15.6.1蓝图函数库扩展261

15.6.2异步节点264

15.7第三方库引用270

15.7.1lib静态链接库的使用270

15.7.2dll动态链接库的使用273

第16章自定义资源和编辑器276

16.1简易版自定义资源类型276

16.2自定义资源类型278

16.2.1切分两个模块278

16.2.2创建资源类281

16.2.3在Editor模块中创建工厂类281

书摘

有很多人看我,都没有摘!

辣豆瓣书友群

辣豆瓣书友群
  • 求书.打卡.交友.发福利
  • 注意:进群先加群主好友