在Unity中更改OVRPlayer相机

时间:2015-04-19 11:33:13

标签: unity3d oculus

背景: 我有3个Oculus OVRPlayerControllers,我想移动它们。 OVRPlayers是按计时器从堆栈加载的,例如每10秒加载一个新玩家,旧玩家加载SetActive(false)

我有两种可能的解决方案:

//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注册为主要或类似的东西,因为稍后当我在编辑器中手动重新启用它时,我也可以使用它的游戏视图。但我需要重新定义这个“主要或类似的东西”。

1 个答案:

答案 0 :(得分:0)

解决了从一个OVRPlayer添加和删除脚本的问题。这增加了不必要的代码和查找,但遗憾的是没有找到切换玩家的好方法。