简单的AR Demo-Pockmon(Unity+高通Vuforia SDK)有卡篇

准备工作——SDK的下载与使用

我们使用Unity开发,那么首先,我们需要去Viforia官网上下载Unity的SDK。

前提是你有注册过了账号才可以下载。
Download->Download for Unity
直接将下载好的sdk拖入Unity中,Import导入。期间可能会因为一些内部文件的版本更迭问题弹出框,API Update Required,选择Go ahead即可,导入成功后可以看到在Asserts下看到高通Vuforia文件夹,并且菜单栏也有了一个Vuforia的选项卡

创建场景

Asserts下新建文件夹Scene用于存放之后所有的场景

File->Save Scene as->切换到刚刚创建的Scene目录下,存为Scene1,Scene中多了一个Scene1。
在普通3d游戏中,就如同电影录制一样,有一个摄像机和默认光源。

但是我们开发AR应用,就需要使用AR的摄像机,不能用Main Camera,否则拍出来的就不是AR。
此刻在Scene1中我们就要将Main Camera删除,在Asserts中刚导入的Vuforia文件夹下搜索ARCamera

将它拖拽到左侧的Hierarchy中。
那么接下来在我们能够使用Vuforia的功能时,我们需要去它的官网去生成一个Vuforia的证书密钥,即license key。
依旧进入官网开发者门户下,Develop->License Manager->Add
我们只需要选择Development即可,其他两项将收费。填写Appname,next,confirm。然后进入刚刚创建的License中即可查看license key。
接下来我们就要将这个license key绑定在ARCamera上。回到Unity,点击ARCamera,在编辑器右侧Inspector处可以看到

在此处填入Appkey即可

上传识别卡到Vuforia官网

有卡AR即我们需要一张显示卡才能显示出相应的AR对象。
依旧进入Vuforia官网,

Add一个,填好名字,type我们选择Device,因为我们最后要将游戏导出到手机设备上。完成后Create。
然后依旧点进去刚刚创建的database,我们需要添加识别卡进去。找一张清晰度高的图片, Addtarget 。type 选择 SingleImage 。width 即在游戏场景中识别卡的单位。这里我填写了 10。上传完毕以后Rating会给出评分,越高越容易被识别,需要颜色比较鲜艳对比度比较高。然后我们勾选targe,Download database。

下载完成以后依旧导入Unity中,导入完成以后我们可以看到Asserts下多了一个StreamingAsserts文件夹。
接下来我们下载3d模型,此处为一个皮卡丘。下载好以后将文件夹拖入Asserts目录下即可。点击ARCamera,在Inspector里调整参数如下:

即将摄像机向下旋转90°。在搜索栏搜索ImageTarget(用于放置识别卡的素材),将它拖入Hierarchy中。并在Inspector中选择其database为刚刚在官网创建的那个。然后我们将皮卡丘素材拖入场景中。

在Inspector中调整position为0,0,0;Rotation为180°,这样在演示时候他就能面向观众。将皮卡丘素材拖到ImageTarget下,使他成为ImageTarget的一个子对象。

然后再ARCamera中再次进入Configuration,

此时我们已经可以运行摄像机使用识别卡识别我们的皮卡丘了。

编写LeanTouch脚本

LeanTouch 脚本可以实现对对象的放缩和旋转。在AssertsStore中搜索 LeanTouch

点击并下载,完成后Import即可。
接下来我们给皮卡丘添加LeanTouch脚本。

直接将他拖动进去即可。其余脚本在上一级的example目录下,也是直接拖动即可。

Android平台的导出

  • 安装并配置AndroidSDk环境
    导出之前我们需要进行一些配置,Edit->Preference:


    点击到对应项下,若未安装先进行安装。
    完成后点击如下,对Company Name,ProductName以及下边的Package Name进行修改。


    然后Build即可生成apk
    到此结束~