Screen position out of view frustum解决办法

  1. 原文:http://jingyan.baidu.com/article/19192ad8081c13e53f57077a.html

    Screen position out of view frustum解决办法
    Screen position out of view frustum解决办法
  2. 解决办法1:摄像机的Tag由Main Camera改成Untagged。出现“Screen position out of view frustum (screen pos 256.000000, 0.000000, 15298.202148) (Camera rect 0 0 256 256)”错误提示的时候大多是因为Scence场景切换成了“2D”视图,而Main Camera属于3D 摄像机。但具体原因不明。

  3. 解决办法2:选中“Scene”标签,右键删除,即关闭当前的Scene窗口。然后通过添加窗口Add Tag-Scene,重新添加Scene标签。

    Screen position out of view frustum解决办法
  4. 解决办法3.检查摄像机的Size(摄像机的Projection选择为Orthographic时,才会有Size)的大小是否设置的太小或者直接就设置成0 了,增大Size可以解决问题;检查摄像机的Clipping Planes 的Near和Far参数,是否设置过小或者设置为0 了。默认值为Near为0.3,Far为1000

    Screen position out of view frustum解决办法
  5. 解决办法4:如果上述的办法已经解决了你的问题,你是幸运的。不过,我是那个不幸的,所以,就有了解决办法4。我的场景中异常提示设计到了Unity5自带的水预制体WaterProDaytime用到的脚本Water。为了解决问题,我开始从这个脚本入手,非常幸运的是我看到了一篇介绍关于WaterProDaytime使用注意事项的文章,上面提到,对于Orthographic相机,如果water在视截体内且water平面与相机视线平行,unity将报出“Screen position out of view frustum”这个error。这是unity自已API的问题,完美的解决只能等官方修正。作者给出了脚本修正的提示,但是没有具体脚本。我的脚本编写能力有限,只能进行相机是否是透视的进行判断,但是可喜可贺,问题依然得到解决,最后一张示意图,展示了我修改后的脚本:添加判断条件

     if (!cam.orthographic)

                    {

                        refractionCamera.Render();

                    }

                   

    Screen position out of view frustum解决办法
    Screen position out of view frustum解决办法
    Screen position out of view frustum解决办法

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页