您好,欢迎光临有路网!
Unity 3D 完全自学教程
QQ咨询:
有路璐璐:

Unity 3D 完全自学教程

  • 作者:马遥,陈虹松,林凡超 编著
  • 出版社:电子工业出版社
  • ISBN:9787121355158
  • 出版日期:2019年03月01日
  • 页数:384
  • 定价:¥89.00
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    内容提要
    Unity 作为一个成熟的游戏引擎,其设计和使用都是有层次的。本书共 13 章,第 1 章至第 3 章为基础知识部分,主要介绍 Unity 的基本操作、基本概念、编写脚本的方法、导入和使用资源的方法,学完这部分内容后,你已经可以做出很多有趣的小游戏了。第 4 章至第 11 章主要介绍 Unity 重要的系统模块、功能,包括物理系统、UI 界面系统、动画系统、3D 数学基础、场景管理、导航系统、着色器系统、打包与发布等,读完以后可以掌握**的开发技术并解决实际问题。第 12 章和第 13 章是两个有代表性的 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.10 Unity 的常用快捷键 /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.3 VR 输入概览 / 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.2 Mecanim 动画系统 / 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.5 Vector3 结构体 /249 7.2.6 位置与向量的区别和联系 /250 7.2.7 Vector3 的用法 /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.1 Unity 着色器的简介 / 293 10.2 编写表面着色器/ 293 10.2.1 简介 / 294 10.2.2 预处理指令 /295 10.2.3 表面着色器的输入结构体 / 297 10.3 ShaderLab 简介 /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.1 JDK 概述 / 315 11.5.2 JDK 的下载、安装 /315 11.5.3 配置环境变量 /316 11.5.4 SDK 概述 /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

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外