【Unity URP】URP Camera使用及动态设置

官方文档: 

 摄像机 | Universal RP | 12.1.1 https://docs.unity3d.com/cn/Packages/[email protected]/manual/cameras.html相机类型:

  • Render Type(渲染类型)
    • Base(基础相机):渲染到特定渲染目标的通用相机,场景中必须至少有一个。
    • Overlay(叠加相机):将其视图渲染在另一个摄像机的输出之上,必须与基础相机配合使用。

多相机使用:

 

功能测试:

Camera1,RenderType设置为Base,渲染Cube及相机视野范围内的所有物体;

Camera2,RenderType设置为Overlay,渲染Sphere,叠加显示在Camera1上。

实际使用可以分层级渲染,比如,Sphere物体设置为Sphere Layer,Camera1剔除Sphere Layer,Camera2只渲染Sphere Layer。

 动态设置:

    public void AddOverlayCameraAsBase(Camera toBaseCamera,Camera toOverlayCamera)
    {
        UniversalAdditionalCameraData toBaseData = toBaseCamera.GetUniversalAdditionalCameraData();
        UniversalAdditionalCameraData toOverlayData = toOverlayCamera.GetUniversalAdditionalCameraData();

        if(toBaseData.renderType != CameraRenderType.Base)
            toBaseData.renderType = CameraRenderType.Base;
        if(toOverlayData.renderType != CameraRenderType.Overlay)
            toOverlayData.renderType = CameraRenderType.Overlay;

        if(!toBaseData.cameraStack.Contains(toOverlayCamera))
            toBaseData.cameraStack.Add(toOverlayCamera);
    }

猜你喜欢

转载自blog.csdn.net/qq_39108767/article/details/131120618