Unity hololens 使用 holotoolkit FOV 总是 16.97196

Unity hololens using holotoolkit FOV always 16.97196

我正在使用 unity with holotoolkit 来开发 hololens 应用程序。问题是无论输入什么值,主摄像头的视野 (FOV) 始终为 16.97196。我什至添加了一个脚本来故意将 FOV 值设置为 60,但它重置为 16.97196。 FOV值是否可以根据用户要求设置。

实际的 hololens 设备在 ~17 FOV 上运行,Holotoolkit 将相机 FOV 设置为 ~16.97 以在统一开发和测试时获得相同的输出。

当您为 Hololens 开发应用程序时,没有任何理由在统一测试时更改 FOV 并具有与实际 hololens 设备不同的输出。

此外,您还可以获得问题详情here

您可以通过脚本直接为相机设置另一个投影矩阵来缩短FOV。例如,如果您需要 60 度 FOV,您可以这样写:

public class SetCameraProjectionMatrix : MonoBehaviour
{
    public float fieldOfViewOverride = 60.0f;

    void Start()
    {
        Camera cam = GetComponent<Camera>();
        Debug.AssertFormat(cam != null, "No {0} component on game object named {1} as expected.", typeof(Camera), gameObject.name);
        cam.projectionMatrix = Matrix4x4.Perspective(fieldOfViewOverride, cam.aspect, cam.nearClipPlane, cam.farClipPlane);
    }
}

Camera.projectonMatrix 属性 文档:https://docs.unity3d.com/ScriptReference/Camera-projectionMatrix.html

然后忽略视野,直到调用相机方法 ResetProjectionMatrix。