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