内容简介
本书是专为想要学习游戏开发方法和获取开发经验的开发者或爱好者量身定制的游戏项目开发指南,目的是通过项目案例帮助初涉足Unity开发领域的读者深入掌握游戏项目的制作流程和方法。
全书不仅系统阐述游戏开发流程,还详细解析如何运用Unity的多样化功能模块构建各种类型的游戏。书中精选了4个具有典型特征且在技术层面涵盖Unity基本技术的游戏项目,包括2D消除类游戏、3D防守类游戏、派对类网络游戏和第三人称角色动作游戏。项目案例所采用的技术手段均遵循“按需选择技术”的准则,即仅在特定游戏功能实现阶段选择相应的技术和工具,每个项目都聚焦于不同的技术要点和重点内容。除此之外,本书还介绍如何利用生成式人工智能进行游戏的创作与开发的方法。
随书资源中有完整项目实现的视频教程,展示每一个项目从初始构思到最终成品的整个制作流程。读者在按照书中指导完成项目的过程中,如果遇到疑难或不解之处,可以观看在线教学视频来排查和纠正问题。另外,随书资源中还包含所有项目所需的素材和资源文件。
目录
第1篇 2D消除类游戏 009
第1章 游戏开发与AI 010
1.1 AI绘图 010
1.1.1 Midjourney 010
1.1.2 Stable Diffusion 011
1.2 AI音乐 013
1.2.1 Mubert 013
1.2.2 Soundraw 014
1.2.3 Soundful 016
1.3 AI建模与交互 018
1.3.1 Shap-E 018
1.3.2 Meshy 019
1.3.3 ChatGPT 020
第2章 基础2D案例:消了个消 021
2.1 游戏策划 021
2.1.1 玩法内容 021
2.1.2 实现路径 021
2.2 制作卡牌 022
2.2.1 创建卡牌 022
2.2.2 游戏逻辑 024
2.3 制作卡槽 027
2.3.1 创建卡槽UI 027
2.3.2 创建卡槽逻辑 029
2.4 接入AI 033
2.4.1 AI背景音乐 033
2.4.2 AI卡牌图像 034
第2篇 3D防守类游戏 035
第3章 基础3D案例:保卫家园 036
3.1 游戏策划 036
3.1.1 游戏背景 036
3.1.2 玩法内容 036
3.1.3 实现路径 037
3.2 创建项目 040
3.2.1 渲染管线 040
3.2.2 地形系统 041
3.3 游戏主角 043
3.3.1 创建主角 043
3.3.2 动画控制器 043
3.4 音乐与音效 047
3.4.1 声音管理器 047
3.4.2 导入声音 049
3.5 标签与鼠标 050
3.5.1 物体标签 050
3.5.2 鼠标样式 050
第4章 逻辑与状态 053
4.1 寻路系统 053
4.1.1 网格烘焙 053
4.1.2 导航代理 054
4.2 游戏界面 054
4.2.1 头像血条 054
4.2.2 漂浮文本 057
4.3 玩家属性 060
4.3.1 玩家脚本 060
4.3.2 敌人脚本 063
4.4 状态模式 064
4.4.1 创建状态模式 064
4.4.2 站立状态 065
4.4.3 移动状态 067
4.4.4 死亡状态 071
4.4.5 攻击状态 072
4.4.6 技能状态 073
4.4.7 完善与测试 077
4.5 基地与镜头 079
4.5.1 镜头跟随 079
4.5.2 游戏基地 080
4.6 完善敌人 082
4.6.1 敌人逻辑 082
4.6.2 敌人孵化器 090
第3篇 派对类网络游戏 093
第5章 元宇宙网络游戏:多人跑酷 094
5.1 元宇宙 094
5.1.1 元宇宙概念 094
5.1.2 元宇宙游戏 095
5.2 游戏策划 095
5.2.1 游戏背景 095
5.2.2 玩法内容 096
5.2.3 实现路径 096
5.3 创建项目 098
5.3.1 导入场景 098
5.3.2 空中走廊 098
5.4 功能区域 099
5.4.1 检查点 099
5.4.2 死亡区 101
5.4.3 跳跃区 102
5.4.4 变速区 103
5.5 关卡策划 105
5.5.1 关卡设置 105
5.5.2 关卡UI 106
5.5.3 难度曲线 108
5.6 关卡制作 109
5.6.1 第1关 109
5.6.2 第2关 110
5.6.3 第3关 110
5.6.4 第4关 110
5.6.5 第5关 111
第6章 联网与通信 112
6.1 网络通信 112
6.1.1 Socket套接字 112
6.1.2 Socket通信示例 114
6.2 数据格式 118
6.2.1 轻量数据格式JSON 118
6.2.2 JSON格式化示例 119
6.3 服务端与客户端 124
6.3.1 服务端通信 124
6.3.2 客户端通信 131
6.4 注册与登录 134
6.4.1 UI制作 134
6.4.2 客户端逻辑实现 135
6.4.3 服务端逻辑实现 141
6.5 数据同步 144
6.5.1 帧同步与状态同步 144
6.5.2 同步角色信息 144
6.6 创建角色 147
6.6.1 动画编辑 147
6.6.2 主角逻辑 148
6.7 敌人客户端 153
6.7.1 敌人逻辑 153
6.7.2 游戏完善 154
第4篇 第三人称角色动作游戏 159
第7章 动作探险游戏 160
7.1 游戏策划 160
7.1.1 游戏背景 160
7.1.2 玩法内容 160
7.1.3 实现路径 161
7.2 创建项目 164
7.2.1 导入场景 164
7.2.2 导入主角 164
7.3 输入系统 166
7.3.1 输入设备与系统 166
7.3.2 绑定双设备按键 167
7.3.3 输入管理器 171
7.4 摄像机与LOD优化 173
7.4.1 LOD优化 173
7.4.2 摄像机控制 176
第8章 主角动作状态 177
8.1 主角设置 177
8.1.1 主角动画 177
8.1.2 动作后摇 181
8.2 武器设置 183
8.2.1 装备武器 183
8.2.2 武器拖尾 185
8.3 动作状态 186
8.3.1 角色站立 186
8.3.2 角色移动 188
8.3.3 角色跳跃 190
8.3.4 轻功与翅膀 192
8.3.5 交互与交互物 194