C# 从camera.main属性获取第二个摄影机

C# 从camera.main属性获取第二个摄影机,c#,unity3d,camera,C#,Unity3d,Camera,我在一个场景中有两个带“MainCamera”标签的相机。 使用这行代码 camera.main.transform.name 我得到了摄像机名称,但问题是,无论层次结构中两个主摄像机的深度或顺序如何,它只显示一个摄像机名称(这很好) 如何只获取第二个摄像头,而不是显示的摄像头! 我只想使用camera.main属性和nothing Other选项camera只不过是一个连接了组件的组件。因此,获取摄影机的所有实例非常简单: var cameras = FindObjectsOfType(typ

我在一个场景中有两个带“MainCamera”标签的相机。 使用这行代码

camera.main.transform.name

我得到了摄像机名称,但问题是,无论层次结构中两个主摄像机的深度或顺序如何,它只显示一个摄像机名称(这很好)

如何只获取第二个摄像头,而不是显示的摄像头! 我只想使用camera.main属性和nothing Other选项

camera只不过是一个连接了组件的组件。因此,获取摄影机的所有实例非常简单:

var cameras = FindObjectsOfType(typeof(Camera));
foreach (Camera camera in cameras)
    Debug.Log (camera.name);

如果要在渲染方法(OnPreRender、OnPostRender等)中访问摄影机,可以通过访问当前渲染的摄影机。
除此之外,没有办法得到一个“第二主”相机。Camera.main将始终返回第一个启用的主摄像头。你必须使用David的解决方案。

我认为使用camera.main只会首先使用标记为main的摄像头,mb他应该将其标记为不同的,对吗David?如何只使用第二个摄像头,而不是显示的摄像头!我只想使用camera.main属性而不使用其他选项。我知道我可以获取所有内容,但我只想使用camera.main选项。您不能。基本上你在做两个土豆,但你只想说一个是土豆,另一个是西红柿。只有当你假装不知道的时候,你才能这样做。@LumbusterTick,我同意你的观点,但OP似乎不愿意这样做。