2017-01-12 29 views
2

私はUnityでfor Vuforia 6.2 AR SDKを使用しています。しかし、私はAndroidの携帯電話でアプリケーションをテストしている間、カメラはのようにぼんやりと表示されます。私はVuforiaの開発者のWebサイトを検索し、カメラフォーカスモードをいくつか見つけましたが、古いVuforia SDK用のガイドラインであるため実装できません。彼らのWebサイトで記述したスクリプトは見つかりません。ここにコードサンプルがありますが、動作しません。私は別のスクリプトを作成し、Start()関数でこの行を実行しますが、まだ動作しません。Vuforia ARカメラのフォーカスモードを変更するには?

CameraDevice.Instance.SetFocusMode(
     CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO); 
+0

パッケージには、オートフォーカスを切り替えることができるメニュー(携帯電話をダブルタップして表示)が含まれています。そのように動作しない場合、おそらく問題はあなたのデバイスです。 – Vancete

+0

スクリプトの先頭にこれを含めてください: Vuforiaを使用する。 –

答えて

2

このコードは、右のコードでこの

void Start() 
{ 
    VuforiaBehaviour.Instance.RegisterVuforiaStartedCallback(OnVuforiaStarted); 
    VuforiaBehaviour.Instance.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); 
    } 
} 
+1

こんにちはShubham、あなたは正しいです!しかし、あなたは 'VuforiaBehaviour'を 'VuforiaARController'に置き換える必要があります。 など: VuforiaARController.Instance.RegisterVuforiaStartedCallback(OnVuforiaStarted); \t \t VuforiaARController.Instance.RegisterOnPauseCallback(OnPaused); – XpressGeek

+0

SDKを更新してもドキュメントはまだ更新されていないのは非常に不満です! 最初の2行を修正しました。今は私のために働いています! コードを編集してください。私はそれを答えとして受け取ります。ありがとうございました – XpressGeek

+0

@Turzoありがとう、私はそれを変更します –

0

を試してみてください。

bool cameramode = false; 
public void OnCameraChangeMode() 
{ 
    Vuforia.CameraDevice.CameraDirection currentDir = Vuforia.CameraDevice.Instance.GetCameraDirection(); 
    if (!cameramode) { 
     RestartCamera(Vuforia.CameraDevice.CameraDirection.CAMERA_FRONT); 
     camBtnTxt.text = "Back Camera"; 
    } else { 
     RestartCamera(Vuforia.CameraDevice.CameraDirection.CAMERA_BACK); 
     camBtnTxt.text = "Front Camera"; 
    } 
} 

private void RestartCamera(Vuforia.CameraDevice.CameraDirection newDir) 
{ 
    Vuforia.CameraDevice.Instance.Stop(); 
    Vuforia.CameraDevice.Instance.Deinit(); 
    Vuforia.CameraDevice.Instance.Init(newDir); 
    Vuforia.CameraDevice.Instance.Start(); 
} 
+0

こんにちは、@Subhamによって提供される第1の答えは、私が探していた正しいことでした。ご回答有難うございます! :) – XpressGeek

関連する問題