Metaio 镜像问题

来源:互联网 发布:天津教育网络教研平台 编辑:程序博客网 时间:2024/06/04 18:19

了解过Metaio的人都知道,工程中摄像机的画面是未镜像的,需要进一步的处理,结合自己的摸索以及网上的资料,提供两种方法以供参考。

1)修改metaioSDK中获取MetaioCamera的方法,修改如下:

     List<MetaioCamera> mcLst = MetaioSDKUnity.getCameraList();
     MetaioSDKUnity.startCamera(mcLst[0]);


这里注意的是startCamera有个重载方法,可以在MetaioSDKUnity中添加如下:

      camera.flip = MetaioCamera.FLIP_HORIZONTAL;

如此,就实现镜像,但这种方法在图片识别时,需要将待识别的图片也进行镜像方可


2)这种方法是参考网上,来自http://blog.csdn.net/xiaomuzi0802/article/details/41719925,也比较实用

将metaioDeviceCamera中的cameraPlane.transform.localScale = new Vector3(-scale, scale, scale);
改为:cameraPlane.transform.localScale = new Vector3(scale, scale, scale); 注意根据自己的平台。
2.在MetaioTracker.cs中将控制metaioSDK物体移动和旋转的值更改为:
Quaternion q;
           q.x = -trackingValues[3];
           q.y = trackingValues[4];
           q.z = -trackingValues[5];
           q.w = trackingValues[6];
           Quaternion mul = new Quaternion(1, 0, 0, -1);
           q *= mul;
            
           //translation
           Vector3 p;
           p.x = -trackingValues[0];
           p.y = trackingValues[1];
           p.z = -trackingValues[2];
这样的话,画面和追踪的物体就都进行了镜面的翻转,实现了想要的效果。

在这里做一记录,方便自己及其他人使用。

0 0
原创粉丝点击