书籍详情
从零开始 快速入门Unity 3D游戏开发
作者:康远英
出版社:人民邮电出版社
出版时间:2022-04-01
ISBN:9787115573544
定价:¥69.90
购买这本书可以去
内容简介
本书是指导初学者学习Unity 3D游戏开发的入门图书,书中详细讲解了场景搭建、脚本、物理系统、Mecanim动画系统、UI(用户界面)系统等初学者必须具备的Unity 3D游戏开发基础知识,并演示了如何将这些知识运用到实际的游戏开发中。全书共分为11章。第1章和第2章为Unity 3D的基础认识;第3章讲解场景搭建;第4章和第5章讲解游戏开发所需的编程知识;第6章讲解控制游戏中对象的位置、位移和旋转角度的3D数学;第7章讲解用于在游戏中进行检测的物理系统;第8章讲解制作游戏动画片段,以及控制动画片段过渡的Mecanim动画系统;第9章讲解游戏UI系统;第10章讲解运用脚本、物理系统、Mecanim动画系统、UI系统等知识点制作一款2D平台跳跃游戏;第11章讲解如何把游戏发布到不同的平台上,并让游戏能够运行。本书适合想从事游戏行业,但苦于没有相关经历,需要从零开始学习的游戏爱好者,也可以作为游戏培训班或游戏开发专业学生的参考用书。
作者简介
康远英,新媒体技师学院专业老师,多年游戏设计、制作、运营相关的项目经验和教学经验。 高技能人才培训基地建设项目数字游戏方向负责人。 参与过蛮荒纪、恐惧之魂、天天K神仙、盗墓笔记、名将、商战项目、上古神殿等多个项目的研发。
目录
第 1章 初识Unity 3D
1.1 使用Unity 3D开发的游戏 / 002
1.2 为什么要选择Unity 3D开发游戏 / 002
1.2.1 拥有海量素材的Unity商店 / 002
1.2.2 支持多种主流游戏发布平台 / 003
1.3 Unity 3D和虚幻4引擎的对比 / 003
1.4 本章总结 / 004
第 2章 Unity 3D基础的窗口、常识和组件
2.1 下载和安装Unity 3D / 006
2.2 Unity 3D的基础窗口 / 010
2.2.1 Project窗口 / 010
2.2.2 Scene窗口 / 012
2.2.3 Game窗口 / 014
2.3 Unity 3D的基本常识 / 014
2.3.1 游戏对象 / 015
2.3.2 游戏对象的父子关系结构 / 016
2.3.3 游戏素材资源的导入和导出 / 017
2.3.4 场景文件——场景的基本单位 / 019
2.3.5 Unity 3D基础的游戏对象 / 020
2.4 Unity 3D的常用组件 / 021
2.4.1 Transform组件 / 021
2.4.2 Rigidbody组件 / 021
2.4.3 Collider组件 / 022
2.4.4 Sprite Renderer组件 / 024
2.4.5 Camera 组件 / 025
2.4.6 Light组件 / 026
2.5 本章总结 / 027
第3章 场景搭建
3.1 2D游戏场景搭建的准备工作 / 029
3.2 Tile Palette——Tilemap的功能窗口 / 030
3.3 Tilemap Collider 2D——2D场景的Collider组件 / 035
3.4 本章总结 / 036
第4章 脚本和C#的基础语法
4.1 设置开发环境 / 038
4.1.1 下载Visual Studio和开发工具包 / 038
4.1.2 设置Unity 3D的编辑器 / 040
4.1.3 创建并添加脚本 / 040
4.2 变量 / 042
4.2.1 变量的类型 / 043
4.2.2 定义变量 / 043
4.2.3 算术运算符 / 044
4.2.4 变量的访问权限 / 045
4.3 数组 / 046
4.4 函数 / 048
4.5 条件判断语句 / 052
4.5.1 if语句 / 052
4.5.2 if...else和if...else if...else语句 / 055
4.5.3 switch语句 / 059
4.6 循环语句 / 060
4.6.1 while语句 / 060
4.6.2 do...while语句 / 062
4.6.3 for语句 / 063
4.7 本章总结 / 064
第5章 脚本的工作机制与Unity 3D 常用的函数和变量
5.1 面向过程和面向对象 / 066
5.1.1 如何面向对象 / 066
5.1.2 GetComponent函数 / 069
5.2 脚本的工作机制——生命周期函数 / 072
5.2.1 Awake和Start函数——初始化变量数值的函数 / 072
5.2.2 Update和FixedUpdate函数——更新游戏画面的函数 / 072
5.3 Unity 3D中常用的变量和函数 / 073
5.3.1 常用的变量 / 073
5.3.2 常用的函数 / 074
5.4 静态对象 / 079
5.5 常见的脚本错误和调试方法 / 080
5.5.1 C#的语法错误 / 081
5.5.2 对象没有进行初始化 / 081
5.5.3 无法添加脚本 / 081
5.6 本章总结 / 082
第6章 3D数学
6.1 笛卡儿坐标系和Vector对象 / 084
6.2 局部坐标系和世界坐标系 / 086
6.3 向量 / 087
6.3.1 什么是向量 / 088
6.3.2 向量的运算 / 089
6.3.3 向量的单位化 / 093
6.4 三角函数 / 094
6.5 本章总结 / 096
第7章 物理系统
7.1 游戏对象之间的碰撞检测 / 098
7.2 游戏对象之间的触发检测 / 099
7.3 Tag(标签) / 100
7.4 使用刚体组件控制游戏对象的位移 / 101
7.5 射线检测 / 103
7.6 综合案例——制作3D滚动球 / 104
7.6.1 控制小球的位移 / 106
7.6.2 实现小球和宝石的触发检测 / 106
7.6.3 更新玩家获得的分数 / 107
7.6.4 判断游戏的输赢 / 107
7.7 本章总结 / 109
第8章 Mecanim动画系统
8.1 使用Animation编辑窗口制作动画片段 / 111
8.2 使用Animator Controller(动画状态机)控制动画片段之间的过渡 / 117
8.2.1 设置控制动画片段过渡的过渡条件和过渡参数 / 117
8.2.2 Animator Controller中用于控制动画片段播放时机的3种状态——Entry、AnyState和Exit / 122
8.3 使用Blend Tree(混合树)轻松实现动画片段的自由过渡 / 124
8.3.1 1D Blend Tree / 125
8.3.2 2D Blend Tree / 127
8.4 综合案例——制作2D角色控制器 / 129
8.4.1 场景搭建 / 130
8.4.2 制作角色的动画片段 / 131
8.4.3 控制角色的奔跑 / 132
8.4.4 控制角色的转向 / 134
8.4.5 控制角色的跳跃 / 135
8.4.6 创建动画片段的过渡条件 / 136
8.5 本章总结 / 137
第9章 UI系统
9.1 常用的UI组件 / 139
9.1.1 Image组件——显示图片 / 139
9.1.2 Text组件——显示文字 / 148
9.1.3 Rect Transform组件——设置UI组件的位置、旋转角度、缩放比例 / 153
9.1.4 Button组件——游戏中的按钮 / 154
9.1.5 Slider组件——调节游戏音量 / 155
9.1.6 Toggle组件——游戏的功能开关 / 156
9.1.7 Dropdown组件 / 157
9.1.8 自动布局组件——设置窗口布局 / 158
9.2 矩形工具 / 159
9.3 Canvas(画布)游戏对象——控制所有UI组件的显示方式 / 161
9.3.1 Canvas组件——控制所有UI组件的渲染顺序和渲染方式 / 161
9.3.2 Anchor和Canvas Scaler——控制UI组件在不同分辨率下的自适应 / 165
9.4 游戏UI的过渡动画 / 171
9.5 Audio Source组件——游戏BGM和UI音效 / 176
9.5.1 播放音效 / 176
9.5.2 Audio Source组件和UI组件的综合运用 / 177
9.6 游戏UI阶段练习案例——制作角色血槽 / 179
9.7 本章总结 / 182
第 10章 2D平台跳跃游戏
10.1 脚本的命名规范 / 184
10.2 制作游戏主菜单界面 / 184
10.3 场景搭建 / 189
10.4 制作2D角色控制器 / 189
10.4.1 制作角色的动画片段 / 190
10.4.2 实现角色的物理动作 / 190
10.4.3 控制角色在不同物理动作下进行动画片段的过渡 / 192
10.5 相机的跟随 / 194
10.6 制作场景中的机关 / 195
10.6.1 制作地刺 / 195
10.6.2 制作砰击器 / 196
10.7 制作角色的生命值系统 / 199
10.8 制作场景中可拾取的物品 / 204
10.9 制作场景中敌人的AI系统 / 207
10.9.1 制作青蛙的AI系统 / 208
10.9.2 制作老鹰的AI系统 / 209
10.10 制作角色和敌人的伤害系统 / 212
10.10.1 制作角色的伤害系统 / 213
10.10.2 制作敌人的伤害系统 / 215
10.11 制作移动平台 / 215
10.12 制作游戏的音效 / 217
10.13 制作游戏的终点 / 218
10.14 本章总结 / 221
第 11章 游戏发布
11.1 游戏发布前的准备工作 / 223
11.1.1 下载发布平台的安装包 / 223
11.1.2 游戏发布的基本参数设置 / 225
11.2 将游戏发布到不同的平台 / 228
11.2.1 发布到Windows和macOS平台 / 231
11.2.2 发布到Android平台 / 232
11.2.3 发布到iOS平台 / 233
11.2.4 发布到WebGL平台 / 238
11.3 本章总结 / 239
1.1 使用Unity 3D开发的游戏 / 002
1.2 为什么要选择Unity 3D开发游戏 / 002
1.2.1 拥有海量素材的Unity商店 / 002
1.2.2 支持多种主流游戏发布平台 / 003
1.3 Unity 3D和虚幻4引擎的对比 / 003
1.4 本章总结 / 004
第 2章 Unity 3D基础的窗口、常识和组件
2.1 下载和安装Unity 3D / 006
2.2 Unity 3D的基础窗口 / 010
2.2.1 Project窗口 / 010
2.2.2 Scene窗口 / 012
2.2.3 Game窗口 / 014
2.3 Unity 3D的基本常识 / 014
2.3.1 游戏对象 / 015
2.3.2 游戏对象的父子关系结构 / 016
2.3.3 游戏素材资源的导入和导出 / 017
2.3.4 场景文件——场景的基本单位 / 019
2.3.5 Unity 3D基础的游戏对象 / 020
2.4 Unity 3D的常用组件 / 021
2.4.1 Transform组件 / 021
2.4.2 Rigidbody组件 / 021
2.4.3 Collider组件 / 022
2.4.4 Sprite Renderer组件 / 024
2.4.5 Camera 组件 / 025
2.4.6 Light组件 / 026
2.5 本章总结 / 027
第3章 场景搭建
3.1 2D游戏场景搭建的准备工作 / 029
3.2 Tile Palette——Tilemap的功能窗口 / 030
3.3 Tilemap Collider 2D——2D场景的Collider组件 / 035
3.4 本章总结 / 036
第4章 脚本和C#的基础语法
4.1 设置开发环境 / 038
4.1.1 下载Visual Studio和开发工具包 / 038
4.1.2 设置Unity 3D的编辑器 / 040
4.1.3 创建并添加脚本 / 040
4.2 变量 / 042
4.2.1 变量的类型 / 043
4.2.2 定义变量 / 043
4.2.3 算术运算符 / 044
4.2.4 变量的访问权限 / 045
4.3 数组 / 046
4.4 函数 / 048
4.5 条件判断语句 / 052
4.5.1 if语句 / 052
4.5.2 if...else和if...else if...else语句 / 055
4.5.3 switch语句 / 059
4.6 循环语句 / 060
4.6.1 while语句 / 060
4.6.2 do...while语句 / 062
4.6.3 for语句 / 063
4.7 本章总结 / 064
第5章 脚本的工作机制与Unity 3D 常用的函数和变量
5.1 面向过程和面向对象 / 066
5.1.1 如何面向对象 / 066
5.1.2 GetComponent函数 / 069
5.2 脚本的工作机制——生命周期函数 / 072
5.2.1 Awake和Start函数——初始化变量数值的函数 / 072
5.2.2 Update和FixedUpdate函数——更新游戏画面的函数 / 072
5.3 Unity 3D中常用的变量和函数 / 073
5.3.1 常用的变量 / 073
5.3.2 常用的函数 / 074
5.4 静态对象 / 079
5.5 常见的脚本错误和调试方法 / 080
5.5.1 C#的语法错误 / 081
5.5.2 对象没有进行初始化 / 081
5.5.3 无法添加脚本 / 081
5.6 本章总结 / 082
第6章 3D数学
6.1 笛卡儿坐标系和Vector对象 / 084
6.2 局部坐标系和世界坐标系 / 086
6.3 向量 / 087
6.3.1 什么是向量 / 088
6.3.2 向量的运算 / 089
6.3.3 向量的单位化 / 093
6.4 三角函数 / 094
6.5 本章总结 / 096
第7章 物理系统
7.1 游戏对象之间的碰撞检测 / 098
7.2 游戏对象之间的触发检测 / 099
7.3 Tag(标签) / 100
7.4 使用刚体组件控制游戏对象的位移 / 101
7.5 射线检测 / 103
7.6 综合案例——制作3D滚动球 / 104
7.6.1 控制小球的位移 / 106
7.6.2 实现小球和宝石的触发检测 / 106
7.6.3 更新玩家获得的分数 / 107
7.6.4 判断游戏的输赢 / 107
7.7 本章总结 / 109
第8章 Mecanim动画系统
8.1 使用Animation编辑窗口制作动画片段 / 111
8.2 使用Animator Controller(动画状态机)控制动画片段之间的过渡 / 117
8.2.1 设置控制动画片段过渡的过渡条件和过渡参数 / 117
8.2.2 Animator Controller中用于控制动画片段播放时机的3种状态——Entry、AnyState和Exit / 122
8.3 使用Blend Tree(混合树)轻松实现动画片段的自由过渡 / 124
8.3.1 1D Blend Tree / 125
8.3.2 2D Blend Tree / 127
8.4 综合案例——制作2D角色控制器 / 129
8.4.1 场景搭建 / 130
8.4.2 制作角色的动画片段 / 131
8.4.3 控制角色的奔跑 / 132
8.4.4 控制角色的转向 / 134
8.4.5 控制角色的跳跃 / 135
8.4.6 创建动画片段的过渡条件 / 136
8.5 本章总结 / 137
第9章 UI系统
9.1 常用的UI组件 / 139
9.1.1 Image组件——显示图片 / 139
9.1.2 Text组件——显示文字 / 148
9.1.3 Rect Transform组件——设置UI组件的位置、旋转角度、缩放比例 / 153
9.1.4 Button组件——游戏中的按钮 / 154
9.1.5 Slider组件——调节游戏音量 / 155
9.1.6 Toggle组件——游戏的功能开关 / 156
9.1.7 Dropdown组件 / 157
9.1.8 自动布局组件——设置窗口布局 / 158
9.2 矩形工具 / 159
9.3 Canvas(画布)游戏对象——控制所有UI组件的显示方式 / 161
9.3.1 Canvas组件——控制所有UI组件的渲染顺序和渲染方式 / 161
9.3.2 Anchor和Canvas Scaler——控制UI组件在不同分辨率下的自适应 / 165
9.4 游戏UI的过渡动画 / 171
9.5 Audio Source组件——游戏BGM和UI音效 / 176
9.5.1 播放音效 / 176
9.5.2 Audio Source组件和UI组件的综合运用 / 177
9.6 游戏UI阶段练习案例——制作角色血槽 / 179
9.7 本章总结 / 182
第 10章 2D平台跳跃游戏
10.1 脚本的命名规范 / 184
10.2 制作游戏主菜单界面 / 184
10.3 场景搭建 / 189
10.4 制作2D角色控制器 / 189
10.4.1 制作角色的动画片段 / 190
10.4.2 实现角色的物理动作 / 190
10.4.3 控制角色在不同物理动作下进行动画片段的过渡 / 192
10.5 相机的跟随 / 194
10.6 制作场景中的机关 / 195
10.6.1 制作地刺 / 195
10.6.2 制作砰击器 / 196
10.7 制作角色的生命值系统 / 199
10.8 制作场景中可拾取的物品 / 204
10.9 制作场景中敌人的AI系统 / 207
10.9.1 制作青蛙的AI系统 / 208
10.9.2 制作老鹰的AI系统 / 209
10.10 制作角色和敌人的伤害系统 / 212
10.10.1 制作角色的伤害系统 / 213
10.10.2 制作敌人的伤害系统 / 215
10.11 制作移动平台 / 215
10.12 制作游戏的音效 / 217
10.13 制作游戏的终点 / 218
10.14 本章总结 / 221
第 11章 游戏发布
11.1 游戏发布前的准备工作 / 223
11.1.1 下载发布平台的安装包 / 223
11.1.2 游戏发布的基本参数设置 / 225
11.2 将游戏发布到不同的平台 / 228
11.2.1 发布到Windows和macOS平台 / 231
11.2.2 发布到Android平台 / 232
11.2.3 发布到iOS平台 / 233
11.2.4 发布到WebGL平台 / 238
11.3 本章总结 / 239
猜您喜欢