我试图将一个立方体放在确切的位置并旋转作为相机的近剪裁平面,并将其缩放为近剪裁平面的确切高度和宽度。
通过代码,我已经非常接近做到这一点,但它与实际的近剪裁平面仍有一点差距。通过研究其他试图做类似事情的人,我对规范化和世界坐标等我以前没有处理过的概念变得更加困惑。任何人都可以帮忙吗?
这是我到目前为止所拥有的:
float h = 2.0f * 0.3f * Mathf.Tan(cam.fieldOfView * 0.5f * Mathf.Deg2Rad);
float w = h * cam.aspect;
cube.transform.localScale = new Vector3(w, h, 0.02f);
cube.transform.localRotation = cam.transform.localRotation;
cube.transform.localPosition = new Vector3(cam.transform.localPosition.x - cam.nearClipPlane, cam.transform.localPosition.y, cam.transform.localPosition.z);
这是一张图片:如您所见,它有点接近但不准确..