Foxlair

关于LOD Bias在VR开发中的magic number

· q8f13

之前无论是oculus还是steamvr的sdk,在unity开发中经常遇到场景中LOD显示不正常的情况 多表现为:

之后一段时间,在网上搜索解决方案的时候,遇到好多人提到一个magic number:3.8,可以解决这个问题 尝试了一下果然有效果,但这个值在设备上某些边界情况下似乎还是有细微的不准确,而且来源并不很科学

于是经过大量查找资料和推算,得出一个结论,即这个值是可以计算出来的:

LODBias / 目标Bias值 = (tan(原始FOV/2)/tan(设备FOV/2))

之前之所以出现LOD切换误差,实际是因为场景中相机的FOV与设备FOV不一致导致的 按照LOD Bias的默认值2.0,配合相机默认FOV 60来计算,算上vive的fov 110:

2.0 / x = (tan(pi/3/2) / tan(pi/(180/110)/2)) 计算得出 x ~= 3.68

如此看来,这个3.8果然只是人们逐渐尝试得出的一个并不准确的值,只是看上去好像对了而已 反过来推算,使用3.8时设备fov大概有115度(~3.83)

按照这个计算方式就可以得出不同fov设备上所需的LOD Bias值了

#unity   #vr   #valve   #oculus