图书目录

第1章 学习起点:初识Unity

1.1 游戏引擎

1.1.1 初识游戏引擎

1.1.2 Unity的五大优势

1.2 部署开发环境

1.2.1 Unity Hub版本管理器

1.2.2 Visual Studio代码编辑器

1.3 Unity基础使用

1.3.1 代码编辑器与中文设置

1.3.2 Unity结构拆解

1.3.3 项目资源管理

1.3.4 游戏物体管理

1.3.5 游戏场景管理

1.3.6 游戏运行管理

1.3.7 调试控制台管理

第2章 游戏开发第一步:场景搭建

2.1 游戏物体基础

2.1.1 游戏坐标系

2.1.2 世界与本地坐标系

2.1.3 游戏物体的使用

2.1.4 轴心点与中心点

2.1.5 游戏物体的操作

案例:书桌制作

2.2 物体资源与商店

2.2.1 物体网格

2.2.2 物体材质

2.2.3 资源商店

案例:资源商店的使用

2.3 地形元素

2.3.1 绘制地形

2.3.2 种植树木

2.3.3 地形细节

2.4 综合案例:打造山水地形

2.4.1 导入资源

2.4.2 绘制地形

2.4.3 绘制细节

2.4.4 添加河流

第3章 编程逻辑:脚本基础

3.1 游戏脚本

3.1.1 物体组件

3.1.2 脚本的使用

3.1.3 组件的使用

3.1.4 脚本生命周期

3.1.5 脚本执行顺序

3.2 游戏物体

3.2.1 设置名称与激活

3.2.2 设置标签

3.2.3 设置图层

3.3 向量基础

3.3.1 标量与向量

3.3.2 向量的加法

3.3.3 向量的减法

3.3.4 点乘获取夹角角度

3.3.5 叉乘获取平面垂直向量

3.4 游戏物体预制件

3.4.1 创建预制件

3.4.2 编辑预制件

3.4.3 添加组件与子物体

3.4.4 预制件变体

3.5 脚本常用API

3.5.1 Vector3结构体

3.5.2 Quaternion结构体

3.5.3 Debug类

案例:调试示例

3.5.4 GameObject类

3.5.5 Time类

3.5.6 Mathf结构体

3.5.7 Application类

3.5.8 Scene结构体和SceneManager类

3.5.9 Transform组件

3.6 输入操控

3.6.1 键鼠操控

3.6.2 虚拟轴操控

3.6.3 触摸操控

案例:新版输入系统

3.7 综合案例:小船游戏

3.7.1 小船移动

3.7.2 到达终点

3.7.3 遭遇敌船

第4章 光与影:游戏多媒体

4.1 游戏灯光

4.1.1 光源分类

4.1.2 光照烘焙

4.2 游戏摄像机

4.2.1 摄像机分类

4.2.2 透视与正交

4.2.3 摄像机设置

案例:布置天空效果

4.3 音视多媒体

4.3.1 音频监听器

4.3.2 音频源

案例:音频播放

4.3.3 视频播放器

4.4 游戏角色控制

4.4.1 角色控制器

4.4.2 角色控制器脚本

4.5 综合案例:下班游戏

4.5.1 主角控制

4.5.2 游戏声音

4.5.3 拾取苹果

4.5.4 关闭灯光

4.5.5 游戏胜利

第5章 模拟现实:物理引擎

5.1 物理引擎

5.1.1 刚体

5.1.2 常用属性方法

案例:刚体的使用

5.2 物理碰撞

5.2.1 盒状碰撞器

5.2.2 球体碰撞器

5.2.3 胶囊碰撞器

5.2.4 地形碰撞器

5.2.5 网格碰撞器

案例:赛车游戏

5.3 关节与材质

5.3.1 铰链关节

案例:模拟开门

5.3.2 弹簧关节

5.3.3 固定关节

5.3.4 物理材质

5.4 碰撞与触发

5.4.1 碰撞检测

5.4.2 触发检测

5.5 物理射线

5.5.1 射线碰撞检测

5.5.2 射线多碰撞检测

5.6 综合案例:射击游戏

5.6.1 导入场景

5.6.2 主角控制

5.6.3 武器制作

5.6.4 敌人制作

第6章 视觉盛宴:游戏特效

6.1 粒子系统

6.1.1 粒子系统

6.1.2 基本属性

6.2 粒子效果

6.2.1 发射器

6.2.2 发射器形状

6.2.3 渲染效果

6.2.4 粒子速度

6.2.5 粒子其他设置

6.2.6 其他功能模块

案例:烟花效果

6.3 线条与拖尾

6.3.1 线段渲染器

案例:绘图效果

6.3.2 拖尾渲染器

案例:进度加载效果

6.4 综合案例:火焰雨效果

6.4.1 加载场景

6.4.2 制作单个火焰

6.4.3 制作火焰雨

第7章 绚丽之舞:动画系统

7.1 Animation(动画)系统

7.1.1 动画组件

7.1.2 属性动画

7.1.3 动画曲线

7.1.4 动画事件

案例:开门动画

7.2 Animator(动画器)系统

7.2.1 动画器

7.2.2 动画控制器

7.2.3 动画脚本

案例:播放移动动画

7.2.4 动画剪辑

7.2.5 动画曲线

7.2.6 动画帧事件

7.2.7 混合动画

7.2.8 动画层

7.2.9 Avatar遮罩

7.2.10 反向动力学

7.3 综合案例:动作游戏动画

7.3.1 资源导入

7.3.2 动画设置

7.3.3 角色移动

7.3.4 连续攻击

第8章 空间向导:导航系统

8.1 导航基础

8.1.1 导航网格

8.1.2 导航网格代理

8.1.3 导航脚本

8.2 导航障碍物

案例:障碍躲避

8.3 导航网格链接

8.3.1 掉落和跳跃

8.3.2 网格链接组件

8.4 导航区域

8.4.1 设置导航区域

8.4.2 设置区域成本

8.5 综合案例:塔防游戏

8.5.1 创建炮塔

8.5.2 烘焙导航

8.5.3 创建史莱姆

8.5.4 敌人孵化器

8.5.5 炮台子弹

8.5.6 设置炮台

第9章 交互艺术:UI与控件

9.1 UI基础

9.1.1 UI画布

9.1.2 UI布局

案例:自适应布局

9.2 常用UI控件

9.2.1 图像

9.2.2 九宫格图像

9.2.3 文本

9.2.4 按钮

9.2.5 文本输入框

9.2.6 切换

9.2.7 下拉列表框

9.2.8 滚动视图

9.2.9 滑动条

9.2.10 面板

案例:游戏界面

9.3 常用UI组件

9.3.1 遮罩组件

9.3.2 内容尺寸适应器

9.3.3 水平和垂直布局组

9.3.4 网格布局组

案例:角色背包

9.4 综合案例:文字冒险游戏

9.4.1 图像资源

9.4.2 对话界面

9.4.3 对话功能

9.4.4 人物背景

第10章 不落经典:2D游戏开发

10.1 2D游戏

10.1.1 2D游戏项目

10.1.2 2D精灵

10.2 瓦片地图

10.2.1 创建瓦片地图

10.2.2 绘制瓦片地图

10.3 2D物理与动画

10.3.1 精灵刚体与碰撞

10.3.2 瓦片地图碰撞器

10.3.3 2D动画

案例:跳一跳

10.4 综合案例:饭团冒险

10.4.1 场景创建

10.4.2 添加饭团

10.4.3 添加动画

10.4.4 角色控制

10.4.5 摄像机控制

10.4.6 吃金币

第11章 游戏血脉:数据与网络

11.1 游戏数据格式

11.1.1 轻量数据格式JSON

11.1.2 可扩展标记语言XML

11.1.3 CSV格式与Excel文件格式

案例:游戏数据制作

11.1.4 SQLite数据库

案例:数据库操作

11.2 游戏多线程

11.2.1 多线程使用

11.2.2 协程的使用

11.3 网络交互

11.3.1 网络请求

11.3.2 简易服务器

11.3.3 网络请求脚本

11.3.4 Socket与TCP/UDP

案例:实时通信

11.4 综合案例:登录示例

11.4.1 启动服务器

11.4.2 创建登录界面

11.4.3 登录请求

11.4.4 解析登录结果

第12章 游戏骨骼:设计模式

12.1 代码状态

12.1.1 初识状态模式

12.1.2 状态模式示例

12.2 代码封装

12.2.1 初识外观模式

12.2.2 外观模式示例

12.3 代码单例

12.3.1 初识单例模式

12.3.2 单例模式示例

12.4 观察者模式

12.4.1 初识观察者模式

12.4.2 观察者模式示例

12.5 工厂模式

12.5.1 初识工厂模式

12.5.2 工厂模式示例

12.6 综合案例:简易消息框架

12.6.1 消息基类

12.6.2 音频管理类

12.6.3 物品管理类

12.6.4 框架测试

第13章 新时代:Lua与AI

13.1 游戏第二语言

13.1.1 Lua编程

13.1.2 xLua的使用

13.1.3 xLua热修复

13.2 游戏角色AI

13.2.1 模拟视觉

13.2.2 有限状态机

13.3 生成式AI

13.3.1 AI绘图

13.3.2 AI建模

13.4 DeepSee

13.4.1 AI写代码

13.4.2 AI找错误

13.5 综合案例:迷宫

13.5.1 创建迷宫

13.5.2 创建动画

13.5.3 智能探路

第14章 未来科技:虚拟现实与增强现实

14.1 虚拟现实

14.1.1 VR环境的搭建

14.1.2 进入VR世界

14.1.3 控制游戏物体

14.2 增强现实

14.2.1 AR发展与应用

14.2.2 Vuforia

第15章 成果验收:项目部署

15.1 Unity的压缩包

15.1.1 AssetBundle生成使用

15.1.2 AssetBundle加载资源

15.2 资源依赖

15.2.1 生成依赖包

15.2.2 加载依赖包

15.3 游戏部署

15.3.1 打包设置

15.3.2 Windows和macOS平台部署

15.3.3 Android平台部署

15.3.4 iOS平台部署

第16章 新的开始:密室逃脱

16.1 游戏策划

16.1.1 游戏背景

16.1.2 玩法内容

16.2 创建项目

16.2.1 游戏场景

16.2.2 添加碰撞器组件

16.3 游戏主角

16.3.1 创建主角

16.3.2 音效管理器

16.4 角色背包

16.4.1 物品数据

16.4.2 背包界面

16.4.3 背包控制

16.5 角色对话

16.5.1 对话界面

16.5.2 对话控制

16.6 玩家交互

16.6.1 交互界面

16.6.2 交互控制

16.7 添加交互物体

16.7.1 添加盘子交互

16.7.2 添加水壶线索

16.7.3 添加门的交互