|
|
OpenGL里的 gluPerspective函数,是设定"可视范围"的.
其中的第一个参数 fovy 非常重要!
在 FPS游戏(比如:反恐精英CS)中,这个参数 fovy 如果设得不正确,会导致游戏玩家在旋转中感觉不适应,头晕,呕吐(特别是那些对视觉敏感的玩家).
我看过一些原代码,在一般情况下,程序员喜欢把 fovy 设置成 45度.但在游戏过程中,我感觉这个45度并不是真实的值,它让我感到头晕,恶心.
所以我想跟大家讨论讨论这个问题:
fovy 应该设置成多大的角度才是最真实,看着最舒服的?
我是这么认为的.
显示器的上下距离是27cm,所以从重点开始,是(-13.5cm,13.5cm),
平常,我玩 CS 的时候,眼睛离显示器的距离是 54cm,
因此, Tan(fovy/2)=13.5/54=0.25
所以,(fovy/2)=ArcTan(0.25)=14度,(就是说 Tan14度=0.25)
所以 fovy = 14度 x 2 = 28度 !
这,就是我的选择!
使用 gluPerspective(28.0f,ration,0.1f,1000.0f); 后,感觉非常舒服,非常真实!
这头也不疼了,腿脚也好了!
真是出家旅行必备良药啊!
请认准, fovy = 28.0f 度!
[em3] |
|