新書推薦:
《
诛吕:“诸吕之乱”的真相与吕太后时期的权力结构
》
售價:HK$
102.4
《
炙野(全2册)
》
售價:HK$
80.3
《
女人的胜利
》
售價:HK$
57.4
《
数据有道:数据分析+图论与网络+微课+Python编程(鸢尾花数学大系:从加减乘除到机器学习)
》
售價:HK$
273.7
《
500万次倾听:陪伤心的人聊聊
》
售價:HK$
55.2
《
英国商业500年(见证大国崛起与企业兴衰,启迪未来商业智慧。)
》
售價:HK$
82.8
《
万千心理·儿童心理治疗中的心智化:临床实践指导
》
售價:HK$
89.7
《
自我囚禁的人:完美主义的心理成因与自我松绑(破除你对完美主义的迷思,尝试打破自我评价过低与焦虑的恶性循环)
》
售價:HK$
67.9
|
編輯推薦: |
Unity3D是一款跨平台3D、2D游戏及互动内容开发引擎,并有着广泛的影响力。随着近年增强现实和虚拟现实的兴起,很多增强现实和虚拟现实的技术提供方都提供了基于Unity3D的SDK包。可以预见,市场对Unity3D人才的需要会大大增加。本书针对没有编程经验的初学者,通过详细的讲解,将Unity3D开发增强现实和虚拟现实的方法介绍给读者,使读者能够快速使用Unity3D平台开发AR与VR应用。
|
內容簡介: |
Unity3D是一款跨平台3D、2D游戏及互动内容开发引擎,并有着广泛的影响力。随着近年增强现实和虚拟现实的兴起,很多增强现实和虚拟现实的技术提供方都提供了基于Unity3D的SDK包。可以预见,市场对Unity3D人才的需求将会大大增加。 本书共分为14章,详细讲解了Unity3D的安装、发布、界面等主要功能,并深入介绍AR(增强现实)、VR(虚拟现实)开发方法,以及地图定位、摄像机、声音播放等开发技巧,让读者了解到如何使用Unity3D制作AR\VR产品,快速进入Unity3D应用开发之门。 本书适合使用Unity3D平台开发AR\VR游戏和应用的移动开发人员,也适合高等院校和培训机构相关专业移动游戏开发方向的师生教学参考。
|
關於作者: |
吴雁涛,网络游戏开发工程师,有多年的教学经验。
|
目錄:
|
目 录
第1章 Unity的基本介绍 1
1.1 功能特点 1
1.1.1 Unity简介 1
1.1.2 Unity的特点 1
1.2 版本及费用 2
1.3 下载和安装 2
1.3.1 下载 2
1.3.2 安装 3
1.3.3 第一次运行 7
1.4 商城内容和官方资源 8
第2章 Unity主要界面介绍 11
2.1 理解Unity项目的结构 11
2.2 启动界面 12
2.3 默认界面 13
2.4 Game(游戏)视图 14
2.5 Scene(场景)视图 15
2.6 Hierarchy(层级)视图 16
2.7 Inspector(检视)视图 17
2.8 Project(项目)视图 18
2.9 Console(控制台)视图 21
第3章 Unity快速入门 22
3.1 场景 22
3.1.1 场景和项目 22
3.1.2 理解项目和场景 24
3.2 摄像机 24
3.3 游戏对象 27
3.4 预制件 29
3.5 组件 31
3.6 其他常用内容 32
3.6.1 3D模型 32
3.6.2 刚体 33
3.6.3 重力 35
3.6.4 物理特性 36
3.6.5 穿透 38
3.6.6 粒子系统 38
3.7 Unity GUI 40
3.7.1 Render Mode显示模式 41
3.7.2 定位方式 43
3.7.3 响应脚本 44
3.8 脚本 47
3.8.1 基本介绍 47
3.8.2 MonoBehaviour 48
3.8.3 Transform 49
3.8.4 GameObject 50
3.8.5 常用事件 51
3.8.6 Instantiate 52
3.8.7 Destory 53
3.8.8 获取指定游戏对象或组件 55
3.8.9 指定平台 57
3.8.10 DontDestroyOnLoad 58
3.8.11 SendMessage 58
3.8.12 场景切换 60
3.9 资源包的导入和导出 61
3.9.1 导入资源包 61
3.9.2 导出资源包 62
3.10 发布应用 64
3.10.1 发布Windows应用 65
3.10.2 发布Android应用 66
3.10.3 发布iOS应用 71
3.11 Unity商城资源下载和导入 74
第4章 增强现实介绍 76
4.1 基本概念 76
4.2 主流实现方式 76
4.3 典型案例 78
4.4 常用增强现实SDK 81
4.5 其他 83
第5章 基于Vuforia SDK的增强现实开发 85
5.1 Vuforia简介 85
5.2 准备工作 85
5.2.1 注册账号 85
5.2.2 下载SDK 86
5.2.3 添加key 87
5.2.4 添加数据库 89
5.3 识别图片显示3D模型 89
5.3.1 添加识别图片 89
5.3.2 下载识别数据 93
5.3.3 建立场景 93
5.3.4 设置游戏对象 95
5.3.5 测试 96
5.4 识别柱体显示3D模型 96
5.4.1 添加识别柱体 96
5.4.2 下载识别数据 99
5.4.3 建立场景 99
5.4.4 设置游戏对象 101
5.4.5 测试 103
5.5 识别物体显示3D模型 103
5.5.1 下载Vuforia Object Scanner并打印图片 103
5.5.2 扫描物体 104
5.5.3 添加识别物体 106
5.5.4 下载识别数据 107
5.5.5 建立场景 108
5.5.6 设置游戏对象 109
5.5.7 测试 110
5.6 识别图片播放视频 111
5.6.1 下载例子 111
5.6.2 导入例子和数据 112
5.6.3 建立场景 112
5.6.4 设置游戏对象 115
5.6.5 测试 117
第6章 基于EasyAR SDK的增强现实开发 118
6.1 EasyAR简介 118
6.2 获得key 118
6.3 下载开发包 119
6.4 识别图片显示3D内容 120
6.4.1 新建场景 120
6.4.2 替换添加脚本 123
6.4.3 设置游戏对象 125
6.4.4 运行测试 127
6.5 识别图片并将图片映射为3D模型纹理(涂涂乐) 128
6.5.1 准备工作 128
6.5.2 设置模型纹理 128
6.5.3 运行测试 130
6.6 识别图片播放视频 130
6.6.1 准备工作 130
6.6.2 添加用于播放视频的3D物体 131
6.6.3 运行测试 133
6.7 打包安卓的注意事项 133
第7章 虚拟现实简介 134
7.1 虚拟现实基本概念 134
7.2 常见的几种VR硬件 134
7.3 HTC Vive介绍 136
7.4 HTC Vive 的手柄 137
7.5 Vive上的VR应用介绍 137
7.6 基于Vive的VR开发常见的几个问题 139
第8章 基于Input Utility插件的虚拟现实开发 141
8.1 基于Input Utility插件开发 141
8.2 SDK下载 141
8.3 按钮开发综述 142
8.4 Trigger按钮开发 144
8.5 Pad按钮开发 145
8.6 操作GUI 146
8.7 拖动远处的3D物体 150
8.8 传送 152
8.9 物体拾取和触碰 158
第9章 基于InteractionSystem 的虚拟现实开发 165
9.1 InteractionSystem插件及SDK下载 165
9.2 按钮控制 166
9.3 基础碰触 169
9.4 物体拾取 174
9.5 传送 180
9.6 操作UI 185
9.7 道具拾取 189
9.8 按钮提示显示 196
第10章 高德地图Android定位SDK在Unity下的简单使用 200
10.1 Unity简单调用Java类 200
10.2 高德地图key的获取 207
10.3 安全码SHA1获取 210
10.4 准备Jar 211
10.5 导入Unity 214
10.6 获取定位信息 214
10.6.1 获取定位信息的脚本 214
10.6.2 添加调用脚本 221
10.6.3 测试 224
10.6.4 插件 224
10.7 获取地图 225
10.7.1 说明 225
10.7.2 脚本 226
10.7.3 场景 226
10.7.4 打包运行 228
第11章 Unity3D 摄像机开发 229
11.1 常用的几种摄像机 229
11.1.1 CctvCamera 230
11.1.2 HandHeldCamera 233
11.1.3 MultipurposeCameraRig 236
11.1.4 FreeLookCameraRig 240
11.1.5 第一人称视角 243
11.1.6 DungeonCamera 244
11.1.7 LookAtCamera 248
11.2 双摄像机 249
第12章 声音播放 255
12.1 AudioClip、AudioSource、AudioListener 255
12.1.1 AudioClip 255
12.1.2 AudioSource 256
12.1.3 AudioListener 256
12.2 播放背景音乐 257
12.3 控制背景声音音量 259
12.4 播放特效声音 262
12.5 控制特效音量 268
第13章 Unity3D服务器端和客户端通信 276
13.1 服务器端和客户端通信概述 276
13.2 服务器端和客户端通信实例 276
第14章 其他Unity3D相关的内容 286
14.1 带进度条的场景切换 286
14.2 单一数据存储 287
14.3 少量初始数据的存储 288
14.3.1 将数据存储在预制件里 289
14.3.2 利用ScriptableObject将数据存储为资源 290
14.4 用iTween插件进行移动、缩放、旋转操作 293
14.4.1 下载并导入插件 293
14.4.2 iTween的基本调用 294
14.4.3 iTween常见参数介绍 294
14.4.4 iTween实现移动 295
14.4.5 iTween实现旋转 295
14.4.6 iTween实现大小变化 296
14.4.7 iTween的变化值 297
14.4.8 iTween Visual Editor导入 299
14.4.9 iTween Visual Editor控制变化 300
14.4.10 iTween Visual Editor指定运动路径 302
14.5 插件推荐 305
|
內容試閱:
|
前 言
Unity3D是由Unity Technologies公司开发的一款跨平台的游戏行业软件,能够让用户轻松快速地创建互动游戏、实时动画等内容,并发布到苹果、安卓等多个平台。因其良好的生态及广泛的支持,使其在增强现实开发上也获得了众多厂商的青睐。很多增强现实提供商都提供了基于Unity3D的SDK包。
本书面向的读者大多是没有接触过Unity3D的初学者。读者可以通过该书快速地了解Unity3D以及增强现实的基本概念和一些实例,并且快速地参照例子制作出增强现实的作品。
本书内容介绍
本书包括14章内容,分别介绍如下。
第1~3章是Unity3D基础介绍。前3章内容快速介绍了Unity3D的基本知识、操作界面、基本概念等,让读者对于Unity3D有了一个总体的了解,并能进行一些基础的操作,代码编写。
第4~6章是增强现实开发。该部分介绍了增强现实的基本概念、一些优秀的实例,并详细讲解了用Unity3D和Vufoira、easyAR两款增强现实SDK开发图片识别显示3D模型视频的过程。
第7~9章是基于Vive的虚拟现实开发。该部分介绍了虚拟现实的基本概念,如何利用官方提供的SDK进行Vive的虚拟现实开发。其中详细讲解了两个不同的插件如何对Vive进行开发,包括基础按钮到常用按钮的传送、UI、拾取等。
第10章介绍了在安卓环境下,如何使用高德地图提供的定位功能进行开发。本章还介绍了如果在Unity3D下简单地调用Java和安卓类的方法属性。
第11~14章是其他Unity3D相关的内容。该部分介绍了Unity3D开发过程中常用的一些代码片段及一些常用的Unity3D插件,包括常用摄像机、声音控制等。
本书示例代码及资料内容如下:
? 增强现实介绍及相关的视频(英文)
? 导出安卓需要的SDK
? Vuforia SDK及官方示例,相关图片
? EasyAR SDK及官方示例
? 高德地图安卓定位插件及示例
? Unity3D常用代码
? Vive增强现实开发例子
本书代码下载地址
http:pan.baidu.coms1pLDEvbH(注意数字和字母大小写)
如果代码下载有问题,请联系电子邮箱booksaga@163.com,邮件主题为AR代码。
本书阅读过程中,如有疑问,可以发邮件至5140075@qq.com,或者访问作者的技术博客http:blog.csdn.netwuyt2008并留言,以获得帮助。
吴雁涛
2017年7月
第 7 章? 虚拟现实简介 ?
7.1 虚拟现实基本概念虚拟现实,英文Virtual Reality,简称VR,是利用计算机系统生成一个模拟环境,提供使用者关于视觉、听觉、触觉等感官的模拟,让使用者如同身历其境一般,可以及时、没有限制地观察模拟环境内的事物。全景照片、全景视频和全景漫游是否算VR?这个还是有一些争论。不过,一般技术人员默认的VR不包括上述三种,而是专指由计算机3D模型生成虚拟环境的这种情况。7.2 常见的几种VR硬件1. 眼镜盒以google cardboard为代表,单纯的头戴式的VR设备。最常见的是将手机插入眼镜盒,利用手机屏幕播放内容,并提供运算。区别更多的只是盒子是纸做的还是塑料做的,戴着是否舒服。早期的Oculus也是这类,虽然是利用计算机运算,但是也只有一个眼镜盒,如图7-1所示。图7-1优点是简单、方便、便宜;缺点是手机运算功能有限,操作方式受限。例如,点击按钮的操作,在这类设备里面只能靠瞄准点盯住按钮,计时之后自动点击,如图7-2所示。图7-2Google cardboard、三星的Gear VR(如图7-3所示)、早期的暴风魔镜等都属于这类。图7-32. 加控制器的眼镜盒这一类可以认为是之前的眼镜盒的升级版。在单纯的头戴式的VR设备上添加了简单的控制器。例如有添加手柄的暴风魔镜、有语音控制的富士通VR眼镜等,如图7-4所示。图7-4比纯粹的眼镜盒,这类设备操作更方便,体验感也更好。国内的很多VR眼镜都是这一类的。3. 带定位的VR设备以HTC Vive为代表的,带有位置定位的VR设备。这类设备可以准确定位头盔以及手柄的位置方向,并且能够感知使用者的移动,这让使用者的沉浸度更高,能更好地进入到虚拟环境中进行体验,如图7-5所示。图7-5优点是体验感非常好,可以有更多的操作和交互的方式。缺点是使用者仍然被局限在一个很小的范围里,设备价格很高。HTC的vive、Sony的PS VR、Oculus Rift CV1都属于这类。7.3 HTC Vive介绍HTC Vive是由HTC与Valve联合开发的一款虚拟现实头戴式显示器产品,于2015年3月发布。由于有Valve的SteamVR提供的技术支持,因此HTC Vive可以通过Steam平台下载,是可以在Vive上使用的VR游戏和应用软件,如图7-6所示。图7-6HTC Vive采用的定位技术是激光扫描定位,有两个传感器。设备安装的时候,要求玩家设置活动空间的大小,最大支持约34米的空间,同时,设备会要求玩家设置地面位置。当玩家在游戏中要靠近设置空间的时候,会显示边框提醒玩家避免受伤。HTC Vive 搭载的是 21601200 OLED 屏幕,刷新率 90Hz。因此对电脑的配置要求也略高。官方推荐配置是i5处理器,4G以上内存,970以上显卡。也就是说,要一块¥1500以上的显卡才能带动。HTC Vive是基于电脑主机的VR设备,所以,在Unity3D发布的时候,按照Windows程序发布即可。7.4 HTC Vive 的手柄目前在Steam平台上已经可以体验利用Vive功能的虚拟现实游戏。手柄两个一对,分左右,开发的时候也是分左右的。每个上面有一个pad和4个按钮,如图7-7、图7-8所示。? 开关、系统菜单按钮:只有这个按钮不可以编程(默认),用来打开手柄,其实没用关的功能。在游戏中按下该按钮是调出系统默认的菜单,用来关闭,切换游戏用的。? menu按钮:默认用来打开游戏菜单。? grip按钮:用的最少的按钮,每个手柄上虽然有两个,但是功能相同。? trigger按钮:扳机按钮,用得最多,可以有力度。? pad:触摸屏 鼠标的功能,可触摸,可点击。图7-7图7-8本章后面两章介绍的两种开发方法各有特点,Input Utility插件开发简单,但是功能相对单一,没有手柄提示。InteractionSystem开发略显复杂,但是提供了另外一些有用的功能,大家根据自己的情况选择吧。7.5 Vive上的VR应用介绍1. Audioshield这是一款VR音乐游戏,随着音乐节拍,会用红色、蓝色、紫色的球向玩家飞来,玩家需要用手上对应颜色的盾把球挡住。它可以当成是打鼓机的VR版,还算有趣,如图7-9所示。图7-9
|
|