发表于2024-11-30
Unity3D是一款跨平台3D、2D游戏及互动内容开发引擎,并有着广泛的影响力。随着近年增强现实和虚拟现实的兴起,很多增强现实和虚拟现实的技术提供方都提供了基于Unity3D的SDK包。可以预见,市场对Unity3D人才的需要会大大增加。《Unity3D平台AR与VR开发快速上手》针对没有编程经验的初学者,通过详细的讲解,《Unity3D平台AR与VR开发快速上手》将Unity3D开发增强现实和虚拟现实的方法介绍给读者,《Unity3D平台AR与VR开发快速上手》使读者能够快速使用Unity3D平台开发AR与VR应用。
《Unity3D平台AR与VR开发快速上手》是一款跨平台3D、2D游戏及互动内容开发引擎,并有着广泛的影响力。随着近年增强现实和虚拟现实的兴起,很多增强现实和虚拟现实的技术提供方都提供了基于Unity3D的SDK包。可以预见,市场对Unity3D人才的需求将会大大增加。
《Unity3D平台AR与VR开发快速上手》共分为14章,详细讲解了Unity3D的安装、发布、界面等主要功能,并深入介绍AR(增强现实)、VR(虚拟现实)开发方法,以及地图定位、摄像机、声音播放等开发技巧,让读者了解到如何使用Unity3D制作ARVR产品,快速进入Unity3D应用开发之门。
《Unity3D平台AR与VR开发快速上手》适合使用Unity3D平台开发ARVR游戏和应用的移动开发人员,也适合高等院校和培训机构相关专业移动游戏开发方向的师生教学参考。
吴雁涛,网络游戏开发工程师,有多年的教学经验。
目录
第1章Unity的基本介绍1
1.1功能特点1
1.1.1Unity简介1
1.1.2Unity的特点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.4Game(游戏)视图14
2.5Scene(场景)视图15
2.6Hierarchy(层级)视图16
2.7Inspector(检视)视图17
2.8Project(项目)视图18
2.9Console(控制台)视图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.13D模型32
3.6.2刚体33
3.6.3重力35
3.6.4物理特性36
3.6.5穿透38
3.6.6粒子系统38
3.7UnityGUI40
3.7.1RenderMode显示模式41
3.7.2定位方式43
3.7.3响应脚本44
3.8脚本47
3.8.1基本介绍47
3.8.2MonoBehaviour48
3.8.3Transform49
3.8.4GameObject50
3.8.5常用事件51
3.8.6Instantiate52
3.8.7Destory53
3.8.8获取指定游戏对象或组件55
3.8.9指定平台57
3.8.10DontDestroyOnLoad58
3.8.11SendMessage58
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.11Unity商城资源下载和导入74
第4章增强现实介绍76
4.1基本概念76
4.2主流实现方式76
4.3典型案例78
4.4常用增强现实SDK81
4.5其他83
第5章基于VuforiaSDK的增强现实开发85
5.1Vuforia简介85
5.2准备工作85
5.2.1注册账号85
5.2.2下载SDK86
5.2.3添加key87
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下载VuforiaObjectScanner并打印图片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章基于EasyARSDK的增强现实开发118
6.1EasyAR简介118
6.2获得key118
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.3HTCVive介绍136
7.4HTCVive的手柄137
7.5Vive上的VR应用介绍137
7.6基于Vive的VR开发常见的几个问题139
第8章基于InputUtility插件的虚拟现实开发141
8.1基于InputUtility插件开发141
8.2SDK下载141
8.3按钮开发综述142
8.4Trigger按钮开发144
8.5Pad按钮开发145
8.6操作GUI146
8.7拖动远处的3D物体150
8.8传送152
8.9物体拾取和触碰158
第9章基于InteractionSystem的虚拟现实开发165
9.1InteractionSystem插件及SDK下载165
9.2按钮控制166
9.3基础碰触169
9.4物体拾取174
9.5传送180
9.6操作UI185
9.7道具拾取189
9.8按钮提示显示196
第10章高德地图Android定位SDK在Unity下的简单使用200
10.1Unity简单调用Java类200
10.2高德地图key的获取207
10.3安全码SHA1获取210
10.4准备Jar211
10.5导入Unity214
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.1CctvCamera230
11.1.2HandHeldCamera233
11.1.3MultipurposeCameraRig236
11.1.4FreeLookCameraRig240
11.1.5第一人称视角243
11.1.6DungeonCamera244
11.1.7LookAtCamera248
11.2双摄像机249
第12章声音播放255
12.1AudioClip、AudioSource、AudioListener255
12.1.1AudioClip255
12.1.2AudioSource256
12.1.3AudioListener256
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.2iTween的基本调用294
14.4.3iTween常见参数介绍294
14.4.4iTween实现移动295
14.4.5iTween实现旋转295
14.4.6iTween实现大小变化296
14.4.7iTween的变化值297
14.4.8iTweenVisualEditor导入299
14.4.9iTweenVisualEditor控制变化300
14.4.10iTweenVisualEditor指定运动路径302
14.5插件推荐305
第7章
虚拟现实简介
7.1虚拟现实基本概念
虚拟现实,英文VirtualReality,简称VR,是利用计算机系统生成一个模拟环境,提供使用者关于视觉、听觉、触觉等感官的模拟,让使用者如同身历其境一般,可以及时、没有限制地观察模拟环境内的事物。
全景照片、全景视频和全景漫游是否算VR?这个还是有一些争论。不过,一般技术人员默认的VR不包括上述三种,而是专指由计算机3D模型生成虚拟环境的这种情况。
7.2常见的几种VR硬件
1.眼镜盒
以googlecardboard为代表,单纯的头戴式的VR设备。最常见的是将手机插入眼镜盒,利用手机屏幕播放内容,并提供运算。区别更多的只是盒子是纸做的还是塑料做的,戴着是否舒服。早期的Oculus也是这类,虽然是利用计算机运算,但是也只有一个眼镜盒,如图7-1所示。
图7-1
优点是简单、方便、便宜;缺点是手机运算功能有限,操作方式受限。例如,点击按钮的操作,在这类设备里面只能靠瞄准点盯住按钮,计时之后自动点击,如图7-2所示。
图7-2
Googlecardboard、三星的GearVR(如图7-3所示)、早期的暴风魔镜等都属于这类。
图7-3
2.加控制器的眼镜盒
这一类可以认为是之前的眼镜盒的升级版。在单纯的头戴式的VR设备上添加了简单的控制器。例如有添加手柄的暴风魔镜、有语音控制的富士通VR眼镜等,如图7-4所示。
图7-4
比纯粹的眼镜盒,这类设备操作更方便,体验感也更好。国内的很多VR眼镜都是这一类的。
3.带定位的VR设备
以HTCVive为代表的,带有位置定位的VR设备。这类设备可以准确定位头盔以及手柄的位置方向,并且能够感知使用者的移动,这让使用者的沉浸度更高,能更好地进入到虚拟环境中进行体验,如图7-5所示。
图7-5
优点是体验感非常好,可以有更多的操作和交互的方式。缺点是使用者仍然被局限在一个很小的范围里,设备价格很高。
HTC的vive、Sony的PSVR、OculusRiftCV1都属于这类。
7.3HTCVive介绍
HTCVive是由HTC与Valve联合开发的一款虚拟现实头戴式显示器产品,于2015年3月发布。由于有Valve的SteamVR提供的技术支持,因此HTCVive可以通过Steam平台下载,是可以在Vive上使用的VR游戏和应用软件,如图7-6所示。
图7-6
HTCVive采用的定位技术是激光扫描定位,有两个传感器。设备安装的时候,要求玩家设置活动空间的大小,最大支持约3×4米的空间,同时,设备会要求玩家设置地面位置。当玩家在游戏中要靠近设置空间的时候,会显示边框提醒玩家避免受伤。
HTCVive搭载的是2160×1200OLED屏幕,刷新率90Hz。因此对电脑的配置要求也略高。官方推荐配置是i5处理器,4G以上内存,970以上显卡。也就是说,要一块¥1500以上的显卡才能带动。
HTCVive是基于电脑主机的VR设备,所以,在Unity3D发布的时候,按照Windows程序发布即可。
7.4HTCVive的手柄
目前在Steam平台上已经可以体验利用Vive功能的虚拟现实游戏。
手柄两个一对,分左右,开发的时候也是分左右的。每个上面有一个pad和4个按钮,如图7-7、图7-8所示。
?开关、系统菜单按钮:只有这个按钮不可以编程(默认),用来打开手柄,其实没用关的功能。在游戏中按下该按钮是调出系统默认的菜单,用来关闭,切换游戏用的。
?menu按钮:默认用来打开游戏菜单。
?grip按钮:用的最少的按钮,每个手柄上虽然有两个,但是功能相同。
?trigger按钮:扳机按钮,用得最多,可以有力度。
?pad:触摸屏+鼠标的功能,可触摸,可点击。
图7-7图7-8
本章后面两章介绍的两种开发方法各有特点,InputUtility插件开发简单,但是功能相对单一,没有手柄提示。InteractionSystem开发略显复杂,但是提供了另外一些有用的功能,大家根据自己的情况选择吧。
7.5Vive上的VR应用介绍
1.Audioshield
这是一款VR音乐游戏,随着音乐节拍,会用红色、蓝色、紫色的球向玩家飞来,玩家需要用手上对应颜色的“盾”把球挡住。它可以当成是打鼓机的VR版,还算有趣,如图7-9所示。
图7-9
2.Destinations
这应该算是一个VR社交应用,用户可以选择一些虚拟或现实的场景,可以独自在场景里逛荡,也可以把这个场景变成一个聊天室,让好友们用各自的虚拟形象出现在场景中聊天。尽管,作者从来没在场景里见到其他人,如图7-10、图7-11所示。
……
前言
Unity3D是由UnityTechnologies公司开发的一款跨平台的游戏行业软件,能够让用户轻松快速地创建互动游戏、实时动画等内容,并发布到苹果、安卓等多个平台。因其良好的生态及广泛的支持,使其在增强现实开发上也获得了众多厂商的青睐。很多增强现实提供商都提供了基于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
?VuforiaSDK及官方示例,相关图片
?EasyARSDK及官方示例
?高德地图安卓定位插件及示例
?Unity3D常用代码
?Vive增强现实开发例子
本书代码下载地址
http://pan.baidu.com/s/1pLDEvbH(注意数字和字母大小写)
如果代码下载有问题,请联系电子邮箱booksaga@ Unity3D平台AR与VR开发快速上手 下载 mobi epub pdf txt 电子书 格式
Unity3D平台AR与VR开发快速上手 下载 mobi pdf epub txt 电子书 格式 2024
Unity3D平台AR与VR开发快速上手 下载 mobi epub pdf 电子书希望能学到怎么应用hololens
评分AR与VR开发AR与VR开发AR与VR开发
评分先囤上,慢慢看,慢慢学,改行不是梦
评分很好好好好好,值得购买
评分不错的书,慢慢学
评分我觉得黑色的更好
评分此用户未填写评价内容
评分美
评分书很新。印刷也好 留着慢慢看
Unity3D平台AR与VR开发快速上手 mobi epub pdf txt 电子书 格式下载 2024