Unity ARKit:在检测到的平面上将摄像机框架投影为纹理,以使用第二个摄像机渲染自顶向下的视图

时间:2019-03-06 09:54:10

标签: unity3d image-processing shader arkit

我正在使用Unity3D和ARKit,我的目标是将相机图像投影到使用ARKit检测到的平面上。这样我就可以用第二个正交摄像机在Brid的视线中渲染飞机。结果将是自上而下的视图的纹理地图。整个过程不必在第一个版本中实时运行,只需单击一下按钮就可以工作一帧。 enter image description here 我目前的步骤是:

  1. 在单击按钮时冻结框架(将像素读取到UI图像)
  2. 复制ARKit平面网格,以便不再扩展和跟踪平面
  3. 现在出现了问题,如何在平面上正确地透视变换相机图像(存储在UI图像中)?我是否必须在纹理或着色器上进行变换? 如果平面大于当前相机图像,该如何处理?我必须先裁剪飞机吗?就像图片(案例2)一样,只有绿色区域可以纹理。

enter image description here

ARKit plane geometry中,我可以获得3d顶点和平面的纹理坐标。我也可以从World Coordinates to Screen转换过来,但是我在如何以及在哪里进行从屏幕到检测到的平面的图像转换方面都感到困惑。

0 个答案:

没有答案