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

大象无形:虚幻引擎程序设计浅析
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: ,
2017-05
版次: 1
ISBN: 9787121313493
定价: 65.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 316页
162人买过
  •   《大象无形:虚幻引擎程序设计浅析》以两位作者本人在使用虚幻引擎过程中的实际经历为参考,包括三大部分:使用C++语言进行游戏性编程、了解虚幻引擎本身底层结构与渲染结构、编写插件扩展虚幻引擎。提供了不同于官方文档内容的虚幻引擎相关细节和有效实践。有助于读者一窥虚幻引擎本身设计的精妙之处,并能学习到定制虚幻引擎所需的基础知识,实现对其的按需定制。
      《大象无形:虚幻引擎程序设计浅析》适合初步了解虚幻引擎编程,希望了解虚幻引擎本身架构或者希望定制和扩展虚幻引擎的读者。   罗丁力,电子科技大学在读学生、腾讯课堂三巫教育课程作者。自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
  • 内容简介:
      《大象无形:虚幻引擎程序设计浅析》以两位作者本人在使用虚幻引擎过程中的实际经历为参考,包括三大部分:使用C++语言进行游戏性编程、了解虚幻引擎本身底层结构与渲染结构、编写插件扩展虚幻引擎。提供了不同于官方文档内容的虚幻引擎相关细节和有效实践。有助于读者一窥虚幻引擎本身设计的精妙之处,并能学习到定制虚幻引擎所需的基础知识,实现对其的按需定制。
      《大象无形:虚幻引擎程序设计浅析》适合初步了解虚幻引擎编程,希望了解虚幻引擎本身架构或者希望定制和扩展虚幻引擎的读者。
  • 作者简介:
      罗丁力,电子科技大学在读学生、腾讯课堂三巫教育课程作者。自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
查看详情
相关图书 / 更多