Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将立方体统一放置在近剪裁平面处?_C#_Unity3d_Clipping_Plane_3dcamera - Fatal编程技术网

C# 将立方体统一放置在近剪裁平面处?

C# 将立方体统一放置在近剪裁平面处?,c#,unity3d,clipping,plane,3dcamera,C#,Unity3d,Clipping,Plane,3dcamera,我试着把一个立方体放在精确的位置,旋转作为相机的近剪裁平面,并将其缩放为近剪裁平面的精确高度和宽度 通过代码,我已经非常接近于实现这一点,但它仍然有点偏离实际的近剪裁平面。通过研究其他人试图对类似事物进行分析,我对规范化和世界坐标等概念变得更加困惑,而这些概念我以前很少涉及。有人能帮忙吗 以下是我到目前为止的情况: float h = 2.0f * 0.3f * Mathf.Tan(cam.fieldOfView * 0.5f * Mathf.Deg2Rad);

我试着把一个立方体放在精确的位置,旋转作为相机的近剪裁平面,并将其缩放为近剪裁平面的精确高度和宽度

通过代码,我已经非常接近于实现这一点,但它仍然有点偏离实际的近剪裁平面。通过研究其他人试图对类似事物进行分析,我对规范化和世界坐标等概念变得更加困惑,而这些概念我以前很少涉及。有人能帮忙吗

以下是我到目前为止的情况:

        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);
这是一张图片:正如你所看到的,它有点接近,但并不精确


我想说它的轴心点正好在剪裁平面上。。。它仍然是单位宽度,所以你可以看到一半的it@BugFinder它似乎在y轴和z轴上偏移了一点,而不是直接在近剪裁平面的位置,但我希望它是精确的…我说它的轴心点正好在剪裁平面上。。。它仍然是单位宽度,所以你可以看到一半的it@BugFinder它似乎在y轴和z轴上偏移了一点,而不是直接在近剪裁平面的位置,但我希望它是精确的。。。