Unity3D是一款跨平台3D、2D游戏及互动内容发引擎,有着广泛的影响力。随着近年增强现实和虚拟现实技术的兴起,很多AR与VR的技术提供方都提供了基于Unity3D的SDK包。本书针对没有Unity3D编程经验的AR/VR初学者,详细讲解Unity3D发增强现实和虚拟现实的方法,使读者能够快速使用Unity3D平台发AR与VR应用。
售 价:¥
纸质售价:¥97.40购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
封面页
书名页
版权页
内容简介
前言
目录
第1章 Unity的基本介绍
1.1 功能特点
1.1.1 Unity简介
1.1.2 Unity的特点
1.2 版本及费用
1.3 下载和安装
1.3.1 Unity版本的选择和Unity Hub
1.3.2 下载
1.3.3 Unity Hub安装和许可证激活
1.3.4 用Unity Hub安装Unity
1.4 Unity官方提供的学习资源
1.4.1 Unity Hub的链接资源
1.4.2 官方网站上的资源
1.4.3 Unity商城
第2章 Unity的世界和编辑器主要界面介绍
2.1 理解Unity的世界
2.1.1 虚拟的三维世界
2.1.2 必须存在的转换
2.1.3 层级的结构
2.1.4 组件决定游戏对象
2.1.5 场景和摄像机
2.2 理解Unity项目的结构
2.3 关于翻译
2.4 启动界面
2.4.1 新建项目
2.4.2 添加已有项目
2.4.3 打开项目
2.4.4 版本变更
2.5 默认界面
2.6 场景窗口
2.6.1 基本操作
2.6.2 变形工具
2.6.3 其他辅助工具
2.7 “Game”窗口
2.8 “Hierarchy”窗口
2.9 “Inspector”窗口
2.10 “Project”窗口
2.11 “Console”窗口
第3章 Unity快速入门
3.1 场景
3.2 游戏对象
3.3 摄像机游戏对象
3.4 组件
3.5 预制件
3.6 其他常用内容
3.6.1 3D模型
3.6.2 刚体
3.6.3 重力
3.6.4 物理特性
3.6.5 穿透
3.6.6 粒子系统
3.6.7 声音播放
3.6.8 视频播放
3.7 Unity GUI
3.7.1 渲染模式
3.7.2 矩阵变换(Rect Transform)
3.7.3 响应脚本
3.8 脚本
3.8.1 基本介绍
3.8.2 MonoBehaviour
3.8.3 Transform属性
3.8.4 GameObject
3.8.5 常用事件
3.8.6 Instantiate
3.8.7 Destroy
3.8.8 获取指定游戏对象
3.8.9 获取指定的组件
3.8.10 协程
3.8.11 场景切换
3.8.12 DontDestroyOnLoad
3.8.13 SendMessage
3.9 资源包的导入和导出
3.9.1 导入资源包
3.9.2 导出资源包
3.10 生成应用
3.10.1 生成Windows应用
3.10.2 生成Android应用
3.10.3 发布iOS应用
3.11 Unity商城资源下载和导入
3.12 Unity程序设计新手建议
第4章 增强现实介绍
4.1 基本概念
4.2 支持平台
4.3 实现方式
4.4 典型案例
4.5 常用增强现实SDK
4.6 现状和前景
第5章 基于EasyAR SDK的增强现实的开发
5.1 EasyAR简介
5.1.1 基本介绍
5.1.2 版本和功能
5.1.3 支持平台
5.1.4 官方演示例子
5.2 获取Key
5.3 下载导入开发包
5.4 EasyAR SDK概述
5.4.1 总体结构
5.4.2 EasyAR_Tracker(EasyAR追踪器)
5.4.3 CameraDevice(摄像设备)
5.4.4 ARCamera(Unity摄像机)
5.4.5 EasyAR SDK中类的使用
5.4.6 图片识别度检测
5.5 识别图片显示3D模型
5.5.1 最基础的例子——识别一个图片显示3D模型
5.5.2 图片识别的两个关键类
5.5.3 从多张图片中只识别出一张图片
5.5.4 从多张图片中同时识别出多张图片
5.6 识别图片播放视频
5.6.1 在平面上播放视频
5.6.2 视频播放的关键类
5.6.3 在3D物体上播放视频
5.6.4 播放透明视频
5.7 识别物体
5.8 相关的程序控制
5.8.1 图片识别后的控制
5.8.2 通过程序控制图片识别
5.8.3 物体识别后的控制
5.8.4 视频播放控制
5.9 涂涂乐
5.10 脱卡
第6章 EasyAR SDK示例开发
6.1 主要思路
6.2 示例设计
6.2.1 添加基本内容
6.2.2 演示的功能设计
6.2.3 Unity3D场景设计
6.2.4 界面设计
6.3 准备工作
6.4 新建项目
6.5 启动加载场景开发
6.5.1 设置场景
6.5.2 脚本编写
6.6 主菜单场景开发
6.6.1 设置场景
6.6.2 脚本编写
6.7 关于场景开发
6.8 返回功能开发
6.8.1 设置场景
6.8.2 脚本编写
6.8.3 其他场景的设置
6.9 识别单图场景开发
6.9.1 准备工作
6.9.2 场景基础设置
6.9.3 识别图片显示文字
6.9.4 识别图片显示UI
6.9.5 识别图片跳转URL
6.9.6 识别图片显示3D模型
6.10 识别多图场景开发
6.10.1 场景互动基本思路
6.10.2 用有限状态机的理念重新整理思路
6.10.3 场景基础设置
6.10.4 3D模型动作关系修改
6.10.5 3D模型添加碰撞
6.10.6 Yuko相关逻辑的编写
6.10.7 UTC相关逻辑的编写
6.10.8 Misaki相关逻辑编写
6.10.9 清理警告和错误提示
6.11 物体识别用的模型准备
6.11.1 寻找合适的模型
6.11.2 模型修改
6.11.3 模型导出和转换
6.11.4 纸模转换制作
6.11.5 模型制作
6.12 物体识别场景开发
6.12.1 设置场景
6.12.2 脚本编写
6.13 视频播放场景开发
6.13.1 设置场景
6.13.2 脚本编写
6.14 控制识别对象场景开发
6.14.1 设置场景
6.14.2 脚本编写
6.15 涂涂乐场景开发
6.15.1 涂涂乐内容的准备
6.15.2 设置场景
6.16 脱卡场景开发
6.16.1 设置场景
6.16.2 脚本编写
6.17 打包
第7章 基于Vuforia Engine的增强现实的开发
7.1 Vuforia Engine简介
7.2 Vuforia概述
7.3 获取Key
7.4 导入开发包
7.5 导入Key和VuforiaConfiguration
7.5.1 导入Key
7.5.2 VuforiaConfiguration
7.6 添加和导入Database
7.6.1 添加Database
7.6.2 添加图片识别对象
7.6.3 添加方块识别对象
7.6.4 添加柱体识别对象
7.6.5 添加物体识别对象
7.6.6 下载Database
7.6.7 导入Database
7.7 识别图片显示模型
7.7.1 识别显示单个图片
7.7.2 识别显示的多张图片
7.8 识别图片播放视频
7.8.1 官方示例说明
7.8.2 借用官方例子的方法实现视频播放
7.9 识别方块显示模型
7.10 识别柱体显示模型
7.11 识别物体显示模型
7.12 模型数据获取及识别模型
7.12.1 模型数据的获取
7.12.2 识别模型
7.13 环境认知
7.13.1 Ground Plane
7.13.2 Mid Air
7.14 程序控制
7.14.1 识别后的控制
7.14.2 虚拟按钮及程序控制
第8章 用Vuforia做一个AR解谜小游戏
8.1 起因
8.2 思路整理
8.3 准备工作
8.3.1 拼图可行性测试
8.3.2 图片准备
8.3.3 文字和音频内容准备
8.3.4 其他内容准备
8.4 程序设计
8.4.1 添加基本内容
8.4.2 场景设计
8.4.3 主场景关键流程设计
8.5 项目搭建
8.6 启动场景开发
8.6.1 设置场景
8.6.2 脚本编写
8.7 添加系统变量
8.8 菜单场景开发
8.8.1 设置场景
8.8.2 脚本编写
8.9 主场景开发
8.9.1 设置场景
8.9.2 识别后事件脚本的编写
8.9.3 添加音频播放功能的编写
8.9.4 添加文字显示功能
8.9.5 根据识别图片获取信息并处理
8.9.6 按钮解锁功能的编写
8.9.7 虚拟按钮解锁功能的编写
8.9.8 初始提问的编写
8.9.9 回答阶段的编写
8.9.10 添加修改解谜类型随机的方法
8.10 发布
8.11 后记
第9章 基于ARCore的增强现实开发
9.1 ARCore简介
9.2 环境准备
9.2.1 SDK下载和导入
9.2.2 相关设置
9.3 ARCore基本结构
9.4 SessionConfig的配置
9.5 在平面上放置模型
9.6 光照评估
9.7 图片识别
第10章 ARCore的例子
10.1 说明
10.2 场景搭建
10.3 菜单场景
10.4 异常判断和返回菜单功能
10.5 空中画线
10.5.1 设置场景
10.5.2 记录运动轨迹的组件
10.5.3 脚本的编写
10.5.4 脚本及按钮设置
10.6 运动轨迹的显示
10.6.1 添加ARCore Device
10.6.2 添加第二个Camera并设置
10.6.3 添加记录轨迹的线
10.6.4 场景中其他内容的设置
10.6.5 编写脚本
10.6.6 脚本设置
10.7 传送门
10.7.1 导入透明材质
10.7.2 建立隐身房间预制件
10.7.3 设置场景
10.8 发布
第11章 基于ARCore的室内导航
11.1 室内导航简介
11.2 Unity NavMeshComponents简介
11.3 程序设计
11.3.1 添加基本内容
11.3.2 功能和场景设计
11.4 图片识别内容开发
11.4.1 准备工作
11.4.2 图片识别功能场景的设置
11.4.3 ARCore错误提示功能脚本的开发
11.4.4 图片识别功能脚本的开发
11.5 Debug模式开发
11.6 对应实际场景内容搭建和矫正
11.7 导航内容的开发
11.7.1 新建场景并复制导航内容
11.7.2 设置场景导航内容
11.7.3 导航脚本的开发
11.8 添加墙壁
11.9 添加显示的模型和菜单
11.10 添加Debug按钮
第12章 Mapbox的简单使用
12.1 Mapbox简介
12.2 获取token
12.3 下载导入开发包
12.4 Mapbox总体结构
12.5 Mapbox Studio
12.5.1 Dataset
12.5.2 Tileset
12.5.3 Style
12.6 Mapbox显示地图
12.6.1 General项目配置
12.6.2 Image项目配置
12.6.3 Map Layers数据配置
12.6.4 动态生成多边形区域内容
12.6.5 动态生成线内容
12.6.6 动态生成点内容
12.6.7 动态生成内容的修改
12.7 Mapbox当前位置定位
第13章 用Mapbox和ARCore做Pokemon Go
13.1 主要思路
13.2 CinemaChine介绍
13.2.1 CinemaChine的导入
13.2.2 CinemaChine基本结构
13.2.3 官方提供的Camera
13.3 示例设计
13.3.1 基本内容设计
13.3.2 场景设计
13.3.3 界面设计
13.4 准备工作
13.5 新建项目
13.6 单实例类基础内容开发
13.7 启动场景开发
13.7.1 设置场景
13.7.2 脚本编写
13.8 ARCore测试场景开发
13.8.1 导入并设置相关SDK
13.8.2 设置场景
13.8.3 脚本编写
13.9 设置场景开发
13.9.1 文本滚动条预制件的制作
13.9.2 选择按钮预制件的制作
13.9.3 设置场景
13.9.4 脚本编写
13.10 地图寻找场景开发
13.10.1 导入模型和摄像机插件
13.10.2 3D模型动作关系修改
13.10.3 设置场景
13.10.4 玩家动作和镜头切换
13.10.5 捕捉的宠物制作
13.10.6 玩家控制脚本的编写
13.10.7 宠物控制脚本的编写
13.10.8 设置预置宠物
13.10.9 编写随机宠物初始化脚本
13.10.10 编写宠物单击处理
13.11 普通捕捉场景开发
13.11.1 添加陀螺仪控制Camera旋转
13.11.2 添加显示摄像头内容
13.11.3 双摄像头显示设置
13.11.4 添加抓捕特效
13.11.5 宠物生成和抓捕脚本的编写
13.12 ARCore捕捉场景开发
13.12.1 场景设置
13.12.2 脚本编写
13.13 打包
第14章 虚拟现实简介
14.1 虚拟现实基本概念
14.2 VR设备总体介绍
14.3 Google Cardboard
14.4 HTC Vive、PSVR、Oculus Rift
14.5 VR应用介绍
14.6 VR开发常见的问题
第15章 基于Google VR SDK针对Cardboard的虚拟现实的开发
15.1 Google VR简介
15.2 下载导入开发包
15.3 Google VR SDK概述
15.4 制作一个VR场景
15.4.1 设置场景
15.4.2 添加DOTween插件
15.4.3 添加注视计时单击功能
15.4.4 添加移动脚本
15.4.5 添加退出脚本
第16章 基于VRTK的虚拟现实的开发
16.1 VRTK简介
16.2 下载导入开发包
16.3 VRTK基本结构
16.3.1 VRTK基本结构概述
16.3.2 VRTK基本结构搭建
16.3.3 VRTK模拟器的操作
16.4 手柄按键事件响应
16.5 手柄射线
16.6 传送
16.7 与物体交互
16.8 UI操作
第17章 Unity访问API
17.1 UnityWebRequest简介
17.2 聚合数据的免费天气
17.3 获取天气信息
17.4 JSON的处理
第18章 其他Unity3D相关的内容
18.1 单一数据存储
18.2 少量初始数据的存储
18.2.1 将数据存储在预制件里
18.2.2 利用ScriptableObject将数据存储为资源
18.3 用iTween插件进行移动、缩放、旋转操作
18.3.1 下载并导入插件
18.3.2 iTween的基本调用
18.3.3 常见参数
18.3.4 iTween实现移动
18.3.5 iTween实现旋转
18.3.6 iTween的变化值
18.3.7 iTween Visual Editor导入
18.3.8 iTween Visual Editor控制变化
18.3.9 iTween Visual Editor指定运动路径
18.4 插件推荐
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜