展开全部

主编推荐语

Unity游戏引擎开发书13章,涵盖基础知识、核心系统、2款示例,并附赠视频教程。

内容简介

Unity作为一个成熟的游戏引擎,其设计和使用都是有层次的。全书分为13章。第1章至第3章为基础知识部分,通过前3章学习Unity的基本操作、基本概念和脚本编写方法以及导入和使用资源的方法,理论上已经可以做出很多有趣的小游戏了。第4章至第11章为绝大部分重要的Unity系统模块或功能,包括了物理系统、UI界面系统、动画系统、3D数学基础、场景管理、导航系统、着色器系统、打包与发布,读过后可以掌握高级的开发技术并解决实际问题。第12章和第13章是两个有代表性的Unity游戏示例,一个3D跑酷游戏和一个2D物理弹球游戏,综合展示了大部分Unity功能,具有较强的代表性。除了这些内容,每章都会有一些小的示例穿插在每一章的中间或末尾,方便大家实践并理解具体概念。由于实例部分的内容操作流程较多,不易用图文展现,本书还特别附赠了视频教程方便读者参考。

目录

  • 封面
  • 版权页
  • 前言
  • 目录
  • 第1章 初识Unity
  • 1.1 下载与安装
  • 1.1.1 下载Unity安装程序
  • 1.1.2 安装Unity
  • 1.1.3 多版本并存
  • 1.2 初次运行
  • 1.2.1 工程页面
  • 1.2.2 学习资料页面
  • 1.2.3 新建工程
  • 1.2.4 打开工程
  • 1.3 工程窗口
  • 1.3.1 基本功能
  • 1.3.2 搜索功能
  • 1.3.3 搜索资源商店
  • 1.3.4 快捷键
  • 1.4 场景视图窗口
  • 1.4.1 浏览场景
  • 1.4.2 场景辅助线框
  • 1.4.3 修改物体的位置
  • 1.4.4 场景视图工具条
  • 1.5 辅助线框菜单
  • 1.5.1 辅助线框
  • 1.5.2 辅助图标
  • 1.5.3 显示网格
  • 1.5.4 选中时高亮和选中框线
  • 1.5.5 内置组件的显示
  • 1.6 层级窗口
  • 1.6.1 父子关系
  • 1.6.2 将物体设置为子物体
  • 1.6.3 同时编辑多个场景
  • 1.7 检视窗口
  • 1.7.1 检视物体和选项
  • 1.7.2 添加、删除组件
  • 1.7.3 复制组件或组件参数
  • 1.7.4 查看脚本参数
  • 1.7.5 查看素材
  • 1.7.6 工程设置
  • 1.7.7 修改组件的顺序
  • 1.8 工具栏
  • 1.9 游戏视图窗口
  • 1.9.1 播放和暂停
  • 1.9.2 游戏视图的工具条
  • 1.9.3 自定义Unity的开发环境
  • 1.10 Unity的常用快捷键
  • 1.11 动手搭建游戏场景
  • 1.12 2D与3D工程的区别
  • 1.13 总结
  • 第2章 开始Unity游戏开发
  • 2.1 场景
  • 2.1.1 场景的概念
  • 2.1.2 保存场景
  • 2.1.3 打开场景
  • 2.2 游戏物体
  • 2.3 组件
  • 2.3.1 变换组件
  • 2.3.2 其他组件
  • 2.4 使用组件
  • 2.4.1 添加组件
  • 2.4.2 编辑组件
  • 2.4.3 组件选项菜单
  • 2.4.4 测试组件参数
  • 2.5 最基本的组件—变换组件
  • 2.5.1 属性列表
  • 2.5.2 编辑变换组件
  • 2.5.3 父子关系
  • 2.5.4 非等比缩放的问题
  • 2.5.5 关于缩放和物体大小的问题
  • 2.5.6 变换组件的其他注意事项
  • 2.6 脚本与组件操作
  • 2.6.1 创建和使用脚本
  • 2.6.2 初识脚本
  • 2.6.3 用脚本控制游戏物体
  • 2.6.4 变量与检视窗口
  • 2.6.5 通过组件控制游戏物体
  • 2.6.6 访问其他游戏物体
  • 2.6.7 常用的事件函数
  • 2.6.8 时间和帧率
  • 2.6.9 创建和销毁物体
  • 2.6.10 使游戏物体或组件无效化
  • 2.6.11 父物体无效化
  • 2.7 脚本组件的生命期
  • 2.8 标签
  • 2.8.1 为物体设置标签
  • 2.8.2 创建新的标签
  • 2.8.3 小提示
  • 2.9 静态物体
  • 2.10 层级
  • 2.10.1 新建层级
  • 2.10.2 为物体指定层级
  • 2.10.3 仅渲染场景的一部分
  • 2.10.4 选择性的射线检测
  • 2.11 预制体
  • 2.11.1 使用预制体
  • 2.11.2 通过游戏物体实例修改预制体
  • 2.11.3 在运行时实例化预制体
  • 2.12 保存工程的注意事项
  • 2.12.1 保存当前场景
  • 2.12.2 保存工程
  • 2.12.3 不需要保存的改动
  • 2.13 输入
  • 2.13.1 传统输入设备与虚拟输入轴
  • 2.13.2 移动设备的输入
  • 2.13.3 VR输入概览
  • 2.14 方向与旋转的表示方法
  • 2.14.1 欧拉角
  • 2.14.2 四元数
  • 2.14.3 直接使用四元数
  • 2.14.4 在动画中表示旋转
  • 2.15 灯光
  • 2.15.1 渲染路径
  • 2.15.2 灯光的种类
  • 2.15.3 灯光设置详解
  • 2.15.4 使用灯光
  • 2.16 摄像机
  • 2.16.1 属性介绍
  • 2.16.2 细节
  • 2.16.3 渲染路径
  • 2.16.4 清除标记
  • 2.16.5 剪切面
  • 2.16.6 剔除遮罩
  • 2.16.7 视图矩形
  • 2.16.8 正交摄像机
  • 2.16.9 渲染贴图
  • 2.16.10 显示目标
  • 2.16.11 其他提示
  • 2.17 开始做游戏吧
  • 第3章 资源工作流程
  • 3.1 内置的基础物体
  • 3.1.1 立方体
  • 3.1.2 球体
  • 3.1.3 胶囊体
  • 3.1.4 柱体
  • 3.1.5 平面
  • 3.1.6 四边形
  • 3.2 资源导入
  • 3.3 资源导入设置
  • 3.4 导入图片资源的设置
  • 3.4.1 图片资源的导入方式
  • 3.4.2 图片纹理的类型
  • 3.5 模型资源的导入流程
  • 3.5.1 导入人形动画
  • 3.5.2 导入非人形动画
  • 3.5.3 模型资源导入设置
  • 3.6 声音资源的导入设置
  • 3.7 从资源商店导入资源
  • 3.7.1 进入资源商店和选购
  • 3.7.2 下载的资源文件的存储位置
  • 3.8 资源包
  • 3.8.1 导入包
  • 3.8.2 导出包
  • 3.8.3 导出更新包
  • 3.9 标准资源
  • 第4章 物理
  • 4.1 简介
  • 4.2 概述基本概念
  • 4.2.1 刚体
  • 4.2.2 休眠
  • 4.2.3 碰撞体
  • 4.2.4 物理材质
  • 4.2.5 触发器
  • 4.2.6 碰撞与脚本行为
  • 4.2.7 对碰撞体按照处理方式分类
  • 4.2.8 碰撞事件触发表
  • 4.2.9 物理关节
  • 4.2.10 角色控制器
  • 4.3 刚体
  • 4.3.1 属性介绍
  • 4.3.2 父子关系
  • 4.3.3 脚本问题
  • 4.3.4 刚体和动画
  • 4.3.5 刚体和碰撞体
  • 4.3.6 组合碰撞体
  • 4.3.7 连续碰撞检测
  • 4.3.8 比例和单位的重要性
  • 4.3.9 其他问题
  • 4.4 盒子碰撞体
  • 4.5 胶囊碰撞体
  • 4.6 网格碰撞体
  • 4.6.1 属性
  • 4.6.2 限制条件和解决方法
  • 4.6.3 其他问题
  • 4.7 球体碰撞体
  • 4.8 地形碰撞体
  • 4.9 物理材质
  • 4.10 固定关节
  • 4.11 铰链关节
  • 4.12 弹簧关节
  • 4.13 角色控制器
  • 4.13.1 属性
  • 4.13.2 详细说明
  • 4.13.3 调整参数的技巧
  • 4.13.4 防止角色被卡住
  • 4.13.5 小技巧
  • 4.14 常量力
  • 4.14.1 属性
  • 4.14.2 小技巧
  • 4.15 车轮碰撞体
  • 4.15.1 属性
  • 4.15.2 详细说明
  • 4.15.3 具体的设置方法
  • 4.15.4 碰撞体的外形问题
  • 4.15.5 车轮阻尼曲线
  • 4.15.6 小技巧
  • 4.16 车辆创建入门
  • 4.16.1 创建车辆的基本框架
  • 4.16.2 可控制的车辆
  • 4.16.3 车轮的外观
  • 4.17 物理系统的实践
  • 4.17.1 不倒翁的制作
  • 4.17.2 锁链的制作
  • 4.18 物理系统可视化调试
  • 第5章 UI界面
  • 5.1 UI组件
  • 5.1.1 渲染组件
  • 5.1.2 布局组件
  • 5.1.3 显示组件
  • 5.1.4 交互组件
  • 5.1.5 事件功能
  • 5.2 UI进阶
  • 5.2.1 图集
  • 5.2.2 图片格式
  • 5.2.3 渲染顺序
  • 5.2.4 实现圆盘转动的效果
  • 第6章 动画
  • 6.1 基础概念
  • 6.1.1 什么是帧
  • 6.1.2 模型动画与非模型动画
  • 6.1.3 动画混合的核心—插值与权重
  • 6.2 Mecanim动画系统
  • 6.2.1 动画系统的工作流
  • 6.2.2 动画剪辑
  • 6.3 动画控制器
  • 6.3.1 动画状态机
  • 6.3.2 动画层级
  • 6.3.3 动画混合树
  • 6.4 使用人形角色动画
  • 6.4.1 人形骨架映射
  • 6.4.2 人形动画身体遮罩
  • 6.4.3 人形动画的重定向
  • 6.4.4 逆向运动学
  • 6.5 实践:实现一个带有动画且操作流畅的角色控制器
  • 6.5.1 创建工程
  • 6.5.2 模型下载
  • 6.5.3 创建动画状态机
  • 6.5.4 配置动画状态机
  • 6.5.5 代码控制
  • 第7章 游戏开发的数学基础
  • 7.1 坐标系
  • 7.1.1 左手坐标系、右手坐标系
  • 7.1.2 世界坐标系
  • 7.1.3 局部坐标系
  • 7.1.4 屏幕坐标系
  • 7.2 向量
  • 7.2.1 向量的加法
  • 7.2.2 向量的减法
  • 7.2.3 点乘
  • 7.2.4 叉乘
  • 7.2.5 Vector3结构体
  • 7.2.6 位置与向量的区别和联系
  • 7.2.7 Vector3的用法
  • 7.3 矩阵
  • 7.4 齐次坐标
  • 7.5 四元数
  • 7.5.1 概念
  • 7.5.2 结构体的简介
  • 7.5.3 四元数的操作示例
  • 7.6 本章小结
  • 第8章 场景管理
  • 8.1 多场景编辑
  • 8.1.1 在编辑器中打开多个场景
  • 8.1.2 场景分隔栏菜单
  • 8.1.3 多场景烘焙光照贴图
  • 8.1.4 多场景烘焙寻路网格
  • 8.1.5 多场景烘焙遮挡剔除信息
  • 8.1.6 多场景运行游戏
  • 8.1.7 场景相关设置
  • 8.1.8 注意事项
  • 8.2 运行时的场景管理
  • 8.2.1 场景管理类
  • 8.2.2 运行时切换场景
  • 8.2.3 切换场景时不销毁游戏物体
  • 8.2.4 异步加载场景
  • 第9章 导航系统
  • 9.1 概述
  • 9.2 导航系统内部的工作机制
  • 9.2.1 可行走区域
  • 9.2.2 寻路算法
  • 9.2.3 具体路径
  • 9.2.4 避开障碍
  • 9.2.5 让代理移动
  • 9.2.6 全局导航与局部导航
  • 9.2.7 障碍的两个例子
  • 9.2.8 链接关系
  • 9.3 导航系统的构建组件
  • 9.3.1 导航代理组件
  • 9.3.2 导航障碍物
  • 9.3.3 网格链接组件
  • 9.4 构建导航网格
  • 9.5 创建导航代理
  • 9.6 创建导航障碍物
  • 9.7 创建网格链接
  • 9.8 自动构建网格链接
  • 9.9 建立高度网格
  • 9.10 导航区域和移动成本
  • 9.10.1 寻路成本
  • 9.10.2 区域类型
  • 9.10.3 区域掩码
  • 9.11 新版导航系统组件
  • 9.11.1 导航网格表面组件
  • 9.11.2 导航网格修正组件
  • 9.11.3 导航修正区域组件
  • 9.11.4 导航网格链接组件
  • 9.11.5 构建导航网格的API
  • 9.12 与其他组件一起使用的问题
  • 9.12.1 导航代理组件与物理组件混用
  • 9.12.2 导航网格组件与动画组件混用
  • 第10章 着色器
  • 10.1 Unity着色器的简介
  • 10.2 编写表面着色器
  • 10.2.1 简介
  • 10.2.2 预处理指令
  • 10.2.3 表面着色器的输入结构体
  • 10.3 ShaderLab简介
  • 10.3.1 语法
  • 10.3.2 属性
  • 10.3.3 子着色器与回滚
  • 10.3.4 例子
  • 10.4 材质、着色器、贴图的关系
  • 10.5 表面着色器的实例
  • 10.5.1 从最简单的例子开始
  • 10.5.2 贴图
  • 10.5.3 法线贴图
  • 10.5.4 边缘发光
  • 10.5.5 细节贴图
  • 10.5.6 屏幕空间中的细节贴图
  • 10.5.7 立方体反射
  • 10.5.8 世界空间切片
  • 10.5.9 修改顶点的位置
  • 10.5.10 逐顶点的数据处理
  • 10.5.11 调整最终颜色
  • 10.5.12 雾
  • 10.5.13 总结
  • 第11章 打包与发布
  • 11.1 打包设置
  • 11.2 发布设置菜单
  • 11.3 发布为桌面程序
  • 11.4 发布时的内部流程
  • 11.5 发布为安卓应用程序
  • 11.5.1 JDK概述
  • 11.5.2 JDK的下载、安装
  • 11.5.3 配置环境变量
  • 11.5.4 SDK概述
  • 11.5.5 下载安卓SDK
  • 11.5.6 导出设置
  • 第12章 示例教程——跑酷游戏
  • 12.1 准备工具
  • 12.2 分析需求
  • 12.3 控制人物动作
  • 12.4 生成地图
  • 12.4.1 创建地图模板
  • 12.4.2 设置地图生成规则
  • 12.4.3 使地图运动
  • 12.4.4 生成道具
  • 12.4.5 复杂地形
  • 12.5 控制人物
  • 12.5.1 分析人物动作
  • 12.5.2 添加角色控制器
  • 12.5.3 向前移动
  • 12.5.4 左右移动
  • 12.5.5 左转与右转
  • 12.5.6 跳跃与下滑
  • 12.5.7 播放道路动画
  • 12.6 游戏音效
  • 12.6.1 背景音效
  • 12.6.2 道具音效
  • 12.7 显示得分
  • 12.8 触摸控制
  • 12.8.1 向量的点乘
  • 12.8.2 代码实现
  • 第13章 示例教程——2D物理弹球
  • 13.1 游戏玩法
  • 13.2 分析需求
  • 13.3 搭建场景
  • 13.3.1 砌墙(限定小球的活动区域)
  • 13.3.2 创建枪口(用于初始化小球的发射位置)
  • 13.3.3 显示分数
  • 13.3.4 创建小球
  • 13.3.5 创建道具预制件
  • 13.3.6 创建几何图形
  • 13.3.7 创建关卡
  • 13.3.8 发射
  • 13.3.9 小球寻路
  • 13.3.10 菜单面板
  • 13.3.11 总结
展开全部

评分及书评

尚无评分
目前还没人评分
  • 加载中...

出版方

电子工业出版社

电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。