0

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

4

1 回答 1

0

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

于 2015-04-20T15:09:43.240 回答