Unity C#是否可以在不禁用其中一台摄像机的情况下切换场景中的摄像机?

时间:2019-09-06 22:57:28

标签: c# unity3d

我在一个场景中有两个摄像头,我想在它们之间切换而不禁用它们。可能吗?如果是,那么您能说明如何完成吗?谢谢

3 个答案:

答案 0 :(得分:1)

使用不同摄像机并管理转场的一种好方法是使用Unity制造的Cinemachine软件包。在下面的动画中,我将通过更改两个虚拟电影机摄像机的优先级在它们之间切换。

Switching between 2 Virtual Cinemachine Cameras by changing their priority.

  1. 使用默认相机创建一个新的空白场景。
  2. 在场景中心添加一个球体。这就是我们要用相机观察的对象。也许如上图所示,在球体下方添加一个平面以进行定向。
  3. 转到“窗口”->“包管理器”。搜索并安装Cinemachine。
  4. 在场景中选择当前的“主摄像机”游戏对象,然后添加CinemachineBrain组件。
  5. 有一个名为Cinemachine的新主菜单项。选择两次“创建虚拟相机”。将添加两个带有“ Cinemachine Virtual Camera”脚本的游戏对象。 CinemachineBrain组件充当这些虚拟摄像机的协调器。
  6. 在场景中放置两个虚拟摄像机,然后将Sphere拖动到两个虚拟摄像机的“ Look At”属性中。
  7. 如果启动项目,则第一个虚拟相机将处于活动状态。您可以提高第二个虚拟摄像机的“优先级”属性,视图将过渡到第二个摄像机。或者,您可以禁用第一个虚拟相机。
  8. Cinemachine非常强大。您可以在CinemachineBrain组件中更改虚拟摄像机之间的过渡。选择其他“默认混合”或添加“自定义混合”以进行过渡。
  9. 查看一些Official Cinemachine Tutorials以释放他们的全部力量。

答案 1 :(得分:0)

一种非常简单的方法是仅禁用相机组件。 我有一个场景,其中有6个具有不同后处理功能的摄像机,我的一个AA插件在禁用摄像机对象后使游戏崩溃,然后我尝试仅禁用摄像机组件

现在它可以正常工作了:)

第二个想法就是使用脚本删除 Camera Component 并将其添加到相机对象。

答案 2 :(得分:0)

如何更改相机上的标签。通常,mainCam具有MainCamera标签。 我不确定这是否行得通。