c1_unity/Assets/Scripts/Common/URP/URPManager.cs
2025-11-03 10:59:33 +08:00

49 lines
1.4 KiB
C#

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();
}
}
}