【问题标题】:Unity, change the display camera for the scene and the target display in the Canvas C#unity,在Canvas C#中更改场景的显示相机和目标显示
【发布时间】:2017-04-25 15:15:21
【问题描述】:

我有 2 个摄像头和 1 个 Canvas,我想在按下按钮时将场景的显示更改为第二个摄像头,同时将 Canvas 的目标显示更改为第二个摄像头,我正在使用 C#。

我知道我必须使用GetComponent<Camera>GetComponent<Canvas>,但我不知道如何为这两个设置索引。

任何帮助将不胜感激。

【问题讨论】:

  • 这似乎更适合GameDev StackExchange 站点。
  • @GoBusto ,谢谢,我会调查的。如果有人可以帮忙,我会在这里等,如果没有,我会在那里尝试。
  • 我在这里和 GameDev 上都看到了 unity3d 标签。 GameDev 仍在弄清楚在哪里划定编程问题的界限,目前它在“如果它与游戏开发有关,那么这里很好”方面相当宽松,尽管一年前这些问题(包括这个问题)将被重定向到 SO。我会在任何地方回答它,这取决于我首先看到它的位置(当然,假设我可以)。

标签: c# canvas unity3d camera display


【解决方案1】:

而不是更改索引:只需 禁用一个摄像头并启用另一个。 浪费 GPU 周期渲染看不到的东西是没有意义的(这是第二个活动摄像头会做的事情) )。

至于改变Canvas目标:

更改画布的worldCamera属性,例如:

canvasGO.GetComponent<Canvas>().worldCamera = cam2.GetComponent<Camera>();

【讨论】:

  • 启用和禁用摄像头很好,我以前见过,但我没有想到你的意思,谢谢。
  • 请注意,您可以启用/禁用组件本身,而不仅仅是游戏对象。在某些情况下,这可能更可取。我知道对于 Canvas 的东西,禁用 canvas 组件要快得多。 Great talk from the Unity guys 关于这个主题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-01-31
  • 1970-01-01
  • 1970-01-01
  • 2017-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多