using UnityEngine; using UnityEngine.Rendering.Universal; namespace BF { public class URPManager : ManagerBase { static URPManager instance; public static URPManager Create() { BFLog.LogAssert(instance == null, "This method only allows BFMain to call once"); instance = new URPManager(); return instance; } URPManager() { } public override void Init() { base.Init(); } public override void Destroy() { base.Destroy(); instance = null; } // URP新增叠加相机 public void URPAddAdditionalCamera(Camera mainCamera, Camera additionalCamera) { var cameraData = mainCamera.GetUniversalAdditionalCameraData(); cameraData.cameraStack.Add(additionalCamera); } // URP移除叠加相机 public void URPRemoveAdditionalCamera(Camera mainCamera, Camera additionalCamera) { var cameraData = mainCamera.GetUniversalAdditionalCameraData(); cameraData.cameraStack.Remove(additionalCamera); } // URP清空叠加相机 public void URPClearAdditionalCamera(Camera mainCamera) { var cameraData = mainCamera.GetUniversalAdditionalCameraData(); cameraData.cameraStack.Clear(); } } }