ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

untiy报错: Screen position out of view frustum解决办法

2021-10-19 16:33:46  阅读:753  来源: 互联网

标签:脚本 解决办法 frustum untiy Scene 摄像机 报错 相机 view


原文链接:https://jingyan.baidu.com/article/19192ad8081c13e53f57077a.html

 

  • 解决办法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 摄像机。但具体原因不明。

    Screen position out of view frustum解决办法

    Screen position out of view frustum解决办法

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

    Screen position out of view frustum解决办法

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

    Screen position out of view frustum解决办法

  • 解决办法4:如果上述的办法已经解决了你的问题,你是幸运的。不过,我是那个不幸的,所以,就有了解决办法4。我的场景中异常提示设计到了Unity5自带的水预制体WaterProDaytime用到的脚本Water。为了解决问题,我开始从这个脚本入手,非常幸运的是我看到了一篇介绍关于WaterProDaytime使用注意事项的文章,上面提到,对于Orthographic相机,如果water在视截体内且water平面与相机视线平行,unity将报出“Screen position out of view frustum”这个error。

    Screen position out of view frustum解决办法

  • 这是unity自已API的问题,完美的解决只能等官方修正。作者给出了脚本修正的提示,但是没有具体脚本。我的脚本编写能力有限,只能进行相机是否是透视的进行判断,但是可喜可贺,问题依然得到解决,最后一张示意图,展示了我修改后的脚本:添加判断条件

     if (!cam.orthographic)

                    {

                        refractionCamera.Render();

                    }

                   

    Screen position out of view frustum解决办法

 以上如果都不还不行,则可以选择看一下maincamera是否又警告

 如果又这个警告,就代表相机有些计算太小了,导致出错,可以对摄像机进行设置

 

可以把默认的near调整大一下,并且尽量对相机范围进行限定。

注意:同样的代码,再小场景中无bug,改成大场景后,出现问题

标签:脚本,解决办法,frustum,untiy,Scene,摄像机,报错,相机,view
来源: https://blog.csdn.net/jiamian123456/article/details/120848875

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有