新書推薦:
《
二十四节气生活美学
》
售價:NT$
340.0
《
古文观止(上+下)(2册)高中生初中生阅读 国学经典丛书原文+注释+译文古诗词大全集名家精译青少年启蒙经典读本无障碍阅读精装中国古代著名文学书籍国学经典
》
售價:NT$
440.0
《
宠物革命:动物与现代英国生活的形成
》
售價:NT$
360.0
《
(棱镜精装人文译丛)蔑视大众:现代社会文化斗争的实验
》
售價:NT$
275.0
《
皇家宫廷中的保健秘方 中小学课外阅读
》
售價:NT$
290.0
《
《诗经》十五讲 十五堂《诗经》历史文化与文学课 丹曾人文通识丛书
》
售價:NT$
395.0
《
述异记汇笺及情节单元分类研究(上下册)
》
售價:NT$
475.0
《
环境、社会、治理(ESG)信息披露操作手册
》
售價:NT$
1190.0
|
編輯推薦: |
1.全彩印刷,大容量双栏排版;2.附赠案例资源 课件;3.详细的UE5基础操作知识,零基础轻松上手;4.制作三个常见类型游戏案例,及时实践,步骤详细;5.各章末总结与习题,及时回顾所学
|
內容簡介: |
本书主要讲解使用 UE5(Unreal Engine 5)引擎开发 2D 游戏,介绍 UE5 制作 2D 内容所需要的全部技术知识。
全书内容包括:使用 UE5 开发 2D 游戏需要掌握的基础知识(第 1 ~ 6 章),包括 UE5 的安装、项目结构分析、界面布局,也包括针对 2D 项目的特殊设置;2D 游戏项目实例(第 7 ~ 9 章),每章都是一个完整的 2D 游戏,从易到难地介绍 2D 内容制作的各技术方向;最后第 10 章介绍使用 UE5制作 2D 交互艺术作品,以及游戏之外的交互内容。书中的实例都提供配套的资源和源代码。
本书适合 UE5 引擎的初学者、独立游戏开发者和有兴趣使用 UE5 引擎制作交互内容的读者,也适合学校作为交互艺术设计、游戏开发等专业的初级课程。
|
關於作者: |
林华,清华大学教授,中国艺术设计专业首位博士。先后为清华大学、中国艺术研究院等大学研究生导师,以及哈尔滨工业大学等18所大学的特聘教授。中国美术家协会会员,中国图象图形学学会理事,北京图象图形学学会常务理事。钟景浩,拥有20年的技术背景和行业经验,现为某游戏公司的Unreal Engine 技术专家。主要研究方向是将Unreal Engine 与Houdini 结合起来制作程序化生成的开放世界游戏。
|
目錄:
|
第 1 章 UE5 介绍 1
1.1 什么是游戏引擎 1
1.1.1 实时渲染器 1
1.1.2 物理引擎 2
1.1.3 人工智能引擎 2
1.1.4 网络引擎 3
1.1.5 声音渲染器 3
1.1.6 脚本引擎 4
1.2 UE 的发展历史 5
1.2.1 第一代 UE 5
1.2.2 UE2 ~ UE2.5 6
1.2.3 UE3 7
1.2.4 UDK 8
1.2.5 UE4 8
1.2.6 Epic Games Store 11
1.2.7 UE5 11
1.3 UE 在其他领域的应用 12
1.3.1 建筑设计、景观设计、室内设计等设计行业 12
1.3.2 影视制作行业 13
1.3.3 广播行业 13
1.3.4 产品设计和制造领域 14
1.3.5 AI 驾驶、AI 训练等领域 14
1.3.6 AR、VR 领域 15
1.4 UE5 游戏引擎的功能 15
1.4.1 Lumen 16
1.4.2 Nanite 16
1.4.3 Virtual Shadow maps 16
1.5 UE5 的特点 16
1.5.1 高品质全功能 16
1.5.2 工作流功能强大,耦合性低 17
1.5.3 顶级的视觉效果,最高端的图形渲染技术 17
1.5.4 友好的社区,良好的文档及技术支持 18
1.5.5 强大的跨平台能力 18
1.5.6 灵活的授权模式 19
1.6 使用 UE5 的软件和硬件需求 19
1.6.1 安装 UE5 的软件需求 19
1.6.2 硬件需求 20
1.6.3 关于用笔记本计算机学习使用 UE5 21
总结 22
问答 22
思考 22
练习 22
第 2 章 UE5 的安装与使用 23
2.1 注册 Epic 官方账号 23
2.2 下载安装 Epic Game Launcher 25
2.2.1 下载 Epic Game Launcher 25
2.2.2 安装 Epic Game Launcher 26
2.2.3 登录 Epic Game Launcher 26
2.3 安装 UE5 27
2.4 Epic Game Launcher 的主要功能 29
2.4.1 News 29
2.4.2 示例 29
2.4.3 虚幻商城 30
2.4.4 库 31
2.5 修改 Epic Game Launcher 设置 31
2.5.1 修改 Epic Game Launcher 语言 31
2.5.2 修改 Epic Game Launcher 缓存目录 32
总结 32
问答 32
思考 32
练习 32
第 3 章 第一个 UE5 项目及项目结构分析 33
3.1 开启 UE5 项目浏览器 33
3.2 虚幻项目浏览器界面介绍 34
3.2.1 “最近打开的项目” 34
3.2.2 “游戏”标签 36
3.2.3 “影视与现场活动”标签 37
3.2.4 “建筑”标签 37
3.2.5 “汽车、产品设计和制造”标签 38
3.3 创建项目 38
3.3.1 选择模板类型 38
3.3.2 设置项目默认设置 39
3.3.3 项目默认配置说明 39
3.3.4 设置项目名称和项目位置 40
3.4 UE5 项目结构分析 42
3.4.1 什么是 UE5 项目 42
3.4.2 项目目录结构 42
3.5 改变 UE5 项目版本 43
3.5.1 查看引擎版本 43
3.5.2 版本字符串不可用的情况 44
3.5.3 切换引擎版本 44
3.6 UE5 插件管理 45
3.6.1 打开插件管理器 45
3.6.2 插件分类 45
3.6.3 uproject 文件控制插件功能 47
3.7 编辑器设置 47
3.7.1 改变编辑器默认语言 47
3.7.2 改变编辑器默认自动保存的行为 49
3.7.3 还原编辑器设置 50
总结 50
问答 50
思考 50
练习 50
第 4 章 UE5 引擎界面布局与基础操作 51
4.1 UE5 界面布局 51
4.1.1 UE5 默认界面布局 51
4.1.2 UE5 自定义界面布局 52
4.1.3 保存已调整好的布局 54
4.1.4 读取保存的布局文件 55
4.1.5 加载默认布局 55
4.2 菜单 55
4.2.1 “文件”菜单 55
4.2.2 “编辑”菜单 57
4.2.3 “窗口”菜单 58
4.2.4 “工具”菜单 59
4.2.5 “构建”菜单 59
4.2.6 “选择”菜单 60
4.2.7 “帮助”菜单 60
4.3 工具栏 60
4.3.1 编辑器模式 61
4.3.2 快速添加到项目按钮 61
4.3.3 蓝图按钮菜单 62
4.3.4 过场动画按钮菜单 62
4.3.5 播放控制按钮 62
4.3.6 平台按钮菜单 63
4.4 视口面板 63
4.4.1 视口操作 63
4.4.2 视口的视图类型 65
4.4.3 视口布局 65
4.4.4 快速切换视图类型 66
4.4.5 视口显示模式 66
4.4.6 视图中 Actor 的操作 66
4.5 大纲面板 68
4.5.1 对 Actor 进行重命名 68
4.5.2 通过名称搜索物体 68
4.5.3 通过文件夹管理项目结构 68
4.5.4 创建父子关系 69
4.6 内容浏览器 69
4.6.1 显示内容浏览器 70
4.6.2 内容资源管理 70
4.6.3 保存新建或修改过的资产 70
总结 71
问答 71
思考 71
练习 72
第 5 章 UE5 引擎 Paper2D 插件 73
5.1 为什么用 UE5 开发 2D 游戏 73
5.1.1 2D 游戏的发展 73
5.1.2 2D 游戏的优点 74
5.1.3 学习 2D 游戏开发的优点 76
5.1.4 使用 UE5 开发 2D 游戏的优点 76
5.2 Paper2D 插件介绍 77
5.2.1 打开 Paper2D 插件 77
5.2.2 Paper2D 插件提供的内容 78
5.2.3 Paper2D 插件提供的基础材质 79
5.3 Sprite 80
5.3.1 UE5 中的 Sprite 80
5.3.2 图片与纹理 80
5.3.3 创建 Sprite 82
5.4 Sprite 设置 83
5.4.1 Sprite 大小 83
5.4.2 自定义 Sprite 渲染形状 84
5.4.3 自定义 Sprite 碰撞 85
5.5 使用单张纹理创建多个 Sprite 88
5.6 图像序列 90
5.7 瓦片与瓦片集 93
5.7.1 创建瓦片集 93
5.7.2 设置瓦片碰撞区域 94
5.7.3 使用瓦片集创建瓦片贴图 94
总结 96
问答 96
思考 96
练习 96
第 6 章 UE5 2D 开发初始设置 97
6.1 Sprite 模糊 97
6.2 后处理自动曝光 100
6.2.1 通过后处理体角色关闭自动曝光 100
6.2.2 通过视口工具菜单关闭自动曝光 102
6.2.3 使用项目设置的自动曝光控制亮度 103
6.3 导入 UE5 后的 Sprite 变色 103
6.3.1 UE5 颜色矫正工具 103
6.3.2 颜色产生变化的原因 106
6.3.3 解决色彩改变 106
6.4 UE5 2D 摄影机设置 109
6.5 UE5 瓦片贴图缝隙处理 112
6.6 Sprite 透明排序 113
6.6.1 2D 层捕捉 113
6.6.2 透明渲染顺序 114
总结115
问答115
思考115
练习115
第 7 章 用 UE5 开发《俄罗斯方块》休闲游戏 116
7.1 游戏玩法分析 116
7.1.1 简单描述《俄罗斯方块》玩法 117
7.1.2 详细总结《俄罗斯方块》玩法 117
7.2 创建项目 117
7.2.1 项目设置 117
7.2.2 创建 2D 空关卡 118
7.2.3 创建关键游戏蓝图 118
7.2.4 设置 UE5 使用新创建的玩法类 120
7.2.5 创建游戏相关类 122
7.2.6 导入资源 122
7.3 装饰场景 124
7.3.1 设置后处理自动曝光 124
7.3.2 设置色调映射器 124
7.3.3 其他后处理设置 125
7.3.4 添加背景音乐 125
7.4 设置摄影机 126
7.4.1 设置玩家使用的 Pawn 角色 126
7.4.2 添加玩家 Pawn 的摄影机组件 126
7.4.3 设置摄影机组件参数 127
7.5 创建背景网格 128
7.5.1 添加网格到关卡 128
7.5.2 为背景网格添加的长度和宽度 128
7.5.3 创建背景方块 129
7.6 BP_Grid 创建方块 135
7.7 添加 BP_Tetris 自动下落功能 136
7.7.1 添加预览模型 136
7.7.2 让 BP_Tetris 向下移动 137
7.8 完成 BP_Tile 功能 139
7.8.1 设置 BP_Tile 的基础组件和属性 139
7.8.2 BP_Tetris 的不同类型 139
7.8.3 使用枚举区分类型 139
7.8.4 为 BP_Tile 添加类型变量 140
7.8.5 根据类型设置颜色 140
7.9 随机生成不同类型的 BP_Tetris 143
7.9.1 添加 SetTetrisType 事件函数 143
7.9.2 添加子角色组件 144
7.9.3 根据类型设置 BP_Tile 颜色 145
7.9.4 转换图表为函数 147
7.9.5 根据类型设置 BP_Tile 位置 148
7.9.6 BP_Grid 创建随机类型的BP_Tetris 150
7.10 输入设置 154
7.10.1 设置“输入” 154
7.10.2 蓝图响应“输入”事件 154
7.10.3 通过 BP_Tetris_PlayerPawn 控制BP_Tetris 156
7.11 控制 Tetris 移动旋转和加速 160
7.11.1 控制 Tetris 加速下落 160
7.11.2 判断 Tetris 是否结束 161
7.11.3 BP_Tetris 降落到底部 163
7.11.4 控制 BP_Tetris 左右移动 167
7.11.5 控制 BP_Tetris 旋转 168
7.12 BP_Tetris 落地后的相关逻辑169
7.12.1 管理 BP_Grid 中的 BP_Tile 169
7.12.2 往 BP_Grid 中添加 BP_Tile 170
7.12.3 检查游戏是否结束 170
7.12.4 查找 BP_Grid 中 BP_Tile 满了的行 171
7.12.5 移除满行的行中所有 BP_Tile 172
7.12.6 把删除行之上的 Tile 顺序下移 174
7.12.7 实现方块落下之后的所有逻辑 175
7.12.8 完善方块移动旋转 178
7.13 细化完成游戏 180
7.13.1 添加得分记录 180
7.13.2 添加 UI 184
7.13.3 添加音效 196
7.14 打包为 Windows 平台可执行文件 197
7.14.1 设置 Windows 平台打包环境 197
7.14.2 Windows 平台打包 200
总结202
问答202
思考202
练习202
第 8 章 用 UE5 开发 2D 平台游戏 203
8.1 2D 平台游戏介绍 203
8.1.1 2D 平台类游戏的优点 203
8.1.2 2D 平台类游戏代表作品 203
8.2 创建 2D 平台游戏项目 204
8.2.1 创建项目 205
8.2.2 项目配置 205
8.2.3 创建基础游戏玩法类 205
8.3 实现 2D 平台游戏角色 207
8.3.1 导入资源 207
8.3.2 创建 Flipbooks 动画 209
8.3.3 设置玩家图像序列 210
8.3.4 添加玩家摄影机 210
8.3.5 添加玩家基础移动 211
8.4 使用精灵创建关卡 217
8.4.1 自定义捕捉间距 217
8.4.2 设置精灵碰撞形状 218
8.4.3 创建完整关卡 220
8.4.4 添加背景 221
8.4.5 设置跳跃高度 222
8.5 使用瓦片地图创建关卡 223
8.5.1 使用瓦片制作地图的优点 223
8.5.2 创建瓦片集 223
8.5.3 创建瓦片贴图 224
8.5.4 编辑瓦片贴图 224
8.5.5 在关卡中使用瓦片贴图 226
8.5.6 设置瓦片碰撞 226
8.5.7 设置背景方法 2 227
8.6 创建可拾取金币 228
8.6.1 创建金币蓝图 228
8.6.2 准备精灵资源 228
8.6.3 设置金币蓝图 229
8.6.4 创建金币逻辑 230
8.7 设置蓝图类图标 232
8.7.1 自定义蓝图 Icon 232
8.7.2 自定义关卡文件图标 232
8.8 添加陷阱 233
8.8.1 创建设置陷阱蓝图 233
8.8.2 添加玩家受伤逻辑 233
8.8.3 陷阱触发玩家受伤 234
8.8.4 处理玩家角色死亡 235
8.8.5 实现玩家受伤效果 236
8.9 添加移动平台 238
8.9.1 创建设置平台蓝图 238
8.9.2 设置移动目标 240
8.9.3 移动平台 240
8.9.4 设置 TimeLine 播放时间 242
8.10 添加不可见死亡触发器 244
8.10.1 添加设置死亡触发器蓝图 244
8.10.2 设置角色死亡事件 245
8.10.3 在关卡中配置死亡触发角色 245
8.11 添加过关蓝图 247
8.11.1 创建过关蓝图 247
8.11.2 准备过关蓝图图像序列 247
8.11.3 设置过关蓝图 248
8.12 Game HUD 250
8.12.1 创建 UI 蓝图 250
8.12.2 创建生命栏 250
8.12.3 完成生命栏逻辑 253
8.12.4 显示游戏 UI 255
8.12.5 添加金币 UI 255
8.12.6 完成金币显示 257
8.13 移动平台输入 260
8.13.1 添加布局输入控制器 UI 260
8.13.2 添加控制器 UI 到视口 263
8.13.3 准备动作事件 264
8.13.4 UI 触发事件 265
8.14 Android 平台游戏打包 269
8.14.1 安装 Android Studio 269
8.14.2 安装 Android SDK 271
8.14.3 UE5 更新 Android SDK 版本 274
8.14.4 项目打包配置 276
8.14.5 处理打包错误 278
8.14.6 安装到真机 280
总结282
问答282
思考282
练习282
第 9 章 在 UE5 中用 2D 骨骼动画技术制作塔防游戏 283
9.1 2D 骨骼动画简介及制作方法 283
9.2 SpineUnrealEngine 插件 287
9.2.1 下载 Spine Runtime 源代码 287
9.2.2 编译 Spine UE 插件 288
9.2.3 安装 spineUE4 插件 290
9.3 准备项目资产 291
9.3.1 Spine 动画介绍 291
9.3.2 导入 spine 资产 291
9.3.3 播放 Spine 动画 293
9.3.4 准备游戏资源并搭建背景关卡 300
9.3.5 关闭流式纹理解决纹理模糊问题 302
9.4 创建角色类 302
9.4.1 创建玩家摄影机角色 302
9.4.2 设置角色基类 303
9.4.3 创建设置玩家英雄类 304
9.4.4 创建设置敌人类 306
9.4.5 敌人向前移动 307
9.5 实现游戏攻击逻辑 308
9.5.1 敌人攻击玩家英雄 308
9.5.2 玩家英雄攻击敌人 312
9.5.3 Enemy 生成器 314
9.6 添加金币系统 317
9.6.1 在 BP_Player 中添加金币 317
9.6.2 创建 BP_Coin 金币蓝图类 317
9.6.3 设置金币响应单击事件 318
9.6.4 设置金币掉落 319
9.6.5 金币生成器 321
9.7 购买放置英雄 323
9.7.1 HUD 显示金币 323
9.7.2 创建购买英雄图标 325
9.7.3 英雄角色生成点 329
9.7.4 购买后显示英雄图标 331
9.7.5 管理角色生成点 333
9.8 添加守护入口 337
总结340
问答341
思考341
练习341
第 10 章 基于 UE5 的数字二维交互艺术设计 342
10.1 数字二维交互艺术设计的概念 342
10.2 当代常见的交互艺术形式 343
10.3 UE5 如何制作交互艺术 345
10.4 基于 UE5 的数字二维交互艺术设计案例 347
总结355
思考355
练习355
|
內容試閱:
|
什么是数字游戏和数字游戏设计
从文明史和文化史的宏观角度来看,游戏是人类文明和艺术起源的一个分支,因此游戏具有十分重要的意义。人类的社会实践不仅包含对物质生产的需求,还包含对精神生活的需求,而游戏和娱乐活动也是人类精神生活需求的一个重要组成部分。游戏是人类的本性之一,不同时代的人们玩着不同的游戏。计算机图形学的出现,为人与计算机之间的交流与互动开辟了新的天地。随着它的发展,使得艺术渐渐与计算机结合在了一起,并与其他计算机技术一同在 20 世纪 70 年代为人类带来了一个全新的娱乐方式—数字游戏,也被称为第九艺术。
我认为数字游戏是两个或多个游戏对手之间,在以计算机科学技术为平台的特定环境中(数字游戏环境中)进行一种有规则的、以试图赢得胜利或者获取娱乐为目标的,自愿地、并在快乐中学会某种本领的交互式游戏活动。数字游戏设计则是以计算机硬件和软件为平台,通过策划、设计、编程、制作和测试等环节,来完成和实现数字游戏的过程和结果。
数字游戏可以给玩家带来快乐,是深受年轻人喜欢的一种娱乐方式,随着全球互联网的发展以及电脑、智能手机、平板电脑等电子设备的更新换代,游戏载体和类型不断丰富,游戏品质不断提高,各种游戏类型均有庞大的受众群体,全球游戏市场迅速崛起,市场规模逐步扩大。数字游戏已发展为一个巨大的产业,在全球范围内,十年前就已经超过了电影票房和音乐演唱会的收入,在我国同样如此。
数字游戏设计教育
随着数字游戏产业的发展壮大,与游戏设计和制作相关人才的需求越来越急迫,对人才的素质要求也越来越高,数字游戏产业面临人才的饥荒。数字游戏产业和游戏市场的需求,必然会影响学校的教育和人才培养的方向。但是到目前为止,中国高等院校的数字游戏设计教育还十分落后。
数字游戏是计算机科学和艺术与设计的结合,它融合了文学、美术、建筑、景观、艺术设计、音乐、电影、动画、人工智能、计算机技术等许多方面的技术和艺术。数字游戏与影视和动画不同,游戏是通过双向或多向实时交互闯关进行的,因而游戏的情节是不固定和非线性的。数字游戏是跨科学和艺术的,它集最新的计算机技术与最前卫的视觉艺术和艺术设计于一体,且数字游戏的设计和制作难度远高于电影和动画。
什么是游戏引擎
在游戏开发的早期,基本上都是由一个或者几个程序员从头到尾完整地开发一个游戏。随着数字游戏开发的发展,游戏开发者们看到,不同的游戏软件中有很多功能相同的代码,为了减少重复劳动,程序员们把在多个游戏中一样的功能、一些已经编写好的、能够重复使用的代码封装在一起,这些能实现特定功能的通用程序库就成了早期游戏引擎的原型。所以,游戏引擎就是指一些已编写好的、可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件。这些系统为游戏设计者提供编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地写出程序,而不用每个游戏都从零开始开发。
大多数游戏引擎包含以下系统:二维图像和三维图像的渲染引擎、物理引擎和碰撞检测系统、用户界面键映射和其他界面组件、音频引擎、脚本引擎、动画引擎、照明、着色器、阴影、对象材质和其他视觉组件、虚拟现实工具、人工智能、网络引擎以及场景管理等。这些工具中的每一个都可以实现快速开发,它使游戏设计师专注于游戏设计和制作,而无须高超的技术和专业的编程技能,甚至几个人的小团队都可以进行数字游戏的开发,从而大大加速了数字游戏设计与制作的进程。
关于本系列图书
正是由于上述原因,我们选择 Unreal Engine 游戏设计引擎编撰了基于 Unreal Engine 5(UE5)引擎的系列图书。本系列图书的特点是,摆脱了传统软件教材以“菜单”“命令”为主的介绍,转而基于常见的游戏项目进行写作。本书第 7 ~ 9 章一步一步地详细介绍三个比较典型的和常用的二维游戏设计方法;第 10 章加以拓展,跨出游戏设计,介绍“数字二维交互艺术设计”,因为 Unreal Engine 引擎不仅可以设计和制作数字游戏,而且还可以兼顾建筑设计、景观设计、室内设计、产品设计以及 AR、VR 等领域的设计和制造。同时,影视制作行业、广播行业以及 AI 驾驶和 AI 训练等领域都可以使用 Unreal Engine 引擎,甚至在军事、医学、工业、教育、科研、科普、培训等诸多领域的严肃游戏设计中也有广泛应用,并可以实现和获得超出预期的效果。
鉴于此,希望读者不要局限于图书所教授的数字二维游戏设计、数字三维游戏设计、影视动画设计与制作和虚拟现实设计等领域,一定要把基于游戏引擎所学习到的设计和制作方法拓展开来,向军事、医学、工业、教育、科研、科普、培训等诸多领域进行跨学科的应用。这样,在更好地服务于上述更加广大应用领域的同时,也会为自己找到更加广阔的就业空间。
林华
2024 年 1 月于清华园
|
|