Unity Aspect

Unity封装的东西太多,所以在很多情况下回忽略这些基本的事情。游戏窗口的中Aspect是通过Game窗口中进行选择,但对于相机的Aspect Unity并没有暴露接口在设置界面中,至少在编辑器下进行的任何视口调整都会马上看到正确的效果。

Camera.ResetAspect 会自动计算。OK, 实际在代码运行中呢? 如果要修改视口大小 就需要显式的设置Aspect并调用 Camera.ResetAspect 重置。

在DX或者Opengl中,如果要正确显示模型,需要在设置投影矩阵的时候明确的给出FOVASPECT数值,如果在运行中进行调整,则需要重新计算透明矩阵。 Unity应该是采用类似的方式,不过鉴于修改投影矩阵可能影响比较多,所以就让你自己主动调用好了,不过你也可以不设置aspect的数值。

原文地址:https://www.cnblogs.com/zsb517/p/5704555.html