Vuforia相机使用Unity降低设备相机分辨率

时间:2016-12-29 05:01:59

标签: unity3d android-camera augmented-reality vuforia

如何强制设备相机为AR相机使用最高分辨率? 我使用了Vuforia 6和Unity 5,但是当我发布我的应用程序并在具有8mb相机传感器的设备上使用时,应用程序中的相机视图分辨率非常低。我认为它是640X480,它缩放了。

在Unity Vuforia配置设置中,我将摄像机设备模式设置为" MODE_OPTIMIZE_QUALITY"但它并没有改变分辨率。 我的设备:三星Galaxy Note 12。

我用过这个脚本:

Screen.SetResolution(1920,1080,true);

并分配给ARCamera,但它没有变化。 它适用于任何设备。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

我认为你不能获得更高的分辨率,我过去一直在努力解决这个问题。查看Vuforia论坛,您将看到支持人员的答案,例如:" Vuforia SDK使用针对检测和跟踪进行了优化的摄像头分辨率。目前没有办法提高照片分辨率。"以及"没有特定的解决方案;在某些设备上,相机预览分辨率限制为640 x 480"。

您可以通过api设置模式,但这只是对Vuforia引擎的建议,因为无法保证特定的分辨率。

答案 1 :(得分:0)

您可以在Vuforia初始化时配置自动对焦,方法是将以下代码添加到从Monobehaviour继承的脚本中。这会在VuforiaBehaviour中注册一个回调,该回调将在Vuforia进程启动时设置焦点模式。

void Start ()
{
    var vuforia = VuforiaARController.Instance;
    vuforia.RegisterVuforiaStartedCallback(OnVuforiaStarted);
    vuforia.RegisterOnPauseCallback(OnPaused);
}

private void OnVuforiaStarted()
{
    CameraDevice.Instance.SetFocusMode(
        CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO);
}

private void OnPaused(bool paused)
{
    if (!paused) // resumed
    {
        // Set again autofocus mode when app is resumed
        CameraDevice.Instance.SetFocusMode(
            CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO);
    }
}

https://library.vuforia.com/content/vuforia-library/en/articles/Solution/Working-with-the-Camera.html