我目前正在开发一款AR应用程序,它允许定位顶点以在水平平面中形成多边形。我能够生成一个网格,现在我想要捕获落在多边形边界内的相机图像并将其用作纹理。我试图按如下方式指定网格的uv:
for (int i = 0; i < uvs.Length; i++) {
var screenPoint = Camera.main.WorldToScreenPoint(vertices[i]);
uvs[i] = new Vector2(screenPoint.x / Screen.width, screenPoint.y / Screen.height);
}
如果相机以90度角俯视多边形,则此功能可正常工作。然而 如果相机处于不同的角度,多边形上的投影图像会变形。请参阅:polygon with camera projection as texture
白色球体不应该被扭曲,这意味着如果相机角度没有改变,就无法判断投影是否发生。这是一个显示没有投影的多边形的图像,如果投影真的不明显,它应该是这样的:polygon without projection/with unnoticeable projection
有没有办法达到这个效果?