𝔖 Scriptorium
✦   LIBER   ✦

📁

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

✍ Scribed by 罗丁力; 张三


Publisher
电子工业出版社
Year
2017
Tongue
Chinese
Leaves
376
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


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

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

✦ Table of Contents


扉页
目录
版权页
内容简介
前言
第一部分 虚幻引擎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预览窗口


📜 SIMILAR VOLUMES


AI游戏引擎程序设计
✍ 施瓦布 📂 Library 📅 2007 🏛 清华大学出版社 🌐 Chinese

<p>《AI游戏引擎程序设计》为游戏开发人员创建现代游戏的AI引擎提供了工具和必要的指导。带领读者从理论入实际的游戏开发,并给出可用的代码框架,详细说明技术的襀方法。另外,该书综合阐述了不同技术的使用范围,并囊括了普遍存在的瓶颈、设计上应该考虑的问题以及优化策略。所有这些内容对游戏AI引擎开发人员都是必不可少的参考资料。</p>

大象无形
✍ 泽帆 📂 Library 📅 2018 🏛 江苏凤凰文艺出版社 🌐 Chinese

<p>大象,本名吴行,报社记者,嗅觉超人,每天需要八个半小时睡眠,害怕闪光灯。</p> <p>一天,他在工作过程中遇见一件诡异凶杀案,死者死于绳缚窒息,死前身穿红色肚兜,用黑布蒙眼,脚底垂挂一枚秤砣。此案一处,全国各地接二连三出现多起类似案件,有人猜测是同一凶手所为,并通过杀人达到某种用意……这一切激发出大象自身的侦探潜质,开启了追凶征程。随着深入连环命案现场,求助网友、死刑犯、警探,形成独特的“样本分析”破案手法。</p> <p>凶手一个接一个地被抓获,大象却越发困惑,真相远远不是他想的那样,还藏着一个惊天的秘密。</p> <p>大象落入陷阱,却浑然不觉……</p> <p>这一场与人性之恶的

大象无形
✍ 泽帆 📂 Library 📅 2018 🏛 江苏凤凰文艺出版社 🌐 Chinese

<p>大象,本名吴行,报社记者,嗅觉超人,每天需要八个半小时睡眠,害怕闪光灯。</p> <p>一天,他在工作过程中遇见一件诡异凶杀案,死者死于绳缚窒息,死前身穿红色肚兜,用黑布蒙眼,脚底垂挂一枚秤砣。此案一处,全国各地接二连三出现多起类似案件,有人猜测是同一凶手所为,并通过杀人达到某种用意……这一切激发出大象自身的侦探潜质,开启了追凶征程。随着深入连环命案现场,求助网友、死刑犯、警探,形成独特的“样本分析”破案手法。</p> <p>凶手一个接一个地被抓获,大象却越发困惑,真相远远不是他想的那样,还藏着一个惊天的秘密。</p> <p>大象落入陷阱,却浑然不觉……</p> <p>这一场与人性之恶的

大象无形
✍ 泽帆 📂 Library 📅 2018 🏛 江苏凤凰文艺出版社 🌐 Chinese

<p>大象,本名吴行,报社记者,嗅觉超人,每天需要八个半小时睡眠,害怕闪光灯。</p> <p>一天,他在工作过程中遇见一件诡异凶杀案,死者死于绳缚窒息,死前身穿红色肚兜,用黑布蒙眼,脚底垂挂一枚秤砣。此案一处,全国各地接二连三出现多起类似案件,有人猜测是同一凶手所为,并通过杀人达到某种用意……这一切激发出大象自身的侦探潜质,开启了追凶征程。随着深入连环命案现场,求助网友、死刑犯、警探,形成独特的“样本分析”破案手法。</p> <p>凶手一个接一个地被抓获,大象却越发困惑,真相远远不是他想的那样,还藏着一个惊天的秘密。</p> <p>大象落入陷阱,却浑然不觉……</p> <p>这一场与人性之恶的

深入浅出程序设计(中文版)
✍ Paul Barry,David Griffiths 著;蒋雁翔,童健 译 📂 Library 📅 2012 🏛 东南大学出版社 🌐 Chinese

《深入浅出程序设计(中文版)》介绍了编写计算机程序的核心概念:变量、判断、循环、函数与对象——无论运用哪种编程语言,都能在动态且多用途的python语言中使用具体示例和练习来运用并巩固这些概念。学习基本的工具来开始编写你感兴趣的程序,而不是其他人认为你应该使用的通用软件,并对软件能做什么(不能做什么)有一个更好的了解。当你完成这些,你就拥有了必要的基础去使用任何一种你需要或想要学习的语言或软件项目。《深入浅出程序设计(中文版)》的特别之处在于:我们认为你的时间如此宝贵以至于不应该花费在为新概念伤脑筋上面。《深入浅出程序设计》用最新的认知科学和学习理论打造多感官的学习体验,运用适合大脑工作方式的

面向对象程序设计
✍ 拉斯洛 📂 Library 📅 2002 🏛 机械工业出版社 🌐 Chinese

<p>面向对象程序设计(OOP)的思想和方法在现代软件设计中越来越重要。本书使读者站在软件工程的高度,理解和掌握面向对象程序设计技术并能应用它解决实际问题。书中以大量的Java程序(大多数是二维计算机图形程序)为实例阐明了面向对象程序设计中的重要概念和设计方法。开篇先阐述了OOP中的对象模型、过程抽象和数据抽象,接着介绍了继承和组合,最后讨论了设计模式和应用程序框架。本书还使用了统一建模语言UML来描述一些设计概念,使读者站在更高的分析与设计层次来认识和理解所需解决的问题。本书还附有大量的练习,针对每节的内容提出问题,让读者进一步巩固所学的理论和方法。本书可作为计算机专业本科生的教学参考,对涉