2016-05-02 15 views
1

私は、ユーザーボタンのクリック操作でDigitalEyewearBehaviourプロパティを変更する必要がある私のプロジェクトでvuforiaライブラリを使用しています。これまでのところ、画面の向きが変わり、デバッグログでチェックすると、アイウェアの種類とモードの両方が完全に設定されているように見えます。しかし、デバイスは画面の向きを横向きに変更し、カメラを黒くするだけです。Vuforia DigitalEyewear実行時に設定変更が動作しない

public void ChangeToHeadGearMode(){ 

    //static setting changes 
    Screen.orientation = ScreenOrientation.Landscape; 



    //Getting Player Settings 
    string ViewerType = PlayerPrefs.GetString("Viewer Type","Generic Cardboard (Vuforia)"); 
    string SterioFrameWork = PlayerPrefs.GetString ("Sterio Framework", "0"); 
    mDebug.Log ("Getting VT " + ViewerType); 
    mDebug.Log ("Getting SF " + SterioFrameWork); 

    //setting set 
    mDebug.Log (mHeadGearParameters.GetEyewearType().ToString()); 
    mHeadGearParameters.SetEyewearType(Vuforia.DigitalEyewearAbstractBehaviour.EyewearType.VideoSeeThrough); 
    mDebug.Log (mHeadGearParameters.GetEyewearType().ToString()); 

    if(SterioFrameWork=="0") 
    { 
     mHeadGearParameters.SetStereoCameraConfiguration(Vuforia.DigitalEyewearAbstractBehaviour.StereoFramework.Vuforia); 
     mDebug.Log ("ST=0"); 
    } 
    else if(SterioFrameWork=="1") 
    { 
     mHeadGearParameters.SetStereoCameraConfiguration(Vuforia.DigitalEyewearAbstractBehaviour.StereoFramework.Cardboard); 
     mDebug.Log ("ST=1"); 
    } 
    else if(SterioFrameWork=="2") 
    { 
     mHeadGearParameters.SetStereoCameraConfiguration(Vuforia.DigitalEyewearAbstractBehaviour.StereoFramework.GearVR); 
     mDebug.Log ("ST=2"); 
    } 

    mHeadGearParameters.SetViewerActive (true,true); 

}

vuforiaの開発者ポータルは、私がthat methodカメラのみブラックを適用SetViewerActiveような方法を述べています。私が使用しない場合、カメラは黒くならず、ビューはダンボールビューに変わらない。私はSetViewerActiveメソッドのすべての可能なオプションを試しましたが、動作しません。私はvuforia developer portalを何度も繰り返しましたが、エラーが見つかりませんでした。 私は何が間違っているのですか、またはどこで重要な点を見逃していますか?

答えて

0

私は自分自身の質問に対する答えを見つけました。同じ問題を抱えているかもしれない人にそれを投稿しています。現在のところ、チュートリアルや実際の動作例はありません。だから私は試行錯誤しなければならず、やっと私は解決策を見つけました。

あなたがする必要があることは、カメラインスタンスを初期化してから、設定を変更してからSetViewerActive(true,true)を実行してカメラを再初期化することです。

最終的な解決策は次のとおりです。

//static setting changes 
     Screen.orientation = ScreenOrientation.Landscape; 
     if (CameraDevice.Instance.Stop() && CameraDevice.Instance.Deinit()) 
     { 
      //Getting Player Settings 
      string ViewerType = PlayerPrefs.GetString("Viewer Type","Generic Cardboard (Vuforia)"); 
      string SterioFrameWork = PlayerPrefs.GetString ("Sterio Framework", "0"); 
      mDebug.Log ("Getting VT " + ViewerType); 
      mDebug.Log ("Getting SF " + SterioFrameWork); 

      //setting set 
      mDebug.Log (mHeadGearParameters.GetEyewearType().ToString()); 
      mHeadGearParameters.SetEyewearType(DigitalEyewearAbstractBehaviour.EyewearType.VideoSeeThrough); 
      mDebug.Log (mHeadGearParameters.GetEyewearType().ToString()); 

      if(SterioFrameWork=="0") 
      { 
       mHeadGearParameters.SetStereoCameraConfiguration(DigitalEyewearAbstractBehaviour.StereoFramework.Vuforia); 
       mDebug.Log ("ST=0"); 
      } 
      else if(SterioFrameWork=="1") 
      { 
       mHeadGearParameters.SetStereoCameraConfiguration(DigitalEyewearAbstractBehaviour.StereoFramework.Cardboard); 
       mDebug.Log ("ST=1"); 
      } 
      else if(SterioFrameWork=="2") 
      { 
       mHeadGearParameters.SetStereoCameraConfiguration(DigitalEyewearAbstractBehaviour.StereoFramework.GearVR); 
       mDebug.Log ("ST=2"); 
      } 

      mHeadGearParameters.SetViewerActive (true,true); 

     } 
0

再びアクティブに通常の表示に注意してください:それを無効にしてカメラをリセットするためにDigitalEyewearARController.Instance.SetViewerActive(false, true);を使用します。

+0

私はSetViewerActive(false、true)との間で切り替える必要があるようです。およびSetViewerActive(true、true);私が入っているビデオモードに応じて – ColacX