热门关键字:  听力密码  单词密码  新概念美语  巧用听写练听力  零起点
图书信息

Unity应用开发与实战(微课版)

中国水利水电出版社
    【作 者】主 编 程永恒 【I S B N 】978-7-5170-9864-5 【责任编辑】石永峰 【适用读者群】本专通用 【出版时间】2021-09-20 【开 本】16开 【装帧信息】平装(光膜) 【版 次】第1版第1次印刷 【页 数】312 【千字数】474 【印 张】19.5 【定 价】59 【丛 书】普通高等教育新工科人才培养规划教材(虚拟现实技术方向) 【备注信息】
图书详情

    随着Unity的发展,Unity已经从一个轻量级的游戏引擎变成一个成熟的综合性引擎,所涵盖的领域也越来越多,包括游戏、VR/AR、电影与动画、建筑工程等各个方面。本书从基础入手,结合案例开发,使读者掌握基础的游戏开发。本书共8章,第1章至第4章为基础知识部分,主要介绍Unity的基本操作、基本概念,物理系统和UI界面系统等。第5章是两个小案例游戏,一个是小球滚动,另一个是自行车控制,作为入门小游戏开发,并融合前面所学的知识。接下来第6章是一个Unity经典案例游戏——星际飞船射击游戏,综合了Unity的大部分功能,完整地介绍Unity游戏开发流程。第7章动画系统属于Unity高级开发技术内容,主要了解人物的动画控制。第8章是一个相对复杂的综合性游戏,结合了人物、寻路追踪、敌人设置等功能。本书案例的选择都具有较强的代表性,通过本书的知识、案例学习,能具备基本游戏项目开发的能力。为了方便师生使用,本教材配有电子课件(PPT)以及案例源文件,另外读者可扫描书中二维码来获得微课资源进行学习。

    本书适合有一定C#程序设计基础的初学者入门时使用,尤其适合作为高校数字媒体技术专业以及虚拟现实技术开发等专业的Unity入门教材。

    本书配套资源可以从中国水利水电出版社网站(www.waterpub.com.cn)或万水书苑网站(www.wsbookshow.com)免费下载。

    面向基础—以少学时、有C# 编程基础的读者作为学习对象

    内容实用—采用“案例驱动”的编写方式精心设计教学内容

    提升技能—掌握Unity 基础应用为前提,提升综合开发能力

    资源丰富—提供教学大纲、课件、微课、源代码等配套资源

    前 言

    Unity引擎自创建以来,取得了长足的发展,迄今为止,能够为开发者提供超过20个平台创作和优化内容,在同类型的引擎产品中市场占有率第一。尤其在VR、AR领域,Unity能同时和各大厂商、各大合作伙伴一起更新迭代,确保在最新的版本和平台上提供优化支持服务。

    Unity在国内也受到了广大开发者的喜爱,在网上各大论坛都有关于Unity的技术交流,也出现了很多关于Unity的学习资料和教学视频。很多高校也逐渐开设了Unity的课程,越来越多的初学者想要接触Unity,了解Unity。

    市面上也有很多Unity的书籍和教材,但大都不适合当前的职业教育。本教材主要针对职业教育的Unity基础课程来设计。第一,篇幅的选取。因为Unity涵盖的内容太丰富,如果是作为基础课程入门,结合课时量的考虑,讲授的内容要有一定的取舍。第二,案例的选取。结合职业教育的特点,在讲授了基本的概念性内容后,可以以案例为驱动进行案例教学,来融合之前的知识点,本教材的案例选取难度适中,循序渐进,在案例讲授中逐步提高学生的开发水平,从而达到Unity开发入门的阶段。第三,重难点突出。一个完整的Unity游戏项目,是艺术与技术的结合。在Unity引擎的各项技术中,虽然不包括建模功能,但有关于光照、渲染、粒子特效等计算机美术方面的内容。本教材的侧重点在于开发入门,计算机美术方面的内容没有过多介绍,读者在了解了基础开发后,可以自然地将计算机美术方面的内容融入到开发中去。

    本书面向的是有一定C#语言编程基础的同学,通过学习本教材,掌握基础的Unity项目开发技术,也可以为后续的基于Unity引擎的VR、AR开发打下基础。本教材中Unity引擎其他方面还未讲授到的内容,可以通过查看Unity的官方文档等内容自主学习。

    本书的编者中既有高校教学经验丰富的“双师型教师”,也有企业一线工程师。本书由程永恒任主编,负责全书的统稿、修改、定稿工作,段雪琦、黄林荃任副主编。主要编写人员分工如下:程永恒编写了第1、2、3、5、7、8章,黄林荃编写了第4章,段雪琦编写了第6章。其中鲁娟、夏敏老师以及一线的Unity企业开发人员李晓明也参与了编写,并为本书的编写提供了不少帮助。

    本书的案例部分有完整的程序和导出资源包,并配套有教学资源库,资源库中的内容主要由微课、案例文档,PPT等内容组成,帮助读者在学习过程中更好地掌握知识,也可以为教学提供辅助。

    由于编者的水平所限,书中难免有错误和疏漏的地方,恳请广大读者批评指正。

    编 者

    2021年6月

    前言

    第1章 Unity概述 1
    1.1 下载与安装 1
    1.1.1 下载Unity 1
    1.1.2 安装Unity 3
    1.1.3 多版本共存 4
    1.2 初次运行 4
    1.2.1 新建工程 4
    1.2.2 打开工程 6
    1.2.3 学习资料页面 7
    1.3 场景视图窗口 7
    1.3.1 场景辅助线框 8
    1.3.2 修改物体的位置 10
    1.3.3 场景视图工具条 16
    1.4 辅助线框菜单 19
    1.4.1 辅助线框 20
    1.4.2 辅助图标 21
    1.4.3 高亮和显示线框 21
    1.4.4 内置组件的显示 22
    1.5 工具栏 22
    1.6 游戏视图窗口 22
    1.6.1 播放和暂停 23
    1.6.2 游戏视图的工具条 24
    1.6.3 自定义Unity的开发环境 25
    1.7 层级窗口 26
    1.7.1 父子关系 27
    1.7.2 将物体设置为子物体 27
    1.7.3 同时编辑多个场景 28
    1.8 工程窗口 28
    1.8.1 基本功能 28
    1.8.2 搜索功能 29
    1.8.3 快捷键 30
    1.9 检视窗口 31
    1.9.1 检视物体和选项 32
    1.9.2 添加、删除组件 32
    1.9.3 复制组件或组件参数 33
    1.9.4 查看脚本参数 33
    1.9.5 查看素材 34
    1.9.6 工程设置 35
    1.9.7 修改组件的顺序 36
    1.10 Unity的常用快捷键 37
    1.11 动手搭建游戏场景 39
    1.12 小结 44
    第2章 开始Unity开发 45
    2.1 场景 45
    2.2 内置的游戏物体 46
    2.2.1 立方体 47
    2.2.2 球体 48
    2.2.3 胶囊体 48
    2.2.4 柱体 49
    2.2.5 平面 49
    2.2.6 四边形 50
    2.3 组件 50
    2.3.1 变换组件 51
    2.3.2 其他组件 51
    2.4 使用组件 52
    2.4.1 添加组件 52
    2.4.2 编辑组件 53
    2.4.3 组件选项菜单 54
    2.4.4 测试组件参数 54
    2.5 最基本的组件——变换组件 55
    2.5.1 属性列表 55
    2.5.2 编辑变换组件 55
    2.5.3 父子关系 56
    2.5.4 非等比缩放的问题 56
    2.5.5 关于缩放和物体大小的问题 57
    2.5.6 变换组件的其他注意事项 57
    2.6 脚本与组件操作 58
    2.6.1 创建和使用脚本 58
    2.6.2 初识脚本 59
    2.6.3 用脚本控制游戏物体 60
    2.6.4 变量与检视窗口 60
    2.6.5 通过组件控制游戏物体 61
    2.6.6 访问其他游戏物体 62
    2.6.7 常用的事件函数 65
    2.6.8 创建和销毁物体 67
    2.6.9 使游戏物体或组件无效化 68
    2.7 脚本组件的生命期 68
    2.8 标签 71
    2.8.1 为物体设置标签 72
    2.8.2 创建新的标签 72
    2.9 静态物体 73
    2.10 层级 74
    2.10.1 新建层级 74
    2.10.2 为物体指定层级 74
    2.11 预制体 75
    2.11.1 使用预制体 76
    2.11.2 通过游戏物体实例修改预制体 76
    2.12 工程的保存 77
    2.12.1 保存场景 77
    2.12.2 保存工程 77
    2.13 输入 80
    2.13.1 传统输入设备与虚拟输入轴 80
    2.13.2 移动设备的输入 83
    2.13.3 VR输入概览 85
    2.14 方向与旋转的表示方法 86
    2.14.1 欧拉角 86
    2.14.2 四元数 87
    2.14.3 直接使用四元数 88
    2.14.4 在动画中表示旋转 89
    2.15 灯光 90
    2.15.1 渲染路径 91
    2.15.2 灯光的种类 91
    2.15.3 灯光设置 93
    2.15.4 使用灯光 95
    2.16 摄像机 96
    2.16.1 属性介绍 96
    2.16.2 细节与渲染路径 97
    2.16.3 清除标记 98
    2.16.4 剪切面 99
    2.16.5 视图矩形 99
    2.16.6 渲染贴图 100
    2.16.7 显示目标 101
    2.16.8 其他提示 101
    2.17 小结 101
    第3章 物理系统 102
    3.1 概述 102
    3.1.1 刚体 103
    3.1.2 休眠 103
    3.1.3 碰撞体 103
    3.1.4 物理材质 104
    3.1.5 触发器 104
    3.1.6 碰撞与脚本行为 104
    3.1.7 对碰撞体按照处理方式分类 105
    3.1.8 碰撞事件触发表 106
    3.1.9 物理关节 106
    3.1.10 角色控制器 107
    3.2 刚体 107
    3.2.1 属性介绍 108
    3.2.2 父子关系 109
    3.2.3 脚本关系 109
    3.2.4 刚体和动画 109
    3.2.5 组合碰撞体 109
    3.2.6 连续碰撞检测 110
    3.2.7 比例和单位的重要性 111
    3.2.8 其他方面 111
    3.3 盒子碰撞体 112
    3.4 胶囊碰撞体 112
    3.5 网格碰撞体 113
    3.5.1 属性 114
    3.5.2 限制条件和解决方法 114
    3.5.3 其他方面 114
    3.6 球体碰撞体 115
    3.7 地形碰撞体 116
    3.8 物理材质 116
    3.9 固定关节 117
    3.10 铰链关节 118
    3.11 弹簧关节 120
    3.12 角色控制器 121
    3.12.1 属性 122
    3.12.2 小技巧 122
    3.13 常量力 123
    3.14 车轮碰撞体 124
    3.14.1 属性 124
    3.14.2 详细说明 125
    3.14.3 具体的设置方法 125
    3.14.4 碰撞体的外形问题 126
    3.14.5 车轮阻尼曲线 126
    3.14.6 小技巧 126
    3.15 车辆创建入门 127
    3.15.1 创建车辆的基本框架 127
    3.15.2 控制车辆 128
    3.15.3 车轮的外观 129
    3.16 小结 131
    第4章 图形用户界面——UI 132
    4.1 UGUI图形用户界面系统 132
    4.2 UGUI控件系统介绍 133
    4.2.1 Canvas画布 133
    4.2.2 Text文本 135
    4.2.3 Image图像 136
    4.2.4 Button按钮 137
    4.2.5 Toggle开关 139
    4.2.6 Slider滑动条 141
    4.2.7 Scrollbar滚动条 142
    4.2.8 Input Field文本框 144
    4.2.9 Dropdown下拉菜单 146
    4.3 Rect Transform矩形变换 147
    4.3.1 Pivot轴心点 147
    4.3.2 Anchors锚框 148
    4.4 UGUI界面布局实例—音乐
    播放器UI 149
    4.5 小结 158
    第5章 综合小案例 159
    5.1 小球碰碰碰 159
    5.1.1 场景准备 160
    5.1.2 转动的立方体 161
    5.1.3 小球滚动 164
    5.1.4 得分显示与游戏结束 165
    5.1.5 摄像头的跟随 168
    5.2 自行车控制 169
    5.2.1 资源导入 169
    5.2.2 车轮控制 170
    5.2.3 车把控制 174
    5.2.4 车辆前进 174
    5.2.5 摄像头跟随 175
    5.3 小结 175
    第6章 实战案例:星际飞船游戏 176
    6.1 创建游戏区域 176
    6.1.1 创建项目 176
    6.1.2 导入资源 177
    6.1.3 添加游戏背景 177
    6.2 制作飞船对象 180
    6.2.1 创建飞船对象 180
    6.2.2 实现键盘控制飞船移动 183
    6.3 制作子弹 186
    6.3.1 创建子弹 186
    6.3.2 发射子弹 189
    6.4 制作行星 191
    6.4.1 创建行星 191
    6.4.2 行星碰撞事件 193
    6.4.3 行星运动 195
    6.4.4 随机生成行星 196
    6.5 制作敌机 202
    6.5.1 创建敌机 202
    6.5.2 敌机Z字运动 203
    6.5.3 制作敌机炮弹 205
    6.5.4 随机生成敌机 212
    6.5.5 游戏优化 214
    6.6 添加音频 215
    6.6.1 添加背景音 215
    6.6.2 添加飞船子弹发射音效 216
    6.6.3 添加敌机炮弹发射音效 216
    6.6.4 添加行星爆炸音效 217
    6.6.5 添加敌机爆炸音效 218
    6.6.6 添加飞船爆炸音效 218
    6.7 制作计分系统 218
    6.7.1 创建计分文本控件 218
    6.7.2 击中行星后得分 219
    6.7.3 击中敌机后得分 220
    6.8 判断游戏结束 221
    6.8.1 创建游戏结束文本控件 221
    6.8.2 游戏结束 223
    6.9 重新开始游戏 225
    6.10 发布游戏 227
    6.11 小结 228
    第7章 Mecanim动画系统 229
    7.1 Mecanim动画系统简介 229
    7.1.1 Mecanim动画系统的工作流 229
    7.1.2 Mecanim动画系统中的术语 230
    7.2 Mecanim动画系统常用API介绍 231
    7.2.1 与动画状态控制相关的API 231
    7.2.2 Character Controller(角色控制器) 232
    7.3 Animator Controller 234
    7.3.1 创建场景 235
    7.3.2 创建动画控制器 236
    7.3.3 角色运动控制 239
    7.3.4 摄像机运动控制 241
    7.3.5 添加提示文字 243
    7.4 Crowd Simulation场景 243
    7.4.1 创建场景 243
    7.4.2 创建动画控制器 244
    7.4.3 生成人群 245
    7.4.4 人群随机运动的控制 247
    7.5 Inverse Kinematics Example场景 249
    7.5.1 创建场景 250
    7.5.2 IK功能实现 251
    7.6 Teddy Bear Bazooka场景 255
    7.6.1 创建场景与动画控制器 255
    7.6.2 Teddy对象随机运动的控制 257
    7.6.3 抬放火箭炮控制 259
    7.6.4 射击的控制 263
    7.7 小结 265
    第8章 实战案例:噩梦射击游戏 266
    8.1 分析需求及准备资源 266
    8.1.1 资源准备 266
    8.1.2 加载场景 267
    8.2 游戏角色 269
    8.2.1 添加游戏主角 269
    8.2.2 游戏主角的运动设置 270
    8.2.3 角色控制运动 270
    8.2.4 摄像机跟随 272
    8.3 敌人的生成与配置 273
    8.3.1 添加第一个敌人 273
    8.3.2 添加运动脚本 276
    8.4 设置主角生命值 277
    8.4.1 主角的血条 277
    8.4.2 主角生命值变化 279
    8.4.3 主角受到伤害 281
    8.5 射杀敌人 283
    8.5.1 枪的设置 284
    8.5.2 开枪射击脚本 285
    8.5.3 敌人被攻击 288
    8.5.4 更多敌人 291
    8.6 得分系统 295
    8.7 游戏结束与重启 297
    8.7.1 游戏结束图文设置 297
    8.7.2 结束画面的动画控制 298
    8.7.3 游戏结束的脚本 301
    8.7.4 游戏的重启 301
    8.8 小结 302
    参考文献 303
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册