关于我们
书单推荐
新书推荐
|
Unreal Engine 4可视化设计:交互可视化、动画与渲染开发绝艺(全彩) 读者对象:本书主要面向可视化领域或有志于进入这个领域的开发和设计人员。
本书作者是著名的虚幻引擎专家,有着丰富的可视化开发经验。他在本书中介绍了如何使用虚幻引擎4(Unreal Engine 4,UE4)创造可视化内容。首先,本书将告诉你使用UE4开发可视化内容的优势所在,并介绍了UE4的基本功能。然后,通过实例由浅入深地演示了使用UE4开发可视化项目的完整过程。
Tom Shannon是一位UE4专家/拥趸,也是一位技术型的艺术家,拥有超过10年的使用虚幻引擎开发电子游戏和可视化项目的专业经验。他对游戏和游戏技术充满热情,同时对可视化及可视化对现实世界的重要性和影响也是如此。他每天的工作是与建筑师、工程师和设计师一起构建世界,然后用巨型机器人与程序员、动画师和效果艺术家一起再将它摧毁。Tom生活在科罗拉多,与他一起生活的有他美丽又令人愉快的妻子Serine,还有他出色又谦虚的孩子Emma和Dexter。他的个人网页是www.TomShannon3D.com。
龚震宇,南京大学计算机科学与技术系毕业。在电子游戏行业从业多年,作为程序员,专注于计算机图形学领域,熟悉OGRE、Unity和Unreal等多个游戏引擎。曾参与翻译《AR 游戏:基于Unity 5的增强现实开发》。
第1 部分 虚幻引擎4 总览
第1 章 虚幻引擎4 入门 3 1.1 虚幻引擎4 是什么 4 1.2 虚幻引擎简史 4 1.3 虚幻引擎4 简介 5 1.4 虚幻引擎4 可视化的亮点 6 1.5 使用虚幻引擎4 进行交互式可视化开发 7 1.5.1 UE4 给可视化带来了什么 7 1.5.2 UE4 开发的注意事项 10 1.5.3 识别适合的UE4 项目 11 1.6 虚幻引擎4 的开发需求 12 1.7 虚幻引擎4 中的团队合作 13 1.7.1 源代码管理概述 13 1.7.2 UE4 内置的版本控制支持 13 1.8 虚幻引擎4 开发的成本 14 1.8.1 硬件 14 1.8.2 开发时间 14 1.8.3 测试和QA 15 1.9 节省虚幻引擎4 的成本 15 1.10 资源和培训 15 1.10.1 社区支持 16 1.10.2 商城 16 1.10.3 社区活动和会议 16 1.11 总结 17 第2 章 使用虚幻引擎4 19 2.1 虚幻引擎4 的组件 20 2.1.1 Epic.Games 启动器 20 2.1.2 UE4 引擎 21 2.1.3 UE4 编辑器 22 2.1.4 UE4 项目 23 2.1.5 源艺术 24 2.2 项目文件夹结构 25 2.2.1 Config 25 2.2.2 Saved 26 2.2.3 Plugins(可选项) 26 2.2.4 Content 26 2.2.5 Intermediate 26 2.3 认识.uasset 文件 27 2.4 虚幻引擎4 内容通道 27 2.4.1 建立一个新项目 27 2.4.2 构建内容 28 2.4.3 导出内容 28 2.4.4 导入内容到UE4 28 2.4.5 使用内容填充关卡 28 2.4.6 添加互动性(编程!) 28 2.4.7 测试和改进 29 2.4.8 打包 29 2.4.9 发布 29 2.4.10 提供支持 30 2.5 总结 30 第3 章 内容通道 .31 3.1 内容通道概述 32 3.2 3D 场景设置 33 3.2.1 单位 34 3.2.2 统计信息 34 3.2.3 背面剔除与法线 34 3.3 为虚幻引擎4 准备几何体 35 3.3.1 建筑和道具网格体 35 3.3.2 命名 35 3.3.3 UV 映射 37 3.3.4 细节层次(LOD) 40 3.3.5 碰撞 41 3.3.6 枢轴点 42 3.4 FBX 网格体通道 42 3.4.1 导出设置 43 3.4.2 导出多个网格体 44 3.4.3 重新导入 44 3.4.4 FBX 文件的存放位置 45 3.5 纹理和材质的工作流程 45 3.5.1 纹理 45 3.5.2 多个材质 47 3.6 导入内容库 47 3.6.1 开始导入 47 3.6.2 网格体导入选项 47 3.6.3 纹理选项 49 3.7 摄像机工作流程 49 3.8 总结 50 第4 章 光照和渲染 51 4.1 理解虚幻引擎的基于物理的渲染(PBR) 52 4.1.1 底色 52 4.1.2 粗糙度(Roughness) 53 4.1.3 金属度 53 4.1.4 充分利用PBR 54 4.2 虚幻引擎4 中的光照 54 4.3 理解光源的移动性 55 4.3.1 可移动光源 55 4.3.2 固定光源 56 4.3.3 静态光源 58 4.4 实时反射 59 4.4.1 反射探头 59 4.4.2 后期处理反射 59 4.5 后期处理 60 4.5.1 抗锯齿 61 4.5.2 泛光、辉光和镜头眩光 61 4.5.3 眼部适应(自动曝光) 62 4.5.4 景深 62 4.5.5 电影效果 63 4.5.6 运动模糊 64 4.5.7 屏幕空间环境光遮蔽 64 4.5.8 屏幕空间反射 64 4.5.9 屏幕百分比 65 4.5.10 后期处理材质 65 4.6 总结 66 第5 章 材质 67 5.1 材质概述 68 5.1.1 创建材质 68 5.1.2 应用材质 69 5.1.3 更改材质 69 5.2 虚幻引擎4 材质编辑器 69 5.2.1 打开材质编辑器 69 5.2.2 编辑器UI 69 5.2.3 放置节点 70 5.2.4 使用预览视口 70 5.2.5 编译着色器 71 5.2.6 保存 71 5.3 虚幻引擎的材质如何工作 71 5.3.1 像素和顶点着色器 71 5.3.2 材质是数学 72 5.3.3 材质函数 74 5.4 表面类型 75 5.4.1 不透明的 75 5.4.2 蒙版的 75 5.4.3 半透明的 75 5.5 材质实例 76 5.5.1 材质参数 77 5.5.2 继承 77 5.5.3 覆写参数 77 5.5.4 组织 77 5.5.5 主材质 77 5.6 一个简单的材质 78 5.6.1 放置参数节点 78 5.6.2 制作材质实例 79 5.6.3 添加粗糙度贴图 80 5.6.4 添加法线贴图 82 5.6.5 理解底色贴图 83 5.7 总结 84 第6 章 蓝图 85 6.1 蓝图概述 86 6.2 对象、类和Actor 86 6.2.1 对象 86 6.2.2 类 87 6.2.3 Actor 87 6.3 玩家 87 6.4 玩家控制器 87 6.4.1 输入处理 88 6.4.2 玩家数据 88 6.4.3 旋转 88 6.4.4 鼠标接口 88 6.4.5 其他控制器 89 6.5 Pawn 89 6.6 世界 89 6.7 关卡 90 6.8 组件 90 6.9 变量和它们的类型 90 6.10 Tick 91 6.11 类的继承 91 6.12 生成和销毁 92 6.12.1 构造脚本 92 6.12.2 Begin.Play 事件 93 6.13 蓝图通信 93 6.13.1 直接蓝图通信 93 6.13.2 事件调度器 93 6.13.3 蓝图接口 93 6.13.4 蓝图转换 94 6.14 编译脚本 94 6.15 总结 94 第2 部分 你的第一个虚幻引擎4 项目 第7 章 建立项目 97 7.1 项目范围 98 7.2 从启动器创建一个新项目 98 7.3 总结 100 第8 章 填充世界 101 8.1 制作和保存一个新的空关卡 102 8.2 放置和修改资源 102 8.2.1 移动、缩放和旋转 103 8.2.2 使用细节面板 103 8.2.3 对齐 104 8.2.4 复制 104 8.2.5 从类浏览器中添加Actor 105 8.3 “要有光” 105 8.3.1 太阳 105 8.3.2 大气雾 105 8.3.3 将太阳分配到大气层 106 8.3.4 天空光源 107 8.4 在场景中自由移动 108 8.4.1 游戏风格 108 8.4.2 以对象为中心 108 8.5 构造建筑 108 8.6 为你的建筑添加细节 109 8.6.1 放置道具 109 8.6.2 放置灯源 110 8.6.3 添加IES 描述文件 111 8.7 总结 112 第9 章 使用蓝图实现交互 113 9.1 搭建项目 114 9.2 按下Play 按钮 114 9.2.1 运行模式 114 9.2.2 默认GameMode 115 9.3 创建Pawn 115 9.3.1 设置玩家的视点高度 117 9.3.2 设置移动速度 118 9.4 输入映射 119 9.4.1 动作和轴映射 120 9.4.2 建立映射 120 9.4.3 输入设备灵活性 120 9.5 创建玩家控制器类 120 9.6 使用蓝图添加输入 121 9.7 旋转视图(观察) 122 9.8 玩家移动 123 9.8.1 引用Pawn 123 9.8.2 有效性 123 9.8.3 添加移动输入 124 9.9 GameMode 127 9.9.1 创建GameMode 127 9.9.2 指定项目的GameMode 128 9.10 放置玩家起始点Actor 129 9.11 总结 130 第10 章 打包和发布 131 10.1 打包构建与编辑器构建 132 10.2 项目打包 132 10.2.1 内容烘焙 132 10.2.2 部署 132 10.3 打包选项 133 10.3.1 平台 133 10.3.2 构建配置 133 10.4 如何打包 133 10.5 启动你的应用程序 134 10.6 打包中的错误 135 10.7 发布项目 136 10.8 使用安装程序 136 10.9 总结 136 第3 部分 建筑可视化项目 第11 章 项目建立 139 11.1 项目范围和需求 140 11.2 建立项目 141 11.2.1 创建项目 141 11.2.2 从其他项目迁移内容 141 11.2.3 不要忘了“输入” 143 11.2.4 复制、重命名和移动资源 144 11.3 应用项目设置 144 11.4 总结 146 第12 章 数据通道 147 12.1 组织场景 148 12.2 材质 149 12.3 建筑和固定物 149 12.3.1 确保干净的几何体 149 12.3.2 使用良好的UV 坐标 150 12.4 导出场景 151 12.4.1 使用多个FBX 文件 151 12.4.2 使用单个FBX 文件 152 12.5 导入场景 152 12.5.1 导入内容浏览器 153 12.5.2 导入关卡 155 12.6 道具网格体 156 12.6.1 设置枢轴点 157 12.6.2 使用用心制作的几何体 158 12.6.3 导出 158 12.6.4 导入 159 12.7 总结 160 第13 章 填充场景 161 13.1 可视化的场景构建 162 13.2 建立关卡 162 13.2.1 创建一个新的关卡 162 13.2.2 添加基础光照 163 13.3 放置建筑静态网格体 164 13.3.1 拖放网格体 164 13.3.2 将位置设置为0 164 13.4 放置道具网格体 164 13.4.1 表面对齐 165 13.4.2 克隆和复制 165 13.4.3 Shift.+ 拖动 165 13.5 场景组织 165 13.5.1 世界大纲 166 13.5.2 图层 167 13.5.3 分组 167 13.5.4 Actor 蓝图 168 13.6 总结 169 第14 章 建筑光照 171 14.1 充分利用虚幻引擎4 光照 172 14.2 使用Lightmass 的静态光照 173 14.3 调节太阳光和天空光源 173 14.3.1 太阳光 173 14.3.2 天空光源 176 14.4 构建光照 177 14.5 建筑可视化的Lightmass 设置 178 14.5.1 Static.Lighting.Level.Scale 180 14.5.2 Num.Indirect.Lighting.Bounces 180 14.5.3 Indirect.Lighting.Quality 180 14.5.4 Indirect.Lighting.Smoothness 180 14.5.5 Compress.Lightmaps 180 14.6 光照贴图UV 密度调整 181 14.7 放置室内光源 184 14.7.1 聚光灯 184 14.7.2 Mobility 184 14.7.3 Intensity 184 14.7.4 Temperature 185 14.7.5 Attenuation 185 14.7.6 IES.Files 185 14.7.7 Auto.Exposure 185 14.8 放置光源门户 185 14.9 使用反射探头 185 14.9.1 尺寸 186 14.9.2 性能 186 14.10 后期处理体积 186 14.10.1 体积Actor 187 14.10.2 放置后期处理体积 187 14.10.3 后期处理体积设置 187 14.11 总结 192 第15 章 建筑材质 193 15.1 什么是主材质 194 15.1.1 材质网络概览 194 15.1.2 参数节点 195 15.2 创建主材质 196 15.2.1 底色 196 15.2.2 金属度 198 15.2.3 粗糙度 199 15.2.4 法线 200 15.2.5 环境光遮蔽 200 15.2.6 纹理缩放和变换 201 15.3 创建材质实例 202 15.3.1 涂漆墙壁 203 15.3.2 地板 204 15.4 高级材质 206 15.4.1 视差遮蔽映射 206 15.4.2 玻璃 209 15.5 总结 212 第16 章 使用Sequencer 创建过场动画 213 16.1 Sequencer 入门 214 16.1.1 主序列 214 16.1.2 动态摄像机 216 16.2 摄像机动画 217 16.2.1 设置关键帧 217 16.2.2 驾驶摄像机 217 16.2.3 轨迹与摄像机命名 218 16.2.4 过渡 218 16.3 编辑镜头 218 16.4 保存 219 16.5 协作 219 16.6 渲染到视频 219 16.6.1 渲染影片设置 220 16.6.2 渲染过程 220 16.7 总结 221 第17 章 为关卡的交互性做准备 223 17.1 设置关卡 224 17.2 添加玩家起始点Actor 224 17.3 添加碰撞 224 17.3.1 复杂与简单碰撞 225 17.3.2 墙壁和地板 226 17.3.3 设置道具碰撞 228 17.4 启用鼠标光标 229 17.5 创建后期处理轮廓 230 17.6 总结 232 第18 章 中级蓝图——UMG 交互 233 18.1 切换数据集 234 18.2 制作变体关卡 234 18.2.1 通过Save.As 制作一个副本 235 18.2.2 导入新的建筑 235 18.2.3 替换建筑网格体 235 18.2.4 设置光照贴图密度 236 18.2.5 应用材质 236 18.2.6 启用碰撞 236 18.2.7 装饰(可选) 236 18.2.8 构建光照 236 18.3 关卡流送 237 18.3.1 制作一个新关卡 237 18.3.2 访问关卡界面 237 18.3.3 添加流送关卡 238 18.3.4 使用蓝图与始终加载关卡 239 18.4 定义一个玩家起始点Actor 240 18.5 设置关卡蓝图 240 18.5.1 打开关卡蓝图 240 18.5.2 使用事件 242 18.5.3 测试时间 243 18.6 编写切换程序 243 18.7 测试时间 245 18.7.1 创建键盘快捷方式 246 18.7.2 编译和保存 247 18.7.3 单击Play 按钮 247 18.8 虚幻运动图形 247 18.8.1 使用控件 247 18.8.2 水平框 249 18.8.3 按钮 251 18.8.4 标签 252 18.9 回到关卡蓝图 253 18.9.1 创建控件 253 18.9.2 将控件添加到视口中 254 18.9.3 事件绑定 254 18.9.4 编译和保存 255 18.9.5 运行游戏 256 18.10 总结 256 第19 章 高级蓝图——材质切换器 257 19.1 设定目标 258 19.2 构建Actor 蓝图 259 19.3 创建变量 259 19.3.1 Meshes.To.Modify 数组 260 19.3.2 Materials 数组 261 19.3.3 Start.Material.Index 变量 262 19.3.4 Current.Material.Index 变量 262 19.3.5 IsClicked 变量 262 19.4 添加组件 262 19.4.1 Billboard 组件 263 19.4.2 TextRender 组件 264 19.5 创建Change Material 函数 264 19.5.1 New.Index 输入 265 19.5.2 Is.Valid.Index 265 19.5.3 For.Each.Loop 265 19.6 理解构造脚本 265 19.6.1 设置文本标签 266 19.6.2 绘制连线 267 19.6.3 更改材质到初始索引 268 19.7 理解事件图 269 19.7.1 Begin.Play 269 19.7.2 事件绑定 270 19.7.3 Mouse.Over 和Mouse.Out 270 19.7.4 点击行为 271 19.7.5 检测错误点击 271 19.8 填充关卡 272 19.8.1 添加网格体 272 19.8.2 添加材质 274 19.8.3 设置默认值 274 19.8.4 复制和粘贴 274 19.9 运行应用程序 274 19.10 总结 276 第20 章 结语 277 20.1 不断改进的虚幻引擎4 278 20.2 可视化的未来 278 20.3 后续 278 20.4 虚拟现实 279 20.5 电影制作 279 20.6 内容创作 279 20.7 感谢 280 术语表 281
你还可能感兴趣
我要评论
|