版本:Unity 6(6000.0)
语言:英语
使用多个相机
设置多个相机的顺序

配置多个相机

创建时,一个 Unity 场景场景包含游戏环境和菜单。将每个独特的场景文件视作独特关卡。在每个场景中,放置环境、障碍物和装饰,本质上是设计和搭建游戏。 只包含一个 相机在场景中创建特定视点图像的组件。输出绘制到屏幕或捕获为纹理。,并且这适用于大多数情况。然而,您可以在场景中设置任意数量的相机,其视点可以按照如下方式进行组合。

切换相机视点

默认情况下,一个相机将视点渲染为覆盖整个屏幕,因此一次只能看到一个相机视点(可见相机是深度属性具有最大值的相机)。通过从脚本禁用一个相机并启用另一个相机,您可以从一个相机“切换”到另一个相机,以提供场景的不同视点。例如,您可以执行此操作,以在头顶地图视点和第一人称视点之间切换。

using UnityEngine;

public class ExampleScript : MonoBehaviour {
    public Camera firstPersonCamera;
    public Camera overheadCamera;

    // Call this function to disable FPS camera,
    // and enable overhead camera.
    public void ShowOverheadView() {
        firstPersonCamera.enabled = false;
        overheadCamera.enabled = true;
    }
    
    // Call this function to enable FPS camera,
    // and disable overhead camera.
    public void ShowFirstPersonView() {
        firstPersonCamera.enabled = true;
        overheadCamera.enabled = false;
    }
}

在较大的相机视点内渲染较小的相机视点

通常,您至少需要一个覆盖整个屏幕的相机视点(默认设置),但在屏幕的一小部分区域内显示另一个视点通常很有用。例如,您可以在驾驶游戏中显示后视镜或在屏幕一角显示头顶小地图,同时主视点是第一人称。您可以使用视区矩形属性设置相机屏幕上矩形的大小。

“视口”矩形的坐标相对于屏幕进行了“归一化”。底部和左侧边缘位于 0.0 坐标,而顶部和右侧边缘位于 1.0。0.5 的坐标值横跨了一半。除了视口大小之外,您还应该将视野较小的相机的深度属性设置为高于背景相机的值。确切的值无关紧要,但规则是深度值较高的相机在深度值较低的相机之上进行渲染。

Two-player display created with the Viewport Rect property
使用视口矩形属性创建的两玩家显示

其他资源

使用多个相机
设置多个相机的顺序