49 lines
1.4 KiB
C#
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();
|
|
}
|
|
}
|
|
} |