0

背景: Oculus OVRPlayerControllers が 3 つあり、その間を移動したいと考えています。OVRPlayer は、タイマーによってスタックからロードされます。たとえば、10 秒ごとに新しいプレーヤーがロードされ、古いプレーヤーがロードされSetActive(false)ます。

私には2つの可能な解決策があります:

//1. Changing tag to MainCamera

    player = Instantiate(resource) as GameObject;
    player.SetActive(true);
    player.tag = "MainCamera";

//2. Enabling new Cameras and disabling old Cameras by loop

    oldPlayer.tag = "Untagged";
    oldPlayer.SetActive(false);
    //New player loaded from prefab and then->
    Camera[] cameras = player.GetComponentsInChildren<Camera> ();
    foreach(Camera cam in cameras){
       cam.enabled = false;
    }

しかし、どれも機能しません。新しいキャラクター コントローラーが正しくロードされ、IO は正常に動作しますが、カメラが非アクティブで、黒いビューしか表示されません。OVRPlayer カメラを再割り当てする方法はありますか?

編集: Unity は最初の OVRPlayer をメインまたは同様のものとして登録します。これは、後でエディターで手動で再度有効にすると、ゲーム ビューでも使用できるためです。しかし、この「メインまたは類似のもの」を再定義する必要があります。

4

1 に答える 1

0

1 つの OVRPlayer からスクリプトを追加および削除することで解決しました。これにより不要なコードとルックアップが追加されましたが、残念ながらプレイヤーを切り替える良い方法が見つかりませんでした。

于 2015-04-20T15:09:43.240 に答える