Unity 2017 从入门到精通

本书特色

[

Unity是在游戏开发和虚拟现实开发方面应用得非常广泛的软件,其功能强大,用户体验很友好,全世界已经有近千万注册用户。本书共分为28章,主要介绍Unity 2017的安装和使用方法,以循序渐进的方式详细讲解Unity操作界面、Timeline、资源导入流程、场景创建、粒子系统、Mecanim动画系统、物理引擎、地形系统、脚本语言开发、Shader开发、脚本调试优化与内存管理、跨平台发布等内容。书中每章都安排了有针对性的项目实例,可以帮助读者轻松掌握软件的使用技巧。为了方便读者学习,本书还附赠相关的Unity工程源文件以帮助读者快速掌握Unity开发技术,并在*后一章详细介绍了Unity 2018版本的新特性。 本书面向广大Unity 初学者,以及有志于从事Unity开发工作的人员,同时也适合高等院校相关专业的学生和各类培训班的学员阅读参考。

]

内容简介

[

Unity是在游戏开发和虚拟现实开发方面应用得很好广泛的软件,其功能强大,用户体验很友好,全世界已经有近千万注册用户。本书共分为28章,主要介绍Unity 2017的安装和使用方法,以循序渐进的方式详细讲解Unity操作界面、Timeline、资源导入流程、场景创建、粒子系统、Mecanim动画系统、物理引擎、地形系统、脚本语言开发、Shader开发、脚本调试优化与内存管理、跨平台发布等内容。书中每章都安排了有针对性的项目实例,可以帮助读者轻松掌握软件的使用技巧。为了方便读者学习,本书还附赠相关的Unity工程源文件以帮助读者快速掌握Unity开发技术,并在很后一章详细介绍了Unity 2018版本的新特性。
本书面向广大Unity 初学者,以及有志于从事Unity开发工作的人员,同时也适合高等院校相关专业的学生和各类培训班的学员阅读参考。

]

作者简介

[

刘向群, Unity 官方认证价值专家(UVP)、Unity UUG 福州负 责人、工业与信息化部 VR 认证讲师。毕业于西安通信学院 ,计算机应用专业。拥有十多年 VR/AR 从业经验,曾参与《网上世博会》《数字奥运》《网 易 3D 家具》等 VR 项目实施。北京犀牛数字互动科技 有限公司创始人,中国虚拟现实产业联盟理事,中国 虚拟现实与可视化联盟理事,中国计算机学会 AC 学术 委员。组织并参与出版书籍:《VR/AR/MR 开发实战》《虚拟现实:从梦想到现实》《Unity 4.X 从入门到精通》 《Unity 5.X 从入门到精通》。 吴彬, 毕业于西安欧亚学院 ,计算机信息管 理专业。2004 年起专注于虚拟现实领域,资深虚拟现 实从业人员。《Unity 4.X 从入门到精通》《Unity 5.X 从入门到精通》的作者之一。精通 3ds MAX、Maya、 Unity 等 3D 软件。具有极其深厚的 VR 技术功底,开 发过《数字奥运》 《第三星球》等多个大型虚拟现实 项目。

]

目录

第 1章 Unity介绍1.1 Unity简介 11.2 Unity的历史 21.3 Unity 2017中的重要特性 31.3.1 业界领先的多平台支持 31.3.2 VR/AR首选开发工具 41.3.3 Cinemachine摄像机系统 41.3.4 Timeline可视化工具 41.3.5 数字内容创建工具的工作流程改进对FBX的支持 51.3.6 Post-processing栈改进 51.3.7 粒子系统改进 51.3.8 全景360°/180°视频 51.3.9 更新版的Crunch库 51.3.10 光照改进 51.3.11 通过VR设备状态事件获得信息 61.3.12 轻松发布Android应用到中国小米平台 61.4 Unity开发案例介绍 61.4.1 Unity手机游戏开发案例 61.4.2 Unity严肃游戏开发案例 7第 2章 Unity安装与购买2.1 Unity安装 102.1.1 实践操作01:在Windows操作系统下的安装 102.1.2 实践操作02:在macOS下的安装 122.2 购买许可证 14实践操作03:在线购买Unity Plus加强版 15第3章 Unity编辑器3.1 实践操作04:工程的创建 163.2 界面布局 163.2.1 导航窗口 163.2.2 界面布局 173.2.3 界面定制 183.3 工具栏 183.3.1 Transform Tools(变换工具) 183.3.2 Transform Gizmo Tools(变换辅助工具) 213.3.3 Play(播放控制) 213.3.4 Layers(分层下拉列表) 213.3.5 Layout(布局下拉列表) 213.4 菜单栏 213.4.1 File(文件)菜单 213.4.2 Edit(编辑)菜单 223.4.3 Assets(资源)菜单 233.4.4 GameObject(游戏对象)菜单 243.4.5 Component(组件)菜单 253.4.6 Window(窗口)菜单 263.4.7 Help(帮助)菜单 273.5 常用工作视图 283.5.1 Project(项目)视图 283.5.2 Scene(场景)视图 303.5.3 Game(游戏)视图 313.5.4 Inspector(检视)视图 323.5.5 Hierarchy(层级)视图 333.5.6 Console(控制台)视图 34第4章 游戏对象、组件和Prefabs4.1 实践操作05:创建游戏对象和组件 354.2 常用游戏对象 374.2.1 实践操作06:内置的几何体和空对象 374.2.2 Camera相机 384.2.3 Light(灯光) 394.2.4 UGUI 404.3 常用组件 404.3.1 Transform组件 404.3.2 Mesh组件 404.3.3 Physics组件 404.3.4 Particle System组件 414.3.5 Audio组件 414.3.6 Scripts组件 414.4 Prefabs(预设体) 414.4.1 实践操作07:创建Prefabs 414.4.2 实例化Prefabs 434.4.3 实践操作08:修改Prefabs 43第5章 创建基本的3D游戏场景5.1 实践操作09:创建3D游戏场景 465.2 地形 475.2.1 实践操作10:编辑地形 475.2.2 实践操作11:添加树木和植被 515.2.3 实践操作12:添加水效果 535.2.4 地形设置参数详解 545.3 实践操作13:光源和阴影 565.4 角色控制 585.4.1 实践操作14:创建第 一人称控制器 585.4.2 实践操作15:创建第三人称控制器 595.5 静态景物 615.5.1 实践操作16:导入外部物体 615.5.2 实践操作17:创建物理阻挡 625.6 环境和音效 635.6.1 实践操作18:添加天空盒 635.6.2 实践操作19:添加雾效 645.6.3 实践操作20:添加音效 65第6章 创建基本的2D游戏场景6.1 实践操作21:创建2D游戏场景 676.2 实践操作22:创建工作层 686.3 导入图片资源 686.4 创建Tilemap 69实践操作23:创建Tilemaps 706.5 创建静态场景 716.5.1 创建静态景物 71实践操作24:创建背景层 71实践操作25:创建前景层 746.5.2 层级排序 766.5.3 Outline Editor功能 766.5.4 2D的九宫格技术 776.6 实践操作26:创建灯光 796.7 实践操作27:2D角色控制 816.8 2D游戏场景案例 83第7章 资源的导入与导出流程7.1 资源导入 857.1.1 外部资源场景工具介绍 857.1.2 Unity导入外部资源的方法 867.1.3 实践操作28:3D模型、材质的导入 877.1.4 图片资源的导入 927.1.5 3D动画的导入 997.1.6 音频资源的导入 997.1.7 视频资源的导入 1017.2 资源包(unitypackage)的使用 1037.2.1 资源包的导入 1047.2.2 实践操作29:资源包的导出 1047.3 Asset Store的介绍和使用 1057.3.1 Asset Store简介 1057.3.2 实践操作30:Asset Store的使用 106第8章 3D数学基础8.1 3D坐标系 1078.1.1 全局坐标系 1078.1.2 局部坐标系 1088.1.3 相机坐标系 1098.1.4 屏幕坐标系 1098.2 向量 1098.2.1 向量的运算 1098.2.2 Vector3类 110实践操作31:计算两物体间的距离 111实践操作32:缓动效果 1128.3 矩阵 1138.4 齐次坐标 1138.5 四元数 114实践操作33:通过四元数控制对象旋转 1168.6 坐标转换原理 1178.6.1 世界坐标与局部坐标的转换 117实践操作34:改变全局和局部坐标 1178.6.2 世界坐标与屏幕坐标的转换 119实践操作35:设置世界坐标 119第9章 Unity脚本语言9.1 Unity脚本语言 1229.2 创建并运行脚本 1229.2.1 实践操作36:创建脚本 1229.2.2 MonoDevelop编辑器 1239.2.3 必然事件 124实践操作37:使用必然事件 1249.3 C#基本语法 1269.3.1 变量和常量 1269.3.2 运算符和表达式 1269.3.3 语句和函数 128实践操作38:使用语句 1289.3.4 访问修饰符 1319.3.5 数组、链表和字典 132实践操作39:使用数组 132实践操作40:使用链表 1349.3.6 代码注释 1389.3.7 C#脚本 1399.4 访问游戏对象和组件 1409.4.1 MonoBehaviour 类 1409.4.2 访问游戏对象 1409.4.3 访问组件 141实践操作41:访问组件或游戏对象 1439.5 常用脚本API 1449.5.1 Transform类 144实践操作42:使用Transform组件控制游戏对象 1459.5.2 Time类 1469.5.3 Random类 1479.5.4 Mathf类 147实践操作43:使用Mathf.SmoothDamp函数 制作相机的缓冲跟踪效果 1489.5.5 Coroutine协同程序 149实践操作44:使用协同程序 1509.6 脚本生命周期 151第 10章 信息输入管理10.1 Input Manager 15310.2 鼠标输入 155实践操作45:鼠标输入的操作 15510.3 键盘输入 157实践操作46:键盘输入的操作 15810.4 游戏外设输入 159实践操作47:游戏外设输入的操作 15910.5 移动设备输入 160实践操作48:移动设备输入的操作 16110.6 自定义输入 164第 11章 物理系统11.1 概述 16611.2 物理系统相关组件 16611.2.1 刚体组件 16711.2.2 角色控制器 16811.2.3 碰撞体组件 16911.2.4 物理材质 17311.2.5 布料组件 17411.2.6 关节组件 17911.2.7 力场组件 18511.3 可视化物理调试 185第 12章 粒子系统12.1 什么是粒子系统 18812.2 在Unity中使用粒子系统 18912.3 高级应用技巧 191实践操作49:学习使用标准资源包里的粒子特效 191实践操作50:控制爆炸粒子 191实践操作51:控制粒子的大小 19312.4 参数详解 196第 13章 动画系统13.1 概述 21213.2 Unity动画相关组件 21313.2.1 Animator和Animator Controller 21313.2.2 Animation动画编辑器 22113.3 外部动画资源的准备和导入 22313.3.1 获取人形网格模型 22313.3.2 导入动画 22413.3.3 动画分解 22413.3.4 循环播放动画片段 22513.4 人形角色动画 22613.4.1 创建Avatar 22613.4.2 配置Avatar 22613.4.3 设置Muscle参数 22813.4.4 Avatar Mask 22813.4.5 人形动画的重定向 229实践操作52:将第三人称控制动画重定向到其他角色 22913.4.6 逆向运动学功能 231实践操作53:逆向运动学应用 23113.5 动画混合 23313.5.1 混合树 23313.5.2 1D混合 23413.5.3 2D混合 23613.5.4 直接混合 238第 14章 Timeline14.1 Timeline概述 23914.2 Timeline工作流程 24214.2.1 创建Timeline资源和Timeline实例 24214.2.2 用无限剪辑录制基本动画 24314.2.3 将无限剪辑转换为动画片段 24614.2.4 创建人形动画 24614.3 Timeline编辑窗口 24914.3.1 Timeline预览和Timeline选择器 25114.3.2 Timeline播放控件 25114.3.3 轨道列表 25214.3.4 剪辑视图 25714.3.5 曲线视图 26414.3.6 Timeline设置 26814.4 Playable Director组件 26914.5 Cinemachine Camera 系统 27014.5.1 下载并导入资源包 27014.5.2 Cinemachine Camera主要的组件 271实践操作54:使用Cinemachine Camera 27114.6 综合案例:Timeline 和Cinemachine Camera的综合使用 274第 15章 UGUI15.1 概述 28015.2 UGUI之Canvas画布 28015.2.1 Canvas 28015.2.2 Canvas Group 28115.2.3 元素绘制顺序 28115.3 UGUI之EventSystem对象 28215.3.1 Event System组件 28215.3.2 Standalone Input Module组件 28215.4 UGUI之基本布局 28315.4.1 矩形工具 28315.4.2 Rect Transform矩形变换 28315.4.3 Anchors锚点 28415.4.4 Pivot轴心点 28515.4.5 补充 28515.5 UGUI之Text文本 28515.5.1 Text介绍 28515.5.2 Rich Text富文本 28615.6 UGUI之Image图像 28615.7 UGUI之Raw Image原始图像 28715.8 UGUI之Mask遮罩 28815.9 UGUI之过渡选项和导航选项 28815.9.1 Transition过渡选项 28815.9.2 Navigation导航选项 28915.10 UGUI之Button按钮 29015.10.1 Button介绍 29015.10.2 实践操作55:Button单击事件绑定 29115.11 UGUI之Toggle开关 29415.11.1 Toggle介绍 29415.11.2 实践操作56:Toggle事件绑定 29515.12 UGUI之Slider滑动条 29515.12.1 Slider介绍 29515.12.2 实践操作57:Slider事件绑定 29615.13 UGUI之Scrollbar滚动条 29715.13.1 Scrollbar介绍 29715.13.2 Scrollbar事件绑定 29815.14 UGUI之Dropdown下拉列表 29815.14.1 Dropdown介绍 29815.14.2 Dropdown事件绑定 30015.14.3 实践操作58:Dropdown其他操作 30015.15 UGUI之Input Field输入栏 30115.15.1 Input Field介绍 30115.15.2 Input Field事件绑定 30215.16 UGUI之Scroll View滚动视图 30215.16.1 Scroll View介绍 30215.16.2 Scroll View事件绑定 30315.17 UGUI之自动布局组件 30315.17.1 Layout Element布局元素 30315.17.2 Content Size Fitter内容尺寸裁切 30415.17.3 Aspect Ratio Fitter长宽比例裁切 30415.17.4 Horizontal Layout Group水平布局组 30515.17.5 Vertical Layout Group垂直布局组 30515.17.6 Grid Layout Group网格布局组 306第 16章 音效和视频16.1 音效系统 30716.1.1 概述 30716.1.2 常用组件 30816.1.3 Audio Mixer音频混合 31016.1.4 Audio Filters音频过滤 32116.1.5 Audio Effects音频效果 32516.1.6 Microphone麦克风 32516.2 视频播放器 32616.2.1 概述 32616.2.2 Video Player组件 32716.2.3 视频剪辑 32816.2.4 视频透明度支持 32816.2.5 全景视频 329实践操作59:全景视频之海上冲浪 329第 17章 全局光照17.1 概述 33317.1.1 Enlighten 33317.1.2 Progressive Lightmapper 33317.1.3 Lightmap seam stitching 33417.2 实践操作60:烘焙光照用法示例 33517.3 系统参数详解 33817.3.1 FBX模型导入设置 33817.3.2 Reflection Probe反射探针 33817.3.3 Light Probe Group光照探针组件 34117.3.4 Lighting 窗口 34117.3.5 Light Explorer光探测器 345第 18章 导航网格寻路18.1 Unity的导航寻路系统 34618.2 实践操作61:创建一个导航网格 34718.3 系统参数详解 35118.3.1 Navigation窗口 35118.3.2 Nav Mesh Agent 35218.3.3 Off Mesh Link 35318.3.4 Nav Mesh Obstacle 35318.4 综合案例:导航网格寻路的高级技巧 35418.4.1 使用Off Mesh Link组件 35418.4.2 为网格分层 35518.4.3 动态更改可行进层 35618.4.4 使用Nav Mesh Obstacle组件 358第 19章 遮挡剔除19.1 概述 35919.2 参数详解 36019.2.1 Occlusion窗口 36019.2.2 Occlusion Area组件 36219.2.3 Occlusion Portal组件 36319.3 综合案例:遮挡剔除的使用 363第 20章 后期屏幕渲染特效20.1 概述 36520.2 参数详解 36720.2.1 Fog(雾效) 36720.2.2 Anti-aliasing(抗锯齿) 36820.2.3 Ambient Occlusion(环境光遮罩) 36920.2.4 Screen Space Reflection(屏幕空间反射) 37020.2.5 Depth of Field(景深) 37120.2.6 Motion Blur(运动模糊) 37220.2.7 Eye Adaptation(眼部适应) 37320.2.8 Bloom(泛光) 37420.2.9 Color Grading(颜色分级) 37520.2.10 User Lut 37820.2.11 Chromatic Aberration(色差) 37920.2.12 Grain(颗粒) 37920.2.13 Vignette(渐晕) 38020.2.14 Dithering(抖动) 38120.2.15 Debug Views(调试视图) 38120.2.16 Monitors(监视器) 384第 21章 Shader开发21.1 Shader概述 38621.2 内建Shader介绍 38721.2.1 内建着色器 387实践操作62:使用内建着色器 38821.2.2 内建标准着色器 389实践操作63:使用标准着色器 39221.3 Shader的创建 39321.4 ShaderLab基础语法 39421.4.1 Properties属性 39621.4.2 SubShader子着色器视图 39821.4.3 Fallback备用着色器 39921.4.4 Category(分类) 39921.5 自定义Shader 40021.5.1 Fixed Function Shaders(固定功能管线着色器) 40021.5.2 Surface Shaders(表面着色器) 40121.5.3 Vertex and Fragment Shaders(顶点片段着色器) 40221.6 综合案例:着色器编写实例 40421.6.1 表面着色器 40421.6.2 顶点片段着色器 406第 22章 AssetBundle工作流程22.1 AssetBundle的创建 40922.1.1 AssetBundle的UI 40922.1.2 BuildPipeline BuildAsset-Bundles 410实践操作64:AssetBundle的创建 41122.1.3 Unity处理Assets之间的依赖 41222.2 AssetBundle的下载 41422.3 AssetBundle的加载和卸载 41522.3.1 加载AssetBundle 41522.3.2 从AssetBundle中加载Assets 41722.3.3 AssetBundle Variant的使用 41822.3.4 卸载AssetBundle 41922.4 AssetBundle的内存管理 41922.4.1 下载和加载AssetBundle时内存的影响 41922.4.2 AssetBundle及Asset的卸载 42022.5 AssetBundle工具 42022.5.1 Configure的使用 42122.5.2 Build的使用 423第 23章 多人游戏和联网23.1 授权服务器 42523.2 非授权服务器 42623.3 Hight Level API 42623.4 Transport Layer API 42723.5 Unity的多人游戏 42923.5.1 集成多人游戏服务 430实践操作65:使用HUD进行集成 43023.5.2 使用Hight Level API进行集成 43223.5.3 使用NetworkTransport进行集成 43223.6 Unity网络组件介绍 43923.6.1 Network Animator 43923.6.2 Network Discovery 43923.6.3 Network Identity 44023.6.4 Network Lobby Manager 44123.6.5 Network Lobby Player 44223.6.6 Network Manager 44323.6.7 Network Manager HUD 44523.6.8 Network Proximity Checker 44623.6.9 Network Start Position 44623.6.10 Network Transform 44623.6.11 Network Transform Child 44723.6.12 Network Transform Visualizer 44823.7 Unity的网络请求 44923.7.1 常用操作:使用HLAPI 44923.7.2 高级操作:使用LLAPI 45323.8 综合案例:多人游戏实战 46123.9 Unity服务 46623.9.1 相关资源 46623.9.2 Unity Ads广告 46723.9.3 Unity Game Analytics游戏分析 46723.9.4 Everyplay视频录制 46823.9.5 Unity Cloud Build云构建 46923.9.6 Unity Collaborate协同服务 469第 24章 编辑器扩展24.1 编辑器脚本 47024.2 实践操作66:创建编辑器窗口 47024.3 自定义Inspector视图 47324.4 实践操作67:自定义Scene视图 47424.5 第三方编辑器插件 475第 25章 脚本调试与优化25.1 实践操作68:脚本调试 47625.2 Profiler性能分析器 47825.2.1 Profiler的使用 47825.2.2 iOS设备启用远程分析 48125.2.3 Android设备启用远程分析 48225.3 Log Files 48225.4 脚本优化 48425.4.1 各个平台通用的优化方案 48425.4.2 移动设备的优化 485第 26章 跨平台发布26.1 Windows平台发布 48726.1.1 实践操作69:Windows平台发布步骤 48726.1.2 Player Settings参数详解 48726.2 Android平台发布 49326.2.1 实践操作70:Java SDK的环境配置 49326.2.2 Android SDK的安装 49426.2.3 实践操作71:Android平台发布步骤 49426.2.4 Player Settings参数详解 49526.3 iOS平台发布 50026.3.1 实践操作72:iOS平台发布前的准备工作 50026.3.2 实践操作73:项目工程的输出和发布 50126.3.3 Player Settings参数详解 50226.4 WebGL平台发布 50626.4.1 实践操作74:WebGL平台发布步骤 50626.4.2 Player Settings参数详解 50726.5 Facebook平台发布 51026.5.1 实践操作75:Facebook平台发布步骤 51026.5.2 Player Settings参数详解 511第 27章 案例分析之Tanks27.1 案例工程文件下载 51227.2 场景设置 51327.2.1 场景碰撞区域设置 51327.2.2 坦克初始位置 51427.3 游戏控制 51427.4 后期屏幕渲染特效 51527.4.1 Bloom 51527.4.2 Color Grading 51527.4.3 Chromatic Aberration 51627.4.4 Vignette 51627.5 静态批处理 51627.6 游戏管理 51727.6.1 游戏参数设置 51727.6.2 游戏流程控制逻辑 51827.7 坦克控制 52127.7.1 坦克运动控制的实现 52127.7.2 坦克血条的实现 52427.7.3 坦克射击的实现 52627.8 相机控制 530第 28章 Unity 2018新特性28.1 项目模板功能 53328.1.1 3D附带额外设置 53428.1.2 高清晰渲染管线 53428.1.3 轻量级渲染管线 53528.1.4 轻量级VR渲染管线 53528.2 Package Manager 536实践操作76:Package Manager的相关操作 53728.3 着色器视图Shader Graph 53828.3.1 安装Shader Graph 539实践操作77:安装Shader Graph 53928.3.2 Shader Graph功能介绍 54028.4 可编程渲染管线SRP 54028.4.1 SRP批处理器加速CPU渲染 54128.4.2 可编程着色器变体移除 54128.4.3 轻量级渲染管线(预览版) 54128.4.4 高清晰渲染管线(预览版) 54228.5 特效编辑器VFX Graph 543实践操作78:Visual Effect Graph的安装 543

封面

Unity 2017 从入门到精通

书名:Unity 2017 从入门到精通

作者:Unity公司

页数:544

定价:¥198.0

出版社:人民邮电出版社

出版日期:2020-06-01

ISBN:9787115535177

PDF电子书大小:128MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注