问题

3dsMax 中设置的视角与 Unity 中设置的视角都是 60 度,结果 3dsMax 中导出的模型导入到 Unity 中显示并不正确,在 Unity 中,视野变得更宽了。

原因

原因是 3dsMax 中使用的视角默认为水平视角,可改为垂直视角、斜视角;而 Unity 中默认使用的是垂直视角,并且无法改变。如果想让两边达到同一效果,则 3dsMax 中则应使用垂直视角,与 Unity 保持一致。

解决方法

已知水平视角,需要计算垂直视角时,还需要知道屏幕宽和高,使用如下公式计算:

formula

LaTex: vFov=2\times\arctan \left( \frac {h} {W}\times \tan \frac {hFov} {2})

当水平视角为90度时,Unity WebPlayer 分辨率为 960*600 时,垂直视角应为以下角度: 64.010766416166991121581291500809

参考资料