【问题标题】:How to get google-cardboard camera FOV?如何获得谷歌纸板相机 FOV?
【发布时间】:2016-11-07 15:50:09
【问题描述】:

我正在使用 Unity3d 和 Google Cardboard sdk 开发应用程序。我一直在尝试获取各个 Cardboard 相机的视野属性。这在编辑器中运行良好,但是,当我将它构建到 Android 时,相机的 fieldOfView 属性似乎返回了错误的值。

Camera cam = GameObject.FindWithTag("Camera_Left").GetComponent<Camera>();
float fov = cam.fieldOfView;

这是访问它的正确方法吗?

任何建议都非常感谢!

编辑

澄清一下,我不需要更改 FOV。我只需要访问一个相当准确的垂直 FOV 值。我正在尝试使用 FOV 计算游戏对象将出现在相机上的大小。

【问题讨论】:

    标签: c# unity3d google-cardboard google-vr


    【解决方案1】:

    在使用 VR 时,有许多值决定了fieldOfView。只是不再是 Camera.fieldOfView 属性了。应该使用 StereoController 类来获得它。

    StereoController stereoCtrl = GvrViewer.Controller;
    Debug.Log("Fov: "+stereoCtrl.matchMonoFOV);
    

    还有其他变量可供查看,例如 stereoCtrl.stereoMultiplierstereoCtrl.matchByZoom

    【讨论】:

    • 嗨,我看过这个。但是,除非我弄错了 matchMonoFOV 的范围在 0 和 1 之间,并设置了 VR 摄像机与单声道摄像机的 FOV 匹配的程度。为了澄清,我不需要更改 FOV。我只需要一个相当准确的垂直 FOV 值。我正在尝试根据与相机和 FOV 的距离来计算游戏对象出现在相机上的大小。
    • “澄清一下,我不需要更改 FOV” 我没有更改代码中的任何内容。 StereoController stereoCtrl = GvrViewer.Controller 将获取当前实例StereoController,以便我们可以使用stereoCtrl.matchMonoFOV 访问它的属性。因此,您对问题的评论和编辑没有意义。
    • 您只需要找到一种方法将0 and 1 转换为角度。 matchMonoFOV 就是你要找的。​​span>
    • 嗯,我的 matchMonoFOV 似乎设置为 0。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多