背景:
我有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注册为主要或类似的东西,因为稍后当我在编辑器中手动重新启用它时,我也可以使用它的游戏视图。但我需要重新定义这个“主要或类似的东西”。
答案 0 :(得分:0)
解决了从一个OVRPlayer添加和删除脚本的问题。这增加了不必要的代码和查找,但遗憾的是没有找到切换玩家的好方法。