为你推荐
内容简介
前言
第一部分 虚幻引擎C++编程
第1章 开发之前——五个最常见基类
1.1 简述
1.2 本立道生:虚幻引擎的UObject和Actor
1.2.1 UObject类
1.2.2 Actor类
1.3 灵魂与肉体:Pawn、Character和Controller
1.3.1 Pawn
1.3.2 Character
1.3.3 Controller
第2章 需求到实现
2.1 分析需求
2.2 转化需求为设计
第3章 创建自己的C++类
3.1 使用Unreal Editor创建C++类
3.2 手工创建C++类
3.3 虚幻引擎类命名规则
第4章 对象
4.1 类对象的产生
4.2 类对象的获取
4.3 类对象的销毁
第5章 从C++到蓝图
5.1 UPROPERTY宏
5.2 UFUNCTION宏
第6章 游戏性框架概述
6.1 行为树:概念与原理
6.1.1 为什么选择行为树
6.1.2 行为树原理
6.2 虚幻引擎网络架构
6.2.1 同步
6.2.2 广义的客户端-服务端模型
第7章 引擎系统相关类
7.1 在虚幻引擎4中使用正则表达式
7.2 FPaths类的使用
7.3 XML与JSON
7.4 文件读写与访问
7.5 GConfi类的使用
7.5.1 写配置
7.5.2 读配置
7.6 UE_LOG
7.6.1 简介
7.6.2 查看Log
7.6.3 使用Log
7.6.4 自定义Category
7.7 字符串处理
7.8 编译器相关技巧
7.8.1 “废弃”函数的标记
7.8.2 编译器指令实现跨平台
7.9 Images
第二部分 虚幻引擎浅析
第8章 模块机制
8.1 模块简介
8.2 创建自己的模块
8.2.1 快速完成模块创建
8.2.2 创建模块文件夹结构
8.2.3 创建模块构建文件
8.2.4 创建模块头文件与定义文件
8.2.5 创建模块预编译头文件
8.2.6 引入模块
8.3 虚幻引擎初始化模块加载顺序
8.4 道常无名:UBT和UHT简介
8.4.1 UBT
8.4.2 UHT
第9章 重要核心系统简介
9.1 内存分配
9.1.1 Windows操作系统下的内存分配方案
9.1.2 IntelTBB内存分配器
9.2 引擎初始化过程
9.3 并行与并发
9.3.1 从实验开始
9.3.2 线程
9.3.3 TaskGraph系统
9.3.4 Std::Threa
9.3.5 线程同步
9.3.6 多进程
第10章 对象模型
10.1 UObject对象
10.1.1 来源
10.1.2 重生:序列化
10.1.3 释放与消亡
10.1.4 垃圾回收
10.2 Actor对象
10.2.1 来源
10.2.2 加载
10.2.3 释放与消亡
第11章 虚幻引擎的渲染系统
11.1 渲染线程
11.1.1 渲染线程的启动
11.1.2 渲染线程的运行
11.2 渲染架构
11.2.1 延迟渲染
11.2.2 延迟渲染在PostProcess中的运用
11.3 渲染过程
11.3.1 延迟渲染到最终结果
11.3.2 渲染着色器数据提供
11.4 场景代理SceneProxy
11.4.1 逻辑的世界与渲染的世界
11.4.2 渲染代理的创建
11.4.3 渲染代理的更新
11.4.4 实战:创建新的渲染代理
11.4.5 进阶:创建静态渲染代理
11.4.6 静态网格物体渲染代理排序
11.5 Shader
11.5.1 测试工程
11.5.2 定义Shader
11.5.3 定义Shader对应的C++类
11.5.4 我们做了什么
11.6 材质
11.6.1 概述
11.6.2 材质相关C++类关系
11.6.3 编译
11.6.4 ShaderMap产生
第12章 Slate界面系统
12.1 Slate的两次排布
12.2 Slate的更新
12.3 Slate的渲染
第13章 蓝图
13.1 蓝图架构简述
13.2 前端:蓝图存储与编辑
13.2.1 Schema
13.2.2 编辑器
13.3 后端:蓝图的编译
13.4 蓝图虚拟机
13.4.1 便笺纸与白领的故事
13.4.2 虚幻引擎的实现
13.4.3 C++函数注册到蓝图
13.5 蓝图系统小结
第三部分 扩展虚幻引擎
第14章 引擎独立应用程序
14.1 简介
14.2 如何开始
14.3 BlankProgram
14.4 走得更远
14.4.1 预先准备
14.4.2 增加模块引用
14.4.3 添加头文件引用
14.4.4 修改Main函数为WinMain
14.4.5 添加LOCTEXT_NAMESPACE定义
14.4.6 添加SlateStandaloneApplication
14.4.7 链接CoreUObject
14.4.8 添加一个Window
14.4.9 最终代码
14.5 剥离引擎独立应用程序
第15章 插件开发
15.1 简介
15.2 开始之前
15.3 创建插件
15.3.1 引擎插件与项目插件
15.3.2 插件结构
15.3.3 模块入口
15.4 基于Slate的界面
15.4.1 Slate简介
15.4.2 Slate基础概念
15.4.3 最基础的界面
15.4.4 SNew与SAssignNew
15.4.5 Slate控件的三种类型
15.4.6 创建自定义控件
15.4.7 布局控件
15.4.8 控件参数与属性
15.4.9 Delegate
15.4.10 自定义皮肤
15.4.11 图标字体
15.4.12 组件继承
15.4.13 动态控制Slot
15.4.14 自定义容器布局
15.5 UMG扩展
15.6 蓝图扩展
15.6.1 蓝图函数库扩展
15.6.2 异步节点
15.7 第三方库引用
15.7.1 lib静态链接库的使用
15.7.2 dll动态链接库的使用
第16章 自定义资源和编辑器
16.1 简易版自定义资源类型
16.2 自定义资源类型
16.2.1 切分两个模块
16.2.2 创建资源类
16.2.3 在Editor模块中创建工厂类
16.2.4 引入Editor模块
16.3 自定义资源编辑器
16.3.1 资源操作类
16.3.2 资源编辑器类
16.3.3 增加3D预览窗口
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜