云识别是AR功能组成重要的一部分,EasyAR对云识别的支持也是相当完善的。这一篇主要讲解如何用unity+EasyAR 构建AR云识别应用。
Step 1:项目框架
我们新建一个unity项目,命名为"ARCloud",将"EasyAR_SDK_2.0.0_Basic" unitypackage 导入到unity中,效果如图:
删除原有的Main Camera,将"EasyAR_ImageTracker-1_Cloud"组件拖到面板中
对于"EasyAR_ImageTracker-1_Cloud"与普通的"EasyAR_Startup" 的区别就是在于"CloudRecognizer",是我们进行云识别的关键,我们后面会修改Cloud 的脚本文件
我们在unity新建一个文件夹,命名为"StreamingAssets",里面存放我们的云识别的识别图。在这次的演示中,我准备了5张图片(纹理较为丰富)来进行测试。
Step 2:官网设置
我们到官网首先为我们的应用创建Key
填好我们的应用名
确定完成之后,可以看见我们申请到的Key
接着我们开通云识别功能,云识别对于我们的开发者免费试用14天,当然购买最好。我们先点击试用一下
然后填写我们的图库名称,点击立即试用
等到状态变为"使用中"时,我们对我们新建好的图库进行管理,上传识别图
我们上传识别图,上传第一张识别图我们详细讲解,后面以此论推。进入图库后,我们上传图片,会弹出:
名称:与我们unity项目中的识别图名称对应
宽度:规定以cm为单位填入,填写的大小将影响我们的模型大小
Meta,是一个txt文件,且在2M内,主要是描述对识别图的说明,可以随便写,也可以不上传。
我们上传我们在unity项目中的那张"test" 图片,效果如图:
点击确定之后,即可完成
接下来是最重要的,我们观察到在这个图库上有"Key","Secret","访问地址"信息字段,这个和我们在前面申请到的key一样,需要在unity中填写:
Step 3:实现云识别
我们回到unity开发中,首先我们将第一次获取到的key值填入到"EasyAR_ImageTracker-1_Cloud" 中
结下来处理云识别代码,我们新建一个脚本"EasyCloudBehaviour",替换原来挂在"CloudRecognizer"z组件上的"CloudRecognizerBehaviour"脚本。
关于脚本内容,大家可以下下来研究研究:链接: https://pan.baidu.com/s/1i5oWsXv 密码: pvpc
最重要的时候到了,我们将在官网建立图库时申请的"Key","Secret","访问地址"的内容填写到这里(Server填写的是移动端SDK访问地址)
效果如图:
实现到这,我们上传到官网的那些识别图就可以识别了,如果要实现扫描识别图展现AR模型的话,我们还需运用到ImageTarget,关于ImageTarget 的配置属于EasyAR最基础的东西,在这里我只演示一张识别图。我们将一个ImageTarget组件拖到面板中去:
然后修改挂在ImageTarget上面的脚本,关于脚本内容,不懂的可以看看之前的文章:EasyAR 初学者入门指南(1)---显示模型
准备好后,我们填写上传到官网的识别图信息(即那五张识别图),在这里,以test这种识别图为例:
然后在ImageTarget 下面创建要显示的模型即可。其他的识别图操作类似
到这里我们就实现了一个AR云识别的案例了。
Step 4;开发技巧
在我们实际开发中,没有必要从0搭建一个云识别应用,常常在EasyAR Samples的基础上进行开发,比如我们下载EasyAR 2.0的unity案例
打开"HelloARCloud"项目
进入unity之后,打开"HelloARCloud" 场景
将官网申请到的Key 与 建立的图库的"Key","Secret","访问地址" 填入到相应位置即可
一切设置好后,你就可以自行开发了。这种方式也是我们所推崇的,会大大提高我们的开发效率。