当前位置:当前位置:主页 > 计算机电子书 > 图形处理 > Unity3D pdf电子书
Unity3D完全自学教程

Unity3D完全自学教程 PDF

  • 更新:2020-02-01
  • 大小:205533 MB
  • 类别:Unity3D
  • 作者:马遥,陈虹松,等
  • 出版:电子工业出版社
  • 格式:PDF

  • 资源介绍
  • 学习心得
  • 相关内容

Unity3D完全自学教程》是由电子工业出版社出版的一本关于Unity3D方面的书籍,作者是马遥,陈虹松,等,主要介绍了关于Unity3D、Unity3D自学教程方面的知识内容,目前在Unity3D类书籍综合评分为:8.1分。

书籍介绍

Unity模块早已进到了成熟并一直维持稳定而不断的升级,可是官方网材料和文本文档的升级并非很立即,还一拖再拖沒有汉语文本文档,针对学生而言产生了一个再大的艰难。另外互联网上的教程视频、具体步骤的专业知识呈泛娱乐化,无法产生管理体系,造成学生在一些关键的关键点上不知其所以然。

这书的创作者均是很多年置身手机游戏开发一线的开发者,拥有 丰富多彩的手机游戏开发社会经验,且一部分创作者有丰富多彩的手机游戏开发课堂教学工作经验,这书是她们吸取经验、不断学习培训的成效,合适入门Unity,又具备较为详细的知识结构。这书既能够做为新手的新手入门书藉,又能够做为升阶者的查看原材料。

Unity做为一个完善的虚幻引擎,其设计方案和应用全是有层级的。这书共13章,第1章至第3章为基本知识一部分,关键详细介绍Unity的操作过程、基本要素、撰写脚本制作的方式、导进和应用資源的方式,学好这些內容后,你早已能够作出许多趣味的游戏了。第4章至第11章关键详细介绍Unity关键的系统软件控制模块、作用,包含物理学系统软件、UI页面系统软件、动漫系统软件、3D基础数学、情景管理方法、网站导航、着色器系统软件、装包与公布等,念完之后能够把握高級的开发技术并处理具体难题。第12章和第13章是2个有象征性的Unity手机游戏实例,一个是3D非常好玩的跑酷类手游,另一个是2D的弹球游戏,综合性展现了Unity的绝大多数作用,具备极强的象征性。除开这种內容,各章都是有一些小的实例,以便捷大伙儿实践活动并了解实际定义。因为案例一部分的內容操作步骤较多,不容易用文图呈现,这书还非常附送了教程视频来便捷阅读者学习培训。

这书合适众多Unity新手新手入门时应用,也合适Unity客户查看和参照手机软件实际的操作方法、常见问题等,因此还可以做为一本Unity的参考手册应用。

目录

  • 第 1 章 初识 Unity / 1
  • 1.1 下载与安装 / 1
  • 1.1.1 下载 Unity 安装程序 / 1
  • 1.1.2 安装 Unity / 2
  • 1.1.3 多版本并存 / 2
  • 1.2 初次运行 / 2
  • 1.2.1 工程页面 / 2
  • 1.2.2 学习资料页面 /3
  • 1.2.3 新建工程 / 3
  • 1.2.4 打开工程 / 3
  • 1.3 工程窗口 / 4
  • 1.3.1 基本功能 / 5
  • 1.3.2 搜索功能 / 5
  • 1.3.3 搜索资源商店 / 6
  • 1.3.4 快捷键 / 7
  • 1.4 场景视图窗口 / 8
  • 1.4.1 浏览场景 / 8
  • 1.4.2 场景辅助线框 / 8
  • 1.4.3 修改物体的位置 /10
  • 1.4.4 场景视图工具条 /14
  • 1.5 辅助线框菜单 / 16
  • 1.5.1 辅助线框 / 16
  • 1.5.2 辅助图标 / 17
  • 1.5.3 显示网格 / 18
  • 1.5.4 选中时高亮和选中框线 /18
  • 1.5.5 内置组件的显示 /19
  • 1.6 层级窗口 / 19
  • 1.6.1 父子关系 / 19
  • 1.6.2 将物体设置为子物体  20
  • 1.6.3 同时编辑多个场景 /. 20
  • 1.7 检视窗口 / 20
  • 1.7.1 检视物体和选项 /.21
  • 1.7.2 添加、删除组件 /.21
  • 1.7.3 复制组件或组件参数 22
  • 1.7.4 查看脚本参数 /.22
  • 1.7.5 查看素材 /23
  • 1.7.6 工程设置 /24
  • 1.7.7 修改组件的顺序 /24
  • 1.8 工具栏 /25
  • 1.9 游戏视图窗口 /25
  • 1.9.1 播放和暂停 /26
  • 1.9.2 游戏视图的工具条 /26
  • 1.9.3 自定义 Unity 的开发环境 /27
  • 1.10Unity 的常用快捷键 /29
  • 1.11 动手搭建游戏场景/31
  • 1.12 2D与 3D 工程的区别 /36
  • 1.13 总结 /37
  •  
  • 第 2 章 开始 Unity 游戏开发 / 39
  • 2.1 场景 /39
  • 2.1.1 场景的概念 /39
  • 2.1.2 保存场景 /40
  • 2.1.3 打开场景 /40
  • 2.2 游戏物体 /40
  • 2.3 组件 /41
  • 2.3.1 变换组件 /41
  • 2.3.2 其他组件 /42
  • 2.4 使用组件 /42
  • 2.4.1 添加组件 /43
  • 2.4.2 编辑组件 /44
  • 2.4.3 组件选项菜单 /45
  • 2.4.4 测试组件参数 /45
  • 2.5 最基本的组件 — 变换组件 /46
  • 2.5.1 属性列表 /46
  • 2.5.2 编辑变换组件 /46
  • 2.5.3 父子关系 /47
  • 2.5.4 非等比缩放的问题 /47
  • 2.5.5 关于缩放和物体大小的问题/48
  • 2.5.6 变换组件的其他注意事项 / 48
  • 2.6 脚本与组件操作 /49
  • 2.6.1 创建和使用脚本 /49
  • 2.6.2 初识脚本 / 49
  • 2.6.3 用脚本控制游戏物体 /50
  • 2.6.4 变量与检视窗口 /51
  • 2.6.5 通过组件控制游戏物体 /52
  • 2.6.6 访问其他游戏物体 /53
  • 2.6.7 常用的事件函数 /55
  • 2.6.8 时间和帧率 / 56
  • 2.6.9 创建和销毁物体 /57
  • 2.6.10 使游戏物体或组件无效化 /58
  • 2.6.11 父物体无效化 / 58
  • 2.7 脚本组件的生命期 /58
  • 2.8 标签 /61
  • 2.8.1 为物体设置标签 /61
  • 2.8.2 创建新的标签 /62
  • 2.8.3 小提示 / 62
  • 2.9 静态物体 / 62
  • 2.10 层级 /63
  • 2.10.1 新建层级 / 63
  • 2.10.2 为物体指定层级 /64
  • 2.10.3 仅渲染场景的一部分 /64
  • 2.10.4 选择性的射线检测 /65
  • 2.11 预制体 / 66
  • 2.11.1 使用预制体 / 66
  • 2.11.2 通过游戏物体实例修改预制体 /67
  • 2.11.3 在运行时实例化预制体 /67
  • 2.12 保存工程的注意事项 / 71
  • 2.12.1 保存当前场景 / 71
  • 2.12.2 保存工程 / 72
  • 2.12.3 不需要保存的改动 /73
  • 2.13 输入 /74
  • 2.13.1 传统输入设备与虚拟输入轴 /74
  • 2.13.2 移动设备的输入 /77
  • 2.13.3VR 输入概览 / 81
  • 2.14 方向与旋转的表示方法 / 81
  • 2.14.1 欧拉角 / 81
  • 2.14.2 四元数 /82
  • 2.14.3 直接使用四元数 /83
  • 2.14.4 在动画中表示旋转 /84
  • 2.15 灯光 /85
  • 2.15.1 渲染路径 /85
  • 2.15.2 灯光的种类 /86
  • 2.15.3 灯光设置详解 /89
  • 2.15.4 使用灯光 /90
  • 2.16 摄像机 /91
  • 2.16.1 属性介绍 /91
  • 2.16.2 细节 /93
  • 2.16.3 渲染路径 /93
  • 2.16.4 清除标记 /93
  • 2.16.5 剪切面 /95
  • 2.16.6 剔除遮罩 /96
  • 2.16.7 视图矩形 /96
  • 2.16.8 正交摄像机 /96
  • 2.16.9 渲染贴图 /96
  • 2.16.10显示目标 /97
  • 2.16.11其他提示 /97
  • 2.17 开始做游戏吧 /97
  •  
  • 第 3 章 资源工作流程 / 98
  • 3.1 内置的基础物体/98
  • 3.1.1 立方体 /98
  • 3.1.2 球体 /99
  • 3.1.3 胶囊体 /99
  • 3.1.4 柱体 /99
  • 3.1.5 平面 /100
  • 3.1.6 四边形 / 100
  • 3.2 资源导入 / 101
  • 3.3 资源导入设置 / 103
  • 3.4 导入图片资源的设置 / 103
  • 3.4.1 图片资源的导入方式 /103
  • 3.4.2 图片纹理的类型 /104
  • 3.5 模型资源的导入流程 /110
  • 3.5.1 导入人形动画 / 111
  • 3.5.2 导入非人形动画 / 113
  • 3.5.3 模型资源导入设置 /115
  • 3.6 声音资源的导入设置 / 137
  • 3.7 从资源商店导入资源 / 137
  • 3.7.1 进入资源商店和选购 /137
  • 3.7.2 下载的资源文件的存储位置 /138
  • 3.8 资源包 / 139
  • 3.8.1 导入包 / 139
  • 3.8.2 导出包 / 140
  • 3.8.3 导出更新包 / 141
  • 3.9 标准资源 / 142
  • 第 4 章 物理 /143
  • 4.1 简介 /143
  • 4.2 概述基本概念 /143
  • 4.2.1 刚体 /143
  • 4.2.2 休眠 /144
  • 4.2.3 碰撞体 / 144
  • 4.2.4 物理材质 / 145
  • 4.2.5 触发器 / 145
  • 4.2.6 碰撞与脚本行为 /145
  • 4.2.7 对碰撞体按照处理方式分类 /145
  • 4.2.8 碰撞事件触发表 /.146
  • 4.2.9 物理关节 / 147
  • 4.2.10 角色控制器 / 147
  • 4.3 刚体 /148
  • 4.3.1 属性介绍 / 148
  • 4.3.2 父子关系 / 149
  • 4.3.3 脚本问题 / 149
  • 4.3.4 刚体和动画 / 149
  • 4.3.5 刚体和碰撞体 /150
  • 4.3.6 组合碰撞体 / 150
  • 4.3.7 连续碰撞检测 / 150
  • 4.3.8 比例和单位的重要性 / 151
  • 4.3.9 其他问题 / 152
  • 4.4 盒子碰撞体 / 152
  • 4.5 胶囊碰撞体 / 152
  • 4.6 网格碰撞体 / 153
  • 4.6.1 属性 /153
  • 4.6.2 限制条件和解决方法 / 154
  • 4.6.3 其他问题 / 155
  • 4.7 球体碰撞体 / 155
  • 4.8 地形碰撞体 / 156
  • 4.9 物理材质 / 156
  • 4.10 固定关节 / 157
  • 4.11 铰链关节 / 158
  • 4.12 弹簧关节 / 160
  • 4.13 角色控制器 / 161
  • 4.13.1 属性 / 161
  • 4.13.2 详细说明 / 162
  • 4.13.3 调整参数的技巧 / 162
  • 4.13.4 防止角色被卡住 / 162
  • 4.13.5 小技巧 / 163
  • 4.14 常量力 / 163
  • 4.14.1 属性 / 163
  • 4.14.2 小技巧 / 163
  • 4.15 车轮碰撞体 / 163
  • 4.15.1 属性 / 164
  • 4.15.2 详细说明 / 164
  • 4.15.3 具体的设置方法 /165
  • 4.15.4 碰撞体的外形问题 /165
  • 4.15.5 车轮阻尼曲线 /165
  • 4.15.6 小技巧 / 166
  • 4.16 车辆创建入门 / 166
  • 4.16.1 创建车辆的基本框架 / 166
  • 4.16.2 可控制的车辆 / 167
  • 4.16.3 车轮的外观 /168
  • 4.17 物理系统的实践 / 169
  • 4.17.1 不倒翁的制作 / 169
  • 4.17.2 锁链的制作 /173
  • 4.18 物理系统可视化调试/ 177
  • 第 5 章 UI 界面 /181
  • 5.1 UI 组件 /181
  • 5.1.1 渲染组件 / 181
  • 5.1.2 布局组件 / 183
  • 5.1.3 显示组件 / 185
  • 5.1.4 交互组件 / 187
  • 5.1.5 事件功能 / 196
  • 5.2 UI 进阶 /201
  • 5.2.1 图集 /201
  • 5.2.2 图片格式 / 202
  • 5.2.3 渲染顺序 / 202
  • 5.2.4 实现圆盘转动的效果 /204
  •  
  • 第 6 章 动画 /210
  • 6.1 基础概念 / 210
  • 6.1.1 什么是帧 / 210
  • 6.1.2 模型动画与非模型动画 /210
  • 6.1.3 动画混合的核心 — 插值与权重 /211
  • 6.2Mecanim 动画系统 / 211
  • 6.2.1 动画系统的工作流 /211
  • 6.2.2 动画剪辑 / 213
  • 6.3 动画控制器 / 223
  • 6.3.1 动画状态机 / 223
  • 6.3.2 动画层级 / 228
  • 6.3.3 动画混合树 / 228
  • 6.4 使用人形角色动画 /.231
  • 6.4.1 人形骨架映射 / 231
  • 6.4.2 人形动画身体遮罩 /234
  • 6.4.3 人形动画的重定向 /235
  • 6.4.4 逆向运动学 / 237
  • 6.5  实践:实现一个带有动画且操作流畅的角色控制器 /238
  • 6.5.1 创建工程 / 238
  • 6.5.2 模型下载 / 239
  • 6.5.3 创建动画状态机 /239
  • 6.5.4 配置动画状态机 / 241
  • 6.5.5 代码控制 / 243
  •  
  • 第 7 章 游戏开发的数学基础 / 245
  • 7.1 坐标系 / 245
  • 7.1.1 左手坐标系、右手坐标系 /245
  • 7.1.2 世界坐标系 / 246
  • 7.1.3 局部坐标系 / 246
  • 7.1.4 屏幕坐标系 / 247
  • 7.2 向量 /248
  • 7.2.1 向量的加法 / 248
  • 7.2.2 向量的减法 / 248
  • 7.2.3 点乘 /248
  • 7.2.4 叉乘 / 249
  • 7.2.5Vector3 结构体 /249
  • 7.2.6 位置与向量的区别和联系 /250
  • 7.2.7Vector3 的用法 /251
  • 7.3 矩阵 /252
  • 7.4 齐次坐标 / 253
  • 7.5 四元数 / 253
  • 7.5.1 概念 /253
  • 7.5.2 结构体的简介 /254
  • 7.5.3 四元数的操作示例 /255
  • 7.6 本章小结 / 258
  •  
  • 第 8 章 场景管理 / 259
  • 8.1 多场景编辑 / 259
  • 8.1.1 在编辑器中打开多个场景 /259
  • 8.1.2 场景分隔栏菜单 /260
  • 8.1.3 多场景烘焙光照贴图  /261
  • 8.1.4 多场景烘焙寻路网格  /261
  • 8.1.5 多场景烘焙遮挡剔除信息 /261
  • 8.1.6 多场景运行游戏 /262
  • 8.1.7 场景相关设置 /262
  • 8.1.8 注意事项 / 262
  • 8.2 运行时的场景管理 / 263
  • 8.2.1 场景管理类 / 263
  • 8.2.2 运行时切换场景 /263
  • 8.2.3 切换场景时不销毁游戏物体 /265
  • 8.2.4 异步加载场景 /266
  •  
  • 第 9 章 导航系统 / 268
  • 9.1 概述 /268
  • 9.2 导航系统内部的工作机制 / 269
  • 9.2.1 可行走区域 / 269
  • 9.2.2 寻路算法 / 269
  • 9.2.3 具体路径 / 270
  • 9.2.4 避开障碍 / 270
  • 9.2.5 让代理移动 / 270
  • 9.2.6 全局导航与局部导航 /270
  • 9.2.7 障碍的两个例子 / 271
  • 9.2.8 链接关系 / 271
  • 9.3 导航系统的构建组件 / 271
  • 9.3.1 导航代理组件 / 271
  • 9.3.2 导航障碍物 / 273
  • 9.3.3 网格链接组件 /274
  • 9.4 构建导航网格 /275
  • 9.5 创建导航代理 /277
  • 9.6 创建导航障碍物 /278
  • 9.7 创建网格链接 /279
  • 9.8 自动构建网格链接 /280
  • 9.9 建立高度网格 / 281
  • 9.10 导航区域和移动成本 / 282
  • 9.10.1 寻路成本 / 283
  • 9.10.2 区域类型 / 283
  • 9.10.3 区域掩码 / 284
  • 9.11 新版导航系统组件 / 284
  • 9.11.1 导航网格表面组件 /284
  • 9.11.2 导航网格修正组件 /286
  • 9.11.3 导航修正区域组件 /287
  • 9.11.4 导航网格链接组件 /287
  • 9.11.5 构建导航网格的 API  /289
  • 9.12 与其他组件一起使用的问题  /291
  • 9.12.1 导航代理组件与物理组件混用  /291
  • 9.12.2 导航网格组件与动画组件混用  /291
  • 第 10 章 着色器 / 293
  • 10.1Unity 着色器的简介 / 293
  • 10.2 编写表面着色器/ 293
  • 10.2.1 简介 / 294
  • 10.2.2 预处理指令 /295
  • 10.2.3 表面着色器的输入结构体 / 297
  • 10.3ShaderLab 简介 /297
  • 10.3.1 语法 / 298
  • 10.3.2 属性 / 298
  • 10.3.3 子着色器与回滚 /298
  • 10.3.4 例子 /298
  • 10.4 材质、着色器、贴图的关系 /299
  • 10.5 表面着色器的实例 / 300
  • 10.5.1 从最简单的例子开始 /300
  • 10.5.2 贴图 / 301
  • 10.5.3 法线贴图 / 302
  • 10.5.4 边缘发光 / 303
  • 10.5.5 细节贴图 / 304
  • 10.5.6 屏幕空间中的细节贴图 /305
  • 10.5.7 立方体反射 / 306
  • 10.5.8 世界空间切片 /307
  • 10.5.9 修改顶点的位置 /308
  • 10.5.10逐顶点的数据处理 /309
  • 10.5.11调整最终颜色 / 310
  • 10.5.12雾 / 311
  • 10.5.13总结 / 312
  •  
  • 第 11 章 打包与发布 / 313
  • 11.1 打包设置 / 313
  • 11.2 发布设置菜单 /313
  • 11.3 发布为桌面程序/ 314
  • 11.4 发布时的内部流程/ 314
  • 11.5 发布为安卓应用程序/.315
  • 11.5.1JDK 概述 / 315
  • 11.5.2JDK 的下载、安装 /315
  • 11.5.3 配置环境变量 /316
  • 11.5.4SDK 概述 /317
  • 11.5.5 下载安卓 SDK / 317
  • 11.5.6 导出设置 / 319
  • 第 12 章 示例教程——跑酷游戏 / 323
  • 12.1 准备工具 / 323
  • 12.2 分析需求 / 323
  • 12.3 控制人物动作 /323
  • 12.4 生成地图 / 324
  • 12.4.1 创建地图模板 /324
  • 12.4.2 设置地图生成规则 /325
  • 12.4.3 使地图运动 /326
  • 12.4.4 生成道具 / 329
  • 12.4.5 复杂地形 / 330
  • 12.5 控制人物 / 333
  • 12.5.1 分析人物动作 / 333
  • 12.5.2 添加角色控制器 /333
  • 12.5.3 向前移动 / 333
  • 12.5.4 左右移动 / 334
  • 12.5.5 左转与右转 /334
  • 12.5.6 跳跃与下滑 /334
  • 12.5.7 播放道路动画 /335
  • 12.6 游戏音效 / 336
  • 12.6.1 背景音效 / 336
  • 12.6.2 道具音效 / 336
  • 12.7 显示得分 / 337
  • 12.8 触摸控制 / 338
  • 12.8.1 向量的点乘 /338
  • 12.8.2 代码实现 / 339
  • 第 13 章 示例教程——2D 物理弹球 /343
  • 13.1 游戏玩法 / 343
  • 13.2 分析需求 / 345
  • 13.3 搭建场景 / 345
  • 13.3.1 砌墙(限定小球的活动区域)/345
  • 13.3.2 创建枪口(用于初始化小球的发射位置)/346
  • 13.3.3 显示分数 / 347
  • 13.3.4 创建小球 / 347
  • 13.3.5 创建道具预制件 /347
  • 13.3.6 创建几何图形 /352
  • 13.3.7 创建关卡 / 353
  • 13.3.8 发射 / 359
  • 13.3.9 小球寻路 / 362
  • 13.3.10菜单面板 / 364
  • 13.3.11总结 / 366

资源获取

相关资源

网友留言