Visual studio 如何将主摄像机设置为Unity中的其他摄像机位置之一?

Visual studio 如何将主摄像机设置为Unity中的其他摄像机位置之一?,visual-studio,unity3d,Visual Studio,Unity3d,首先,团结对我来说是全新的。我有一个统一的房间,房间的每个角落都有一个摄像头: Camera1, Camera2, Camera3, Camera4 现在,我想将主摄影机随机放置在其他摄影机位置之一(因此,具有相同的比例、位置和旋转)。因此,事实上,应将一个随机摄像机设置为主摄像机。每次我开始游戏时,都应该选择一个新的随机角点。而且当我在手机上打开游戏时,在构建项目之后 有人能告诉我怎么做吗?首先,你应该用这样的数组定义你的相机 公共摄像机[]摄像机 然后在检查器中填充数组。然后,您可以使用以

首先,团结对我来说是全新的。我有一个统一的房间,房间的每个角落都有一个摄像头:

Camera1, Camera2, Camera3, Camera4
现在,我想将主摄影机随机放置在其他摄影机位置之一(因此,具有相同的比例、位置和旋转)。因此,事实上,应将一个随机摄像机设置为主摄像机。每次我开始游戏时,都应该选择一个新的随机角点。而且当我在手机上打开游戏时,在构建项目之后


有人能告诉我怎么做吗?

首先,你应该用这样的数组定义你的相机

公共摄像机[]摄像机

然后在检查器中填充数组。然后,您可以使用以下代码切换当前选定的主摄像头:

int cameraIndex=Random.Range(0,cameras.Length);
camera.Main=cameras[cameraIndex]

我个人不会使用4个不同的摄像头,而是使用一个从一个位置移动到另一个位置的摄像头。使用空的游戏对象及其
变换.position
。你可以制作一个
数组
,从中选择一个随机对象,将你的相机位置设置为

,虽然这(大部分)有效,但我建议不要使用文字相机,因为当保持活动状态时,仍要花费CPU/GPU周期来渲染一些看不见的东西。此外,您不能指定给
camera.Main
,因为它是调用
GameObject.FindWithTag
的属性(因此也是方法)。从文档中,
第一个启用的摄像头标记为“MainCamera”(只读)。