【问题标题】:How to set the main camera to one of the other camera positions in Unity?如何将主摄像机设置为 Unity 中的其他摄像机位置之一?
【发布时间】:2019-10-13 12:42:13
【问题描述】:

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

Camera1, Camera2, Camera3, Camera4

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

谁能告诉我怎么做?

【问题讨论】:

    标签: visual-studio unity3d


    【解决方案1】:

    我个人会做的不是使用 4 个不同的摄像机,而是使用 1 个从一个位置移动到另一个位置的摄像机。使用空游戏对象及其Transform.position。您可以创建一个array,从中选择一个随机对象来设置您的相机位置

    【讨论】:

      【解决方案2】:

      首先你应该像这样在一个数组中定义你的相机,

      公共相机[] 相机;

      然后在检查器中填充数组。然后你可以用一些看起来像这样的代码来切换你当前选择的主摄像头:

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

      【讨论】:

      • 虽然这(大部分)有效,但我建议不要使用 literal 相机,因为当处于活动状态时,仍会花费 CPU/GPU 周期来渲染看不到的东西.此外,您不能分配给camera.Main,因为它是一个调用GameObject.FindWithTag 的属性(因此也是一个方法)。来自文档,The first enabled camera tagged "MainCamera" (Read Only).
      猜你喜欢
      • 2021-01-12
      • 1970-01-01
      • 2016-01-10
      • 1970-01-01
      • 2022-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多