计算机类专业教育 > 程序设计类

Unity官方案例精讲

书号:978113202354 套系名称:无

作者:Unity Technologies 出版日期:2015-04-01

定价:96.00 页码 / 开本:416 /16

策划编辑:周欣 孟欣 责任编辑:孟欣

适用专业:无 适用层次:高等院校

最新印刷时间:

资源下载
教学课件(暂无) 教学素材(暂无)
习题答案(暂无) 教学案例(暂无)
教学设计(暂无) 教学视频(暂无)
内容简介 前言 目录 作者介绍 图书特色

  •         作为Unity引擎的辅助学习资料,Unity公司提供了大量的官方示例和演示程序供开发者参
    考,这些程序示例涵盖了各个主要游戏类型的程序架构,以及Unity引擎本身的几乎所有重要功
    能,极富参考价值。可惜的是,Unity公司在提供这些程序示例的同时,并没有给出相应的详细
    文字讲解和说明。

            本书即从这些示例中精心挑选了若干个具有代表性的实例进行详细讲解,在每个实例中都
    重点切入一个或几个Unity引擎的核心功能点,进而以接近于现场教学的方式,引导读者一边阅
    读、一边动手,通过实际操作来掌握学习内容。在讲解过程中,本书还对与Unity编程相关的重
    要知识加以特别关注和讲解,使读者在实践中深刻理解Unity引擎的原理和使用方法,真正做到
    融会贯通。

  • 目 录
    第 1 章 C# 脚本编程基础 ................... 1
    1.1 配置脚本开发环境 ......................................2
    1.1.1 配置 Visual Studio .........................2
    1.1.2 配置 MonoDevelop ........................6
    1.1.3  脚本的创建 ...................................8
    1.2 变量、数组与函数 ......................................9
    1.2.1 变量的声明与使用 ........................9
    1.2.2 数组的声明与使用 ......................11
    1.2.3 函数的声明与使用 ......................12
    1.3 语句、表达式与运算符 ......................... 14
    1.3.1 语句 ..............................................14
    1.3.2 表达式 ..........................................16
    1.3.3 运算符 ..........................................16
    1.4 协程(Coroutine) ..................................... 18
    1.5 类与类的使用 ............................................. 21
    1.6 输出调试信息 ............................................. 22
    1.7 C# 脚本示例 ................................................ 22
    1.8 Unity 脚本事件执行顺序 ....................... 26
    1.9 脚本模板与脚本编码 .............................. 28
    1.10 Unity 5 脚本升级 .................................... 29
    第 2 章 JavaScript 脚本编程基础 ..... 31
    2.1 JavaScript 脚本编程基础 ....................... 32
    2.2 变量、数组与函数 ................................... 32
    2.2.1 变量 ..............................................32
    2.2.2 数组 ..............................................33
    2.2.3 函数 ..............................................35
    2.3 表达式、语句与运算符 ......................... 37
    2.4 JavaScript 脚本示例 ................................. 39
    2.5 JavaScript 脚本与 C# 脚本的交互 ...... 41
    第 3 章 星际航行游戏——JSpace Shooter .................. 45
    3.1 导入模型、贴图和材质 ......................... 46
    3.1.1 导入资源包文件 ..........................46
    3.1.2 创建飞船对象 ..............................49
    3.1.3 设置摄像机参数 ..........................50
    3.1.4 添加图片背景 ..............................50
    3.1.5 添加粒子背景效果 ......................52
    3.2 编写脚本代码 ............................................. 53
    3.2.1 键盘控制飞船移动 ......................53
    3.2.2 实现射击行为(Shot) ................57
    3.2.3 添加小行星(Asteroid) ..............61
    3.3 添加音频 ......................................................

    69
    3.3.1 添加碰撞爆炸音频 ......................69
    3.3.2 添加飞船射击音频 ......................69
    3.3.3 添加背景音效 ..............................70
    3.4 添加计分文本 ............................................. 71
    3.4.1 添加计分 Text 组件 .....................71
    3.4.2 添加计分功能 ..............................72
    3.5 游戏结束与重新开始 .............................. 74
    3.5.1 添加游戏结束的 Text 组件 .........74
    3.5.2 添加结束游戏的功能 ..................75
    3.5.3 添加重新开始的 Text 组件 .........76
    3.5.4 添加重新开始游戏的功能 ..........77
    第 4 章 潜行游戏——Stealth ........... 79
    4.1 加载场景 ................................................... 80
    4.1.1 创建场景 ......................................80
    4.1.2 添加场景元素 ..............................80
    4.1.3 添加灯光 ......................................82
    4.1.4 烘焙场景 Lightmaps ....................84
    4.1.5 添加 Tag 管理类 ..........................87
    4.1.6 添加转场效果 ..............................87
    4.1.7  添加游戏控制器GameController ............................89
    4.1.8 添加 CCTV Camera .....................92
    4.1.9 添加 Laser Grid ............................94
    4.2 导入和配置人物角色 .............................. 97
    4.2.1 导入角色模型 ..............................97
    4.2.2 设置角色动画 ..............................98
    4.2.3 创建动画参数管理类 ..................99
    4.2.4 添加控制角色运动功能 ............101
    4.2.5 添加控制摄像机跟随的功能 ....104
    4.3 主角与环境交互 ......................................107
    4.3.1 添加控制开关台的功能 ............107
    4.3.2 添加管理房间钥匙卡的功能 ....110
    4.3.3 添加控制单开门的功能 ............112
    4.3.4 添加控制双开门的功能 ............115
    4.4 主角与敌人交互 ......................................116
    4.4.1 添加管理角色生命值的功能 ....116
    4.4.2 添加敌人角色模型 ....................118
    4.4.3  添加敌人自动搜索角色的功能 ..............................120
    4.4.4 添加控制敌人运动功能 ............123
    4.4.5 添加控制敌人射击的功能 ........126
    第 5 章 粒子碰撞回调功能——Particle Callbacks .............. 129
    5.1 Shuriken 粒子系统介绍 ........................130
    5.2 加载场景 ....................................................131
    5.3 创建粒子效果 ...........................................134
    5.3.1 创建燃烧时冒烟的粒子效果 .....134
    5.3.2  创建燃烧时火星四溅的粒子效果 ...............................139
    5.3.3 火焰大小控制 ............................140
    5.3.4 创建洒水的粒子效果 ................143
    5.3.5 控制洒水位置 ............................146
    5.4 碰撞回调函数解析 .................................148
    5.5 粒子碰撞回调函数应用案例 ..............153
    5.5.1 水滴与桶盖碰撞的处理 ............153
    5.5.2  实现水滴与燃烧桶碰撞熄灭火焰的效果 .........................155
    第 6 章   Mecanim 动画系统介绍——Mecanim Example Scenes ..... 159
    6.1 Mecanim 动画系统简介 .......................160
    6.1.1 Mecanim 动画系统的工作流 ....160
    6.1.2 Mecanim 动画系统中的术语 ....160
    6.2 Mecanim 动画系统常用 API 介绍 ....162
    6.2.1 与动画状态控制相关的 API ......162
    6.2.2  Character Controller(角色控制器) .........................163
    6.3 加载场景 ....................................................164
    6.4 Animator Controller 场景 .....................165
    6.4.1 创建场景 ....................................166
    6.4.2 创建动画控制器 ........................167
    6.4.3 角色运动控制 ............................169
    6.4.4 摄像机运动控制 ........................171
    6.4.5 添加提示文字 ............................173
    6.5 Crowd Simulation 场景 .........................174
    6.5.1 创建场景 ....................................174
    6.5.2 创建动画控制器 ........................175
    6.5.3 生成人群 ....................................176
    6.5.4 控制人群随机运动 ....................177
    6.6 Inverse Kinematics Example 场景 .....179
    6.6.1 创建场景 ....................................179
    6.6.2 IK 功能实现 ...............................180
    6.7 Teddy Bear Bazooka 场景 .....................183
    6.7.1 创建场景与动画控制器 ............183
    6.7.2 Taddy 对象随机运动的控制 .....185
    6.7.3 抬放火箭炮控制 ........................187
    6.7.4 射击的控制 ................................191
    6.8 Nav Mesh Example 场景 .......................192
    6.8.1 创建场景 ....................................192
    6.8.2 创建动画控制器 ........................194
    6.8.3 创建导航网格 ............................198
    6.8.4 导航网格的寻路实现 ................199
    第 7 章   Mecanim 系统高级课程——Mecanim GDC2013 Sample  Project .. 205
    7.1 加载场景 ....................................................206
    7.1.1 创建场景 ....................................206
    7.1.2  添加地板(Floor)和障碍物
    (Obstacles) .................................206
    7.1.3 添加圆木(Log)与冰棒
    (Popsicle) ...................................208
    7.1.4 添加角色(Player) ....................211
    7.1.5 添加非玩家角色 ........................217
    7.1.6 添加子弹对象(Bullet) ............220
    7.2 角色运动的控制 ......................................220
    7.2.1 由方向键控制角色运动 ............220
    7.2.2 摄像机移动的控制 ....................223
    7.2.3 实现角色 Slide、Vault 的动作 .224
    7.2.4 实现角色抱着圆木运动 ............228
    7.2.5 角色从边界掉落的控制 ............232
    7.3 NPC 巡逻与攻击的控制 .......................233
    7.3.1 NPC 巡逻的控制 .......................233
    7.3.2 NPC 攻击的控制 .......................235
    7.4 角色受伤的控制 ......................................240
    7.5 动画录制与回放 ......................................243
    第 8 章 移动设备输入控制——Star Trooper................ 249
    8.1 加载场景 ....................................................250
    8.1.1 创建场景 ....................................250
    8.1.2 修改工程配置 ............................251
    8.1.3 添加模型 ....................................253
    8.1.4  添加旋转 SunRing 对象的
    功能 .............................................255
    8.2 使用加速度计控制速度 .......................255
    8.2.1 移动设备输入控制的 API ........255
    8.2.2 飞船运动控制 ............................258
    8.3 使用触摸屏控制射击 ...................260
    8.4 摄相机跟随控制 ...........................262
    第 9 章 人物换装——Character  Customization .................... 267
    9.1 加载场景 ....................................................268
    9.1.1 创建场景 ....................................268
    9.1.2 添加场景元素 ............................269
    9.2 AssetBundle 相关 API 介绍 .................270
    9.3 打包换装部件 ...............................273
    9.3.1 创建角色生成器插件 ................273
    9.3.2 创建角色换装的基础AssetBundle ...............................276
    9.3.3 创建角色肢体部件的AssetBundle ...............................278
    9.3.4  创建材质与角色肢体部件AssetBundle 的映射关系 ...........281
    9.4 加载换装部件 ...........................................287
    9.4.1 角色生成器类CharacterGenerator .....................287
    9.4.2 角色生成框架 ............................295
    9.4.3 换装控制界面 ............................297
    第 10 章  第三人称射击游戏——Third  Person MMO Controller ........301
    10.1 加载场景 ..................................................302
    10.2 添加场景元素 ........................................302
    10.2.1 添加背景元素 ..........................302
    10.2.2 添加主角模型 ..........................303
    10.2.3 添加 NPC 模型 ........................304
    10.3 第三人称角色运动的控制 ................305
    10.3.1 添加控制角色运动的功能 ......305
    10.3.2 添加控制角色动画的功能 ......311
    10.4 摄像机运动控制 ...................................317
    10.5 NPC 对象标签显示 ..............................323
    第 11 章  赛车游戏——Car Tutorial .... 327
    11.1 加载场景 ..................................................328
    11.1.1 创建场景 ..................................328
    11.1.2 场景元素介绍 ..........................329
    11.2 加载赛车资源 ........................................331
    11.2.1 载入赛车模型 ..........................331
    11.2.2 设置赛车阴影效果 ..................332
    11.2.3 摄像机的移动控制 ..................333
    11.3 赛车控制 ..................................................335
    11.3.1 为赛车添加 WheelCollider .....335
    11.3.2 赛车前进与转弯的控制 ..........337
    11.3.3 赛车车轮转动与转向效果实现 ..................................341
    11.3.4 赛车倒车与刹车效果实现 ......342
    11.3.5 赛车档位的控制 ......................348
    11.4 物理交互 ..................................................350
    11.4.1 赛车碰撞后翻车效果的实现 ..350
    11.4.2 实现赛车行驶中刹车时滑痕
    的效果 ......................................352
    第 12 章  原生 2D 系统游戏——2D Platformer ....... 357
    12.1 加载场景 ..................................................358
    12.1.1 创建场景 ..................................358
    12.1.2 添加场景元素 ..........................359
    12.2 创建 Swan(天鹅)动画 ..................363
    12.2.1 生成天鹅多个的飞行姿态 ......364
    12.2.2 创建 Sprite Animation .............365
    12.2.3 天鹅随机飞动的实现 ..............366
    12.3 创建 Mr. Bean(小豆人)动画 .......369
    12.3.1 创建 Mr.Bean 对象 ..................369
    12.3.2 为 Mr.Bean 添加动画控制器 ..370
    12.4 添加 2D 物理碰撞功能 ......................372
    12.4.1 为主角和前景元素添加 2D 物理碰撞功能 ........................372
    12.4.2 添加 2D 物理碰撞中的注意事项 ...............................374
    12.5 游戏操控 ..................................................375
    12.5.1 主角运动的控制 ......................375
    12.5.2 主角射击的控制 ......................378
    12.5.3 主角与敌人对象交互的功能 ..379
    12.5.4 游戏暂停的控制 ......................382
    第 13 章  新 uGUI 系 统 应 用 案 例 ——Nightmares................. 383
    13.1 新 uGUI 系统介绍 ................................384
    13.2 加载场景 ..................................................388
    13.2.1 创建场景 ..................................388
    13.2.2 添加角色对象 ..........................389
    13.2.3 添加控制角色运动功能 ..........390
    13.2.4 配置摄像机参数 ......................393
    13.2.5 创建敌人对象 ..........................395
    13.3 角色生命值管理 ...................................397
    13.3.1 创建生命状态的 GUI 元素 .....397
    13.3.2 角色生命值管理 ......................401
    13.4 角色射击和敌人生命值管理 ...........403
    13.4.1 角色射击的实现 ......................403
    13.4.2 敌人生命值管理 ......................406
    13.5 游戏分值的显示与敌人对象的动态创建.............408
    13.5.1 游戏分值显示 ..........................408
    13.5.2 敌人对象的动态创建 ..............409
    13.6 结束游戏 ..............................................412