官方文档:
- 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);
}