欢迎来到中国铁道出版社有限公司官网!
$itImage.title$
$itImage.title$
$itImage.title$

Unity 5.X从入门到精通

书      号:9787113210472

丛  书 名:

作      者:Unity Technologies

译      者:

开      本:大16

装      帧:平装

正文语种:

出  版 社:中国铁道出版社有限公司

定      价:158

  • 内容简介

    本书基于Unity 5.0软件及以上版本,对Unity 5 中的大量图形改进和扩展的编辑器功能集进行讲解。另外,对Unity Cloud Build的使用进行详细介绍,使开发者通过云进行游戏和应用开发。
    为了使Unity 3D在中国得到更好的发展,作为官方唯一的配备用书,本书对原先的4.X进行完美升级。Unity 5 引擎支持包括 Mac OS X、安卓、iOS、Windows 等在内的23个平台发布。目前,利用Unity游戏引擎开发的游戏终端有手机、平板和台式机等。有多所高校购买了Unity软件,并在高校的课程中开始讲授。
    本书适用于对Unity 感兴趣的读者使用,也可作为从事Unity 3D 工作的工作人员的参考书,更适用于Unity 培训的学校或者机构使用。
    全书配套资源下载地址:answers.china.unity3d.com/unity3d_courses。
  • 前言

    时下,中国游戏产业正呈现出一片欣欣向荣的繁荣景象。截至2015年上半年,中国游戏市场实际销售收入达到605.1亿元人民币,同比增长21.9%。然而,随着游戏版本不断推陈出新,当下越来越多的游戏已经无法满足广大消费者的需求。玩家更青睐于画面精良,玩法新颖,安装包小巧,游戏加载快的高品质游戏。
    另外,移动平台游戏的潜力仍在持续发展。据统计,仅2015年上半年,中国移动游戏市场实际销售收入就高达209.3亿元人民币,同比增长67.2%,占游戏总销售收入的34.6%。移动游戏俨然成为当下游戏市场的一支生力军。在这种大环境下,更多个人开发者开始成立游戏工作室独立制作游戏,大型游戏公司则需要通过快速开发与更新自身的游戏产品,使自己立于不败之地。
    当然,我们同样不能忽略VR产业的崛起。伴随着Oculus和Morpheus(现更名为:PlayStation VR)等一系列虚拟现实设备的发展,用户可以最为真实的体验到3D虚拟环境。而像Google CardBoard和三星Gear VR等“Mobile VR”设备的出现,则使得消费者能以非常少的花销通过手机来体验VR世界。作为全球第一个支持虚拟现实设备的交互式引擎,大批开发者被其吸引,投身VR项目产品的研发之中。预计到2017年,将会有超过1 300万台的VR硬件产出,2020年更会超出5 000万台,总市值高达30亿美元。
    面对这样的局面,对于广大开发者既是一次机遇,也是一次挑战。如何快速高效的开发出成熟稳定的商业项目,以满足用户高标准的需求,已成为开发商们必须面对的重要课题。
    Unity引擎便是在这样的背景下被广大中国开发者熟知。Unity是由Unity Technologies公司开发的专业虚拟交互式引擎。在全球范围内,Unity占据全功能游戏引擎市场45%的份额,居全球首位。Unity引擎制作的游戏吸引了全球6亿多游戏玩家的使用。用Unity创作的应用和游戏目前安装量高达250亿余个。
    相比于其他引擎,Unity最大的特点便是其多平台开发。在5.2最新版本引擎中,现已支持包括Windows、Mac OS X、iOS、Android、PlayStation 3、PlayStation 4、PlayStation Vita、Xbox 360、Xbox ONE、Wii U,Windows Store、Windows Phone、Oculus Rift、Gear VR、Web GL和Web Palyer等在内的23个平台,用户只需进行一次开发,便可以发布至以上所提到的主流平台中。
    Unity引擎不仅支持C#、JavaScript两种脚本语言,同时还支持几乎所有美术资源文件格式。特别需要指出的是,Unity引擎还提供了一个网上资源商店(Asset Store),用户可以在这个平台上购买和销售包括3D模型、材质贴图、脚本代码、音效和UI界面扩展插件等Unity相关资源。通过Unity引擎,开发者可以在短时间内制作出一款高质量的商业项目。也可以通过Asset Store销售自己制作的产品,获得利润。
    更为难能可贵的是,Unity同时拥有一个资源分享与知识问答的交流平台(https://unity3d.com/learn),包括论坛、博客、在线视频等,以此帮助开发者更为便捷的了解Unity引擎。
    伴随着Unity 5的正式发布,Unity这款虚拟交互式引擎工具也进入新的发展阶段。众多全新功能为使用者提供更为简洁高效的用户体验。全局光照和标准材质等工具将为您呈现更为真实的AAA 影像效果,全新的物理系统则使物理检测变得更加快速高效。像Unity Cloud和Unity Analytics等线上服务的出现,使用户可以在更短的时间内开发游戏,快速获得游戏上线后的相关信息,从而通过多种方式产生盈利。在Unity 5.1版本引擎中所添加的与VR相关的功能和API更是广大开发者所期待的更新内容。这些新功能的使用方法都将在本书中向读者进行详细介绍。
    截至2015年,Unity已经拥有超过450万注册开发者,中国开发者数量占全球开发者数量的1/3,位居世界第一。那么,应该如何学好Unity引擎呢?目前,Unity虽然有大量的英文技术资料,但中文资料相对匮乏,这往往令一些初学者望而却步,而具有一定基础的用户则希望在短时间内掌握新的版本引擎,本书的面世在一定程度上解决了这一问题,方便开发者提高对Unity引擎的实际应用能力。
    本书共分三篇。初识篇(第1~4章),向读者介绍Unity的发展历程,还原最为真实的Unity引擎。操作篇(第5~17章),从初学者的角度来讲解Unity引擎的相关知识,通过多个操作案例帮助入门者快速掌握Unity引擎的各个知识点,即使是毫无编程经验的人员,也可以快速掌握Unity引擎的开发技巧。开发篇(第18~26章)为想深入了解Unity引擎开发知识以及正从事游戏开发的人员提供了宝贵的技术资料。
    为了方便更多的Unity的中国用户,Unity问答社区即将与中国的广大粉丝见面。问答社区现已聚集了众多资深的Unity工程师,开发者们可以根据自己感兴趣的话题在问答社区(answers.china.unity3d.com)中进行分享与讨论。
    最后,希望本书可以为您在Unity的学习上保驾护航,也祝愿中国的Unity开发者可以带来更多的精彩作品。

    Unity大中华区总经理 唐嘉隆
  • 目录

    初 识 篇

    第1章 认识Unity引擎 1
    1.1 Unity简介 2
    1.2 Unity发展史 3
    1.3 Unity 5.0 4
    第2章 Unity开发案例介绍 7
    2.1 Unity游戏介绍 8
    2.2 Unity非游戏应用 11
    第 3 章 软件安装、授权与服务 13
    3.1 软件安装 14
    3.1.1 在Windows下的安装 14
    3.1.2 在Mac下的安装 17
    3.2 授权 19
    3.3 服务 23
    第 4 章 Unity开发资源介绍 25
    4.1 Unity Asset Store资源商店 26
    4.1.1 Asset Store简介 26
    4.1.2 Asset Store使用方法 27
    4.2 其他服务 31
    4.2.1 Unity Ads服务 31
    4.2.2 Unity Game Analytics服务 32
    4.2.3 Unity Cloud Build服务 32
    4.2.4 Everyplay服务 33


    操 作 篇

    第 5 章 Unity编辑器 35
    5.1 界面布局 36
    5.1.1 导航窗口 37
    5.1.2 界面布局 39
    5.1.3 界面定制 40
    5.2 打开范例工程 41
    5.3 工具栏 44
    5.3.1 Transform Tools(变换工具) 45
    5.3.2 Transform Gizmo Tools
    (变换辅助工具) 48
    5.3.3 Play(播放控制) 48
    5.3.4 Layers(分层下拉列表) 49
    5.3.5 Layout(布局下拉列表) 49
    5.4 菜单栏 49
    5.4.1 File(文件)菜单 49
    5.4.2 Edit(编辑)菜单 52
    5.4.3 Assets(资源)菜单 53
    5.4.4 GameObject(游戏对象)菜单 53
    5.4.5 Component(组件)菜单 54
    5.4.6 Window(窗口)菜单 54
    5.4.7 Help(帮助)菜单 55
    5.5 常用工作视图 55
    5.5.1 Project(项目)视图 55
    5.5.2 Scene(场景)视图 58
    5.5.3 Game(游戏)视图 64
    5.5.4 Inspector(检视)视图 67
    5.5.5 Hierarchy(层级)视图 68
    5.5.6 Console(控制台)视图 69
    5.5.7 Animation(动画)视图 70
    5.5.8 Animator(动画控制器)视图 70
    5.5.9 Sprite Editor(Sprite编辑器) 71
    5.5.10 Sprite Packer(Sprite打包工具) 73
    5.5.11 Lightmaps(光照贴图烘焙)
    视图 75
    5.5.12 Occlusion(遮挡剔除)
    视图 76
    5.5.13 Navigation(导航寻路)
    视图 76
    5.5.14 Version Control(版本控制)
    视图 77
    5.5.15 Asset Store(资源商店) 77
    第 6 章 创建基本的3D游戏场景 79
    6.1 创建游戏工程和场景 80
    6.2 创建地形 83
    6.2.1 编辑地形 83
    6.2.2 添加树木和植被 90
    6.2.3 添加水效果 93
    6.3 创建光源和阴影 94
    6.4 添加场景静态景物 97
    6.4.1 创建基本几何体 97
    6.4.2 导入外部物体 100
    6.5 添加角色和控制 102
    6.5.1 创建第一人称角色控制器 102
    6.5.2 创建物理阻挡 105
    6.6 添加环境和效果 108
    6.6.1 添加天空盒 108
    6.6.2 添加雾效 110
    6.6.3 添加音效 111
    第 7 章 创建基本的2D游戏场景 115
    7.1 创建游戏工程和场景 116
    7.2 创建工作层 118
    7.3 添加静态景物 119
    7.3.1 导入静态图片 119
    7.3.2 创建静态景物 119
    7.4 添加角色和控制 123
    7.4.1 创建Sprite动画 123
    7.4.2 创建主要的游戏对象 131
    7.4.3 创建2D物理阻挡 139
    7.5 添加2D效果 142
    第 8 章 资源导入导出流程 147
    8.1 外部资源的创建 148
    8.1.1 外部资源创建工具介绍 148
    8.1.2 从3ds Max中导出模型、材质和动画 149
    8.2 Unity资源导入流程 155
    8.2.1 3D模型、材质的导入 155
    8.2.2 2D图像的导入及设置 163
    8.2.3 3D动画的导入 174
    8.2.4 2D动画的导入 176
    8.2.5 音频、视频的导入及设置 179
    8.3 资源包的导入 184
    8.3.1 Unity Asset Store简介 184
    8.3.2 Unity Asset Store的使用 185
    8.4 资源包的导出 189
    第 9 章 游戏对象、组件和Prefabs 193
    9.1 创建游戏对象和组件 194
    9.2 常用组件介绍 197
    9.3 创建Prefabs 198
    9.3.1 创建和导入Prefabs 199
    9.3.2 实例化Prefabs 202
    9.3.3 嵌套Prefabs
    (Nested Prefabs) 206
    第 10 章 Shuriken粒子系统 213
    10.1 Shuriken概述 214
    10.2 基本用法举例 215
    10.3 高级应用技巧 221
    10.3.1 地面火焰效果案例 221
    10.3.2 烟花效果案例 238
    10.4 系统参数详解 252
    第 11 章 Mecanim动画系统 263
    11.1 Mecanim概述 264
    11.2 应用示例 265
    11.3 资源的准备和导入 275
    11.3.1 如何获取人形网格模型 275
    11.3.2 如何导入动画 276
    11.3.3 动画分解 276
    11.4 使用人形角色动画 279
    11.4.1 创建Avatar 280
    11.4.2 配置Avatar 281
    11.4.3 设置Muscle参数 283
    11.4.4 Avatar Mask 284
    11.4.5 人形动画的重定向 285
    11.4.6 逆向运动学功能 288
    11.4.7 一般动画 291
    11.5 在游戏中使用角色动画 292
    11.5.1 循环动画片段 292
    11.5.2 Animator组件 293
    11.5.3 Animator Controller 293
    11.5.4 动画状态机 294
    11.5.5 混合树 299
    11.5.6 1D混合 300
    11.5.7 2D混合 301
    第 12 章 物理系统 303
    12.1 概述 304
    12.2 应用示例 304
    12.3 高级应用技巧 309
    12.4 物理系统相关组件及参数详解 318
    12.4.1 Rigidbody组件 318
    12.4.2 Character Controller组件 322
    12.4.3 碰撞体组件 324
    12.4.4 布料组件 332
    12.4.5 关节组件 335
    12.4.6 2D Physics Effectors组件 349
    12.4.7 力场组件 351
    第 13 章 音效系统 355
    13.1 概述 356
    13.2 应用示例 356
    13.2.1 项目概要 356
    13.2.2 项目分析 358
    13.3 高级应用技术 362
    13.4 声音系统相关组件及参数详解 368
    第 14 章 全局光照 371
    14.1 全局光照介绍 372
    14.2 基本用法举例 372
    14.3 高级应用技巧 376
    14.4 系统参数介绍 388
    第 15 章 导航网格寻路 397
    15.1 概述 398
    15.2 简单应用举例 398
    15.3 高级应用技巧 404
    15.3.1 使用Off-Mesh Link组件 404
    15.3.2 为网格分层 406
    15.3.3 动态更改可行进层 410
    15.3.4 使用Navmesh Obstacle 组件 413
    15.4 系统相关参数详解 415
    第 16 章 遮挡剔除 419
    16.1 概述及其应用示例 420
    16.2 高级应用技巧 423
    16.2.1 使用Occlusion Area组件 423
    16.2.2 使用Occlusion Portals组件 424
    16.3 设置烘焙参数 425
    第 17 章 后期屏幕渲染特效 427
    17.1 概述 428
    17.2 使用参数详解 433


    开 发 篇

    第 18 章 3D数学基础知识 457
    18.1 3D坐标系
    (3D Coordinate System) 458
    18.2 向量(Vector) 464
    18.3 矩阵(Maxtrix) 468
    18.4 齐次坐标 470
    18.5 四元数 470
    第 19 章 Unity脚本开发基础 475
    19.1 脚本介绍 476
    19.2 Unity脚本语言 477
    19.3 创建并运行脚本 478
    19.3.1 创建脚本 478
    19.3.2 MonoDevelop编辑器 479
    19.3.3 必然事件(Certain Events) 481
    19.4 C#基本语法 485
    19.5 访问游戏对象和组件 493
    19.5.1 MonoBehaviour类 493
    19.5.2 访问游戏对象 493
    19.5.3 访问组件 494
    19.6 常用脚本API 498
    19.6.1 Transform组件 498
    19.6.2 Time类 501
    19.6.3 Random类 502
    19.6.4 Mathf类 502
    19.6.5 Coroutine协同程序 504
    第 20 章 输入与控制 507
    20.1 Input Manager(输入管理器) 508
    20.2 鼠标输入 510
    20.3 键盘操作 512
    20.4 游戏外设输入 515
    20.5 移动设备输入 516
    20.6 自定义输入 519
    第 21 章 GUI开发 523
    21.1 Unity新GUI系统介绍 524
    21.1.1 画布(Canvas) 524
    21.1.2 Rect Transform
    (矩形变换) 526
    21.1.3 在场景视图中编辑
    (Editing in the Scene View) 527
    21.1.4 锚点(Anchors) 527
    21.1.5 轴心点(Pivot) 528
    21.1.6 文本(Text) 529
    21.1.7 图像(Image) 530
    21.1.8 原始图像(Raw Image) 531
    21.1.9 遮罩(Mask) 532
    21.1.10 过渡选项
    (Transition Options) 532
    21.1.11 导航选项
    (Navigation Options) 534
    21.1.12 按钮(Button) 534
    21.1.13 开关(Toggle) 535
    21.1.14 滑动条(Slider) 536
    21.1.15 滚动条(Scrollbar) 537
    21.1.16 输入栏(Input Field) 538
    21.1.17 布局元素控件
    (Layout Element) 539
    21.1.18 内容尺寸裁切
    (Content Size Fitter) 540
    21.1.19 长宽比例裁切
    (Aspect Ratio Fitter) 540
    21.1.20 水平布局组
    (Horizontal Layout Group) 541
    21.1.21 垂直布局组
    (Vertical Layout Group) 541
    21.1.22 网格布局组
    (Grid Layout Group) 542
    21.2 UGUI应用实例 543
    第 22 章 Shader开发 547
    22.1 Shader概述 548
    22.2 内建Shader介绍 549
    22.2.1 内建着色器(4.X版本) 549
    22.2.2 内建标准着色器(5.X版本) 553
    22.3 创建自己的Shader 563
    22.4 ShaderLab基础语法 565
    22.4.1 Properties属性 567
    22.4.2 SubShader子着色器视图 568
    22.4.3 Fallback备用着色器 570
    22.4.4 Category(分类) 570
    22.5 Unity中的三种自定义Shader 571
    22.5.1 固定功能管线着色器
    (Fixed Function Shaders) 571
    22.5.2 表面着色器
    (Surface Shaders) 572
    22.5.3 顶点片段着色器
    (Vertex and Fragment Shaders) 576
    22.6 Reflection Probe(反射探头) 581
    第 23 章 AssetBundle工作流程 591
    23.1 AssetBundle 593
    23.1.1 AssetBundle的UI 593
    23.1.2 BuildPipeline.BuildAsset-
    Bundles 594
    23.1.3 Unity处理Assets
    之间的依赖 596
    23.2 如何下载AssetBundle 598
    23.3 AssetBundle的加载与卸载 599
    23.3.1 加载AssetBundle 599
    23.3.2 从AssetBundle中
    加载Assets 602
    23.3.3 从场景AssetBundle中加载
    Assets 604
    23.3.4 AssetBundle Variant的使用 605
    23.3.5 卸载AssetBundle 605
    23.4 AssetBundle的内存管理 606
    23.4.1 下载和加载AssetBundle时
    对内存的影响 606
    23.4.2 AssetBundle以及Asset
    的卸载 607
    23.5 WWW、AssetBundle及Asset
    的关系 608
    第 24 章 开发进阶 609
    24.1 Unity新的网络引擎UNET 610
    24.1.1 授权服务器 610
    24.1.2 非授权服务器 611
    24.1.3 Hight Level API 611
    24.1.4 Transport Layer API 624
    24.1.5 WebGL Support 626
    24.1.6 Internet Services 627
    24.1.7 NetWorkView
    (网络视图组件) 632
    24.2 编辑器扩展 633
    24.2.1 编辑器脚本介绍 633
    24.2.2 创建编辑器窗口 633
    24.2.3 自定义Inspector视图 636
    24.2.4 自定义场景视图 638
    24.2.5 第三方编辑器插件 639
    第 25 章 脚本调试与优化 641
    25.1 脚本调试 642
    25.2 Profiler 646
    25.2.1 Profiler的使用 646
    25.2.2 iOS设备启用远程分析 657
    25.2.3 Android设备启用远程分析 658
    25.3 Log Files 659
    25.4 优化建议 660
    25.4.1 各个平台通用的优化方案 660
    25.4.2 移动设备的优化 661
    第 26 章 跨平台发布 663
    26.1 发布到网页平台 664
    26.1.1 将项目发布到Web 664
    26.1.2 自定义Unity Web Player的屏幕
    加载 672
    26.1.3 自定义Unity Web Player
    的行为 674
    26.1.4 JavaScript与Unity的通信 675
    26.1.5 使用Webplayer模板 676
    26.2 发布到Android平台 682
    26.2.1 Java SDK的环境配置 682
    26.2.2 Android SDK的安装
    与项目发布 683
    26.3 iOS平台的发布 690
    26.3.1 发布前的准备工作 690
    26.3.2 发布iOS平台的设置 692
    26.3.3 项目工程输出与发布 699
    26.4 WebGL平台的发布 699
    26.5 Unity Cloud Build 703
  • 作者介绍

  • 编辑推荐

  • 书评书荐

  • 附件下载

图书推荐