Tag Archives: vuforia

Vuforiaでカメラのフォーカスがきかない場合

0
Filed under Unity
Tagged as , , ,

Vuforiaでカメラを作って、実機で動作させてみたら、カメラのフォーカスが合わない問題が発生しました。
自分の場合では、iPhone用に同じコードをビルドしても問題ないのに、Android用に書き出したら問題が出てきました。
調べてみたところ、下記ページに解決策が載っていました。
https://developer.vuforia.com/forum/unity-extension-technical-discussion/camera-focus-mode-android-unity
ARCameraの設定時にフォーカスモードを設定させる、というものなのですが、具体的にスクリプトまで配布されていて、これをARCameraにアタッチすれば解決する、というものです。
CameraFocusController.zip

using UnityEngine;
using System.Collections;
using Vuforia;
 
public class CameraFocusController : MonoBehaviour {
 
    private bool mVuforiaStarted = false;
 
    void Start () 
    {
        VuforiaARController vuforia = VuforiaARController.Instance;
 
        if (vuforia != null)
            vuforia.RegisterVuforiaStartedCallback(StartAfterVuforia);
    }
 
    private void StartAfterVuforia()
    {
        mVuforiaStarted = true;
        SetAutofocus();
    }
 
    void OnApplicationPause(bool pause)
    {
        if (!pause)
        {
            // App resumed
            if (mVuforiaStarted)
            {
                // App resumed and vuforia already started
                // but lets start it again...
                SetAutofocus(); // This is done because some android devices lose the auto focus after resume
                // this was a bug in vuforia 4 and 5. I haven't checked 6, but the code is harmless anyway
            }
        }
    }
 
    private void SetAutofocus()
    {
        if (CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO))
        {
            Debug.Log("Autofocus set");
        }
        else
        {
            // never actually seen a device that doesn't support this, but just in case
            Debug.Log("this device doesn't support auto focus");
        }
    }
}

Unity 2017.1 と Vuforia 6.2.10 の相性問題メモ

0
Filed under Unity
Tagged as ,

Unity 2017.1 conflicts Vuforia 6.2.10

Unity 2017.1 と、Vuforia 6.2.10 の組合せでMacでEditorで動かすとメモリ関係のエラーが出てクラッシュする問題が発生。

https://developer.vuforia.com/forum/unity/unity-201710f3-issue-checkdisalowallocation
によると、「Vuforiaチームは、Unity 2017.2のネイティブ統合対応に忙しいから対応出来ない」という話!!

で、「Vuforia 6.2.10は、Unity 5.6とか5.5で動かしてくれ」という公式回答!。。

Vuforiaは、古いSDKを公開していないし。。それしかないのかー。。

一度Unity 2017.1で作り始めてしまったから、、結構面倒。

戻すとバグが発生する

ちなみに、2017.1で作ったものを5.6.1で開いてみて進めてみると、複数のImage Targetを同時にうまく認識しない問題が発生しました。。いろいろいじってみても問題が多いので、結局5.6.1でゼロから作り直しました!!
これから同様の問題に当たったら、諦めて作り直しが良いですよ。というアドバイスメモ。