【问题标题】:Vuforia camera low device camera resolution with Unity使用 Unity 的 Vuforia 相机低设备相机分辨率
【发布时间】:2016-12-29 05:01:58
【问题描述】:

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

在 Unity Vuforia 配置设置中,我将相机设备模式设置为“MODE_OPTIMIZE_QUALITY”,但分辨率不会改变。 我的设备:三星 Galaxy Note 12。

我使用了这个脚本:

Screen.SetResolution(1920,1080,true);

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

我该如何解决这个问题?

【问题讨论】:

    标签: unity3d android-camera augmented-reality vuforia


    【解决方案1】:

    我认为您无法获得更高的分辨率,我过去也一直在为此苦苦挣扎。查看 Vuforia 论坛,您会看到支持人员的回答,例如:“Vuforia SDK 使用针对检测和跟踪进行了优化的相机分辨率。目前没有办法提高照片分辨率。”,还有“对此没有具体的解决方案;在某些设备上,相机预览分辨率限制为 640 x 480"。

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

    【讨论】:

      【解决方案2】:

      您可以通过将以下代码添加到从 Monobehaviour 继承的脚本中来配置 Vuforia 初始化时的自动对焦。这会向 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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-25
        • 2012-04-18
        • 1970-01-01
        • 2016-05-31
        • 1970-01-01
        • 2014-01-24
        相关资源
        最近更新 更多