本文转自 明一 AR开发者论坛
本文目的是自己创建一个metaio应用,并以扫描图片为目标,即 Image Tracking。
第一步:创建一个新的Unity3d工程,导入metaio插件包。
位置: ...\metaio SDK 5.3\_Unity\metaioSDK.unitypackage

包含了metaio,Plugins,Rersources三个文件夹。其中metaio\Prefabs中有两个Prefabs,都需要用到。
第二步:创建一个场景,加入metaio的Prefab
创建一个新场景,删除场景中的MainCamera,将metaioSDK\metaioTracker这两个Prefab拖到场景中。
增加一个layer, 命名为metaioLayer。


这时候,DeviceCamera会自动将Layer设置为metaioLayer,如果没有的话,则手动设置下,使得DeviceCamera和它的子物体CameraPlane都是在这个Layer上。
第三步:设置signature
之前提到过,metaioSDK的SDK Signature和Bundle Identifier是要绑定在一起的,需要到官网上申请。
先注册自己的账号,然后到 http://my.metaio.com/index.php?state=registerLicense 上申请。

我申请到就是:
Bundle Identifier: com.mingyi.metaiotest1
Signature: tEERU6rHr/0ij3vS7Km9XxGjwFT8OkTDBeG7MFNVghM=
将申请到填入。

Build Setting ->Player Settings...->Other Settings

第三步: 设置扫描的图片
首先在Project面板中创建StreamingAssets文件夹,把附件中的TrackingData_MarkerlessFast.xml文件放在其中,把需要扫描的图片放在其中。
扫描图片为:


附:关于图片扫描的相关要求,请参考这篇文章, http://game.ceeger.com/forum/read.php?tid=16269&fid=27 。是本人根据官网翻译出来,也可以看原文,欢迎纠错。
在metaioSDK中选择StreamingAssets模式,将TrackingData_MarkerlessFast.xml拖到metaioSDK中

第四步:设置扫描结果
本文设置了两个扫描结果,需要几个扫描结果,就拖入几个metaioTracker,并把扫描出来的结果放在metaioTracker下,作为它的子物体
第一个metaioTracker中的Coordinate Sytem ID 设置为1,第二个metaioTracker中的Coordinate Sytem ID 设置为2。

由于metaio的单位问题,要把子物体放大100倍,才能看到结果,如果太小的话就看不到结果了。
我导出的是apk,大家试试看。 优快云上有项目源代码和apk文件。