2016-09-02 5 views
0

VRステレオを有効にしてゲームを開始したい場合、またはモノラルでロードしたい場合は、メインメニューで選択できるようにします。現在のところ、GvrViewerスクリプトには、VRを有効/無効にするためのGUIのブールチェックマークがありますので、ユーザーがメインメニューからブール値を実質的に制御するようにしています。メニューからブール値を選択してGoogle段ボール場面にロード

私は正しい道にいるかどうか分かりませんが、メインメニューには「VRで入力」と「モノで入力」と言う2つのボタンがあります。理想的には、「VRで入力」をクリックすると、ブール値を設定し、VRモードをトリガするブール値で新しいシーンをロードする機能がトリガされます。しかし、私は格納されたブール値を新しいシーンに渡す方法を理解することはできず、GUIインスペクタから既に格納されている設定を上書きするようにしています。私はメニュースクリプトからゲームオブジェクトの値を「見つけよう」と試みましたが、何も成功していないようです。

// buttons on main menu 

public void LoadMono(int level) { 
    MonoOrStereo.VRModeEnabled = false; 
    Application.LoadLevel (level); 
} 

public void LoadStereo() { 
    MonoOrStereo.VRModeEnabled = true; 
    Application.LoadLevel (level); 
} 



// boolean provided by GvrViewer script for GUI inspector settings 

bool VRModeEnabled { 
    get { 
     return vrModeEnabled; 
    } 
    set { 
      if (value != vrModeEnabled && device != null) { 
       device.SetVRModeEnabled(value); 
     } 
      vrModeEnabled = value; 
    } 
    } 
    [SerializeField] 
    public bool vrModeEnabled = false; 

答えて

1

正しいアプローチは、ゲーム全体にわたって永続的で、設定クラスオブジェクトを制御するGame managerオブジェクトを持つことです。場合

それでも、インスペクタで公開ブールに見え得る。このアプローチを使用する必要がある場合:

SettingsObject = GameObject.FindGameObjectsWithTag("Settings"); 
SceneManager = SettingsObject.GetComponent<SomeSceneManagerClass>(); 
Scenemanager.vrModeEnabled = true; 

私はあなたのプロジェクトの構造を確認する必要があるので、それを実行する必要が正確に何を伝えるのは難しいですどのクラスがプロジェクトを管理しているか、そしてインスペクタでどのように構成されているのか

(上記のコードはアプローチを示していて、あなたが望むように機能しないことに注意してください。上記が必要です)

関連する問題