← Unity APP 实例
← Xvisio SDK 文档主页
场景:Rgbd.unity
在此场景中我们将展示基于诠视AR眼镜开发的Rgbd功能,我们将通过AR眼镜的RGB相机和Tof相机实现利用RGB图像上的二维像素坐标获取其对应的三维空间坐标,并将获取到的三维空间坐标赋值给cube模型展示在场景中。
RGB图像的默认宽高是1920x1080,RGB图像左上角是(0,0)像素点的位置,Rgbd Demo采取了RGB图像上的三个点的二维像素坐标,p1点的像素坐标是(960,540),p2点的像素坐标是(960,810),p3点的像素坐标是(1440,540),利用这三个点的像素坐标可以获得他们在三维空间中的坐标位置,Rgbd Demo在这三个三维坐标位置各放置了一个cube模型,并使用绿线将他们连接。
Rgbd Demo会自动每隔0.4秒计算当前RGB图像三个像素点的三维坐标,并实时更新cube模型与连线的位置。
如下图所示,我们提供了一个简单的Rgbd开发场景。
Step 1:
创建一个Unity空场景,删除场景中原有的摄像机,拖拽XvXR/Prefabs目录下的XvXRManager预制体到场景中(注意transform和rotation都为0),此时场景中就合入了AR眼镜的6dof模块。
Step 2:
拖拽XvXR/Prefabs目录下的ThrowScene预制体到场景中,此时场景中就合入了虚实融合功能。
Step 3:
创建一个空物体,命名为Rgbdmanager,挂载RgbdManager.cs脚本。
Step 4:
创建一个空物体,命名为linePrefab,挂载LineRenderer组件,将line的width调整到合适大小。
Step 5:
创建一个空物体,命名为box,在box下创建3个cube,调整cube的尺寸为0.05。
Step 6:
将ThrowScene下的rgbrecord物体拖入RgbdManager组件的Rgbdrecord选项框中,将linePrefab物体拖入RgbdManager组件的Line选项框中,将box物体拖入RgbdManager组件的Box选项框中。
Step 5:
打包apk即可看到如下场景: