内容简介
本书的内容主要包括Unity3D编程基础,Unity核心组件介绍,常用插件和第三方SDK的使用简介及相关的演示项目,项目都有详细的代码和功能介绍,均循序渐进地讲解需要使用的工具的基本原理和使用方法,可以让开发者在短的时间内了解相关领域的开发技巧。
目录
前言
第1章Unity 3D AR应用开发基础1
1.1 Unity 3D引擎简介1
1.1.1Unity 3D的下载与安装1
1.1.2Unity 3D操作界面简介6
1.1.3Unity 3D的基础组件与操作7
1.1.4Unity 3D的资源商店14
1.2Unity 3D编程基础14
1.2.1C#编程基础14
1.2.2C#面向对象编程基础24
1.2.3C#面向对象编程进阶26
1.2.4Unity 3D中的C#脚本30
1.3Unity 3D编程进阶32
1.3.1Unity 3D的设计模式32
1.3.2MonoBehavior的生命周期33
1.3.3控制GameObject的位置37
1.3.4控制GameObject的生成和销毁40
1.3.5处理Unity 3D中的物体碰撞43
1.3.6UI组件的使用45
1.4AR中常用的Unity 3D插件49
1.4.1视频播放插件:Easy Movie Texture50
1.4.2动画控制插件:iTween53
1.4.3手势控制插件:Easy Touch57
第2章使用Vuforia开发AR应用60
2.1Vuforia SDK简介60
2.1.1Vuforia SDK的下载与安装60
2.1.2创建App License Key62
2.1.3在SDK中输入App License Key63
2.2使用Vuforia SDK进行物体识别64
2.2.1图片识别64
2.2.2长方体识别70
2.2.3圆柱体识别73
2.2.4物体识别76
2.3使用Vuforia SDK制作AR视频80
2.3.1上传识别图80
2.3.2创建识别视频播放GameObject80
2.3.3创建识别图目标83
2.3.4编译运行程序85
2.4制作AR对战游戏87
2.4.1制作识别图87
2.4.2创建子弹87
2.4.3 创建玩家角色90
2.4.4创建敌人102
2.4.5将玩家和角色设定为Image Target104
第3章AR应用中的拓展功能实现110
3.1在Unity 3D中实现网络通信110
3.1.1计算机网络简介110
3.1.2搭建一个HTTP服务器111
3.1.3使用WWW从HTTP服务器获取图片112
3.2在Unity 3D中获取天气信息115
3.2.1通过网络API获取天气数据115
3.2.2使用GZipStream解压缩字符数组116
3.2.3在Unity中反序列化JSON数据117
3.3在Unity 3D中获取GPS信息119
3.3.1LocationService类119
3.3.2构建场景和UI处理逻辑119
3.3.3获取GPS数据120
3.3.4通过地理位置获取城市123
3.4在Unity中实现二维码的生成与识别126
3.4.1QR CodeBarcode Scanner and Generator简介126
3.4.2搭建工程场景127
3.4.2扫描二维码128
3.4.3生成二维码130
3.5在Unity 3D中实现动态资源加载132
3.5.1AssetBundle简介132
3.5.2如何创建AssetBundle132
3.5.3如何加载AssetBundle 134
3.5.4AssetBundle之间的依赖关系135
3.6在Unity 3D中实现热更新141
3.6.1热更新方案比较141
3.6.2XLua简介142
3.6.3如何使用XLua更新142
第4章使用OpenCV开发图像识别应用145
4.1OpenCV图像识别简介145
4.1.1OpenCV图像识别技术应用领域145
4.1.2OpenCV技术模块简介145
4.1.3OpenCV For Unity插件介绍147
4.2配置基础开发环境148
4.2.1开发环境要求148
4.2.2导入OpenCV For Unity插件包148
4.2.3配置OpenCV For Unity插件149
4.2.4运行OpenCV For Unity示例工程149
4.3面部识别152
4.3.1FaceTrackerSample扩展插件简介152
4.3.2场景搭建152
4.3.3编写面部识别脚本155
第5章使用ARToolkit进行AR开发160
5.1ARToolKit简介160
5.1.1ARToolKit是什么160
5.1.2ARToolKit特性简介161
5.1.3ARToolKit插件包导入161
5.1.4ARToolKit中的目录简介163
5.2搭建一个简单的AR场景163
5.2.1创建并设置AR Controller163
5.2.2创建并设置ARMarker165
5.2.3创建并设置AR Origin和AR Tracked Object165
5.2.4创建并设置ARCamera166
5.2.5运行场景168
5.3ARToolKit中的识别图简介168
5.3.1传统模板正方形识别图168
5.3.22D-Barcode识别图173
5.3.3多重识别图175
5.3.4特征点识别图177
5.4ARToolKit的进阶内容178
5.4.1AR Controller的运行机制178
5.4.2ARToolKit中性能问题的调查178
5.4.3ARToolKit的使用限制179
5.5跨平台开发的注意事项180
5.5.1插件已知问题180
5.5.2Android180
5.5.3iOS182
第6章Kinect应用开发183
6.1Kinect简介183
6.1.1Kinect是什么183
6.1.2Kinect功能特性简介183
6.2搭建Kinect的Unity 3D开发环境184
6.2.1硬件需求184
6.2.2安装DirectX185
6.2.3安装Kinect SDK186
6.2.4安装Kinect Unity插件188
6.3使用Kinect制作体感游戏190
6.3.1创建Kinect Manager190
6.3.2导入人物3D模型并创建Avatar190
6.3.3创建人物192
6.3.4创建敌人194
6.3.5为人物添加攻击处理197
6.3.6添加UI显示199
第7章HoloLens202
7.1HoloLens简介202
7.1.1Hologram简介204
7.1.2HoloLens硬件细节205
7.1.3HoloLens shell207
7.1.4使用MRC209
7.1.5HoloLens配件使用210
7.2HoloLens使用与开发环境配置210
7.2.1使用Windows Device Portal210
7.2.2安装HoloLens开发工具213
7.2.3HoloLens模拟器的使用213
7.3使用Unity开发HoloLens全息应用215
7.3.1配置适用于HoloLens开发的Unity工程215
7.3.2摄像机(Camera)设置219
7.3.3凝视(Gaze)功能实现220
7.3.4手势(Gesture)功能实现222
7.3.5语音输入(Voice input)功能实现225
7.3.6世界锚(World Anchor)与场景保持(Persistence)功能实现229
7.3.7空间音效(Spatial Sound)功能实现234
7.3.8空间映射(Spatial Mapping)功能实现235
前言/序言
增强现实(Augmented Reality,AR),是一种实时的基于摄像影像的位置和角度并加上自定义图像的技术,这种技术的目标是在现实的基础上增加一些定制内容以提供个性化的体验。随着计算设备运算速度的提高,AR技术应用的领域会越来越广,如今已经开始涉及医疗、教育、工业等。开发AR应用的人也成为市场上非常宝贵的人才资源。
Unity 3D是一款十分主流的游戏引擎,该引擎可以使开发者轻松地开发跨平台游戏和应用(支持如今的主流平台Windows、OS X、iOS、Android、Windows Phone等),设计精良的松耦合组件模型的引擎架构、庞大的开发者群体和健全的社区机制使得引擎发展得十分成熟。该引擎和AR开发也日渐成为AR应用开发的首选方案,极高的开发效率和系统的工作流使得开发AR应用相比其他开发形式有着巨大的优势。
得益于引擎功能的强大和开发者社区的健全,AR开发者可以将自己的全部精力集中在项目的内容开发上。当今AR内容依旧不够丰富,标杆性的产品也尚未崭露头角,但随着各个厂商对该部分的内容越来越重视,相信无论是从市场还是技术方面,AR都迎来了一个临界点式的突破,对所有的AR开发者来说,这无疑是最好的机会。
本书的目标读者主要分为以下两类。
初学者初学者可以通过本书学习基本的编程思路和方法,书中没有长篇大论的理论知识,更多的是从实践出发,在实际应用中了解程序的运行机制、Unity 3D的结构以及使用程序的思维解决实际问题的方法和经验。完成每章的项目部分后,重点在于理解解决方案的思路。每章都会抛砖引玉地介绍一些计算机的其他领域,有兴趣的读者可以去保存更多感兴趣的领域,来丰富自己的理论知识。当实践能力变得熟练时,理论知识才是限制个人能力最大的障碍。希望初学者可以通过本书先培养对编程领域的兴趣,然后再进一步提高自己感兴趣的具体方向的能力。
有经验的程序开发者有经验的开发者可以将本书作为一本熟悉SDK操作的参考书阅读。本书包含Unity和相关SDK的原理介绍,可以让有经验的开发者在最短的时间内了解开发相关内容的方法,提高工作效率和产出。
本书的内容主要包括Unity 3D编程基础、Unity核心组件介绍、常用插件和第三方SDK的使用简介及相关的演示项目,项目都有详细的代码和功能介绍,循序渐进地讲解需要使用的工具的基本原理和使用方法,可以让开发者在最短的时间内了解相关领域的开发技巧。希望通过这些项目可以为想要学习AR开发的读者提供学习的方向,帮助他们了解实际应用开发时需要考虑的问题以及一些实用的技巧。书中还会涉及一些网络的开发,有兴趣的读者可以以示例项目作为引导更深入和具体地学习网络开发的知识和技巧。
计算机视觉增强现实应用程序开发 电子书 下载 mobi epub pdf txt