using UnityEngine;
using UnityEngine.Rendering.Universal;
public class CameraUtility
{
public static void SetupCameraStack(Camera uiCamera, Camera sceneCamera)
{
sceneCamera.gameObject.SetActive(true);
uiCamera.GetUniversalAdditionalCameraData().renderType = CameraRenderType.Overlay;
UniversalAdditionalCameraData additionalCameraData = sceneCamera.GetUniversalAdditionalCameraData();
if(!additionalCameraData.cameraStack.Contains(uiCamera))
{
additionalCameraData.cameraStack.Add(uiCamera);
}
}
public static void SetupGameCameraStack(Camera uiCamera, Camera sceneCamera)
{
uiCamera.GetUniversalAdditionalCameraData().renderType = CameraRenderType.Overlay;
UniversalAdditionalCameraData additionalCameraData = sceneCamera.GetUniversalAdditionalCameraData();
additionalCameraData.cameraStack.Insert(0,uiCamera);
}
}
unity动态将UI相机挂载到场景相机栈中
最新推荐文章于 2024-08-15 19:44:12 发布
本文介绍了Unity中CameraUtility类的两个静态方法,用于在场景相机和UI相机间管理CameraStack,设置UniversalAdditionalCameraData的renderType为Overlay,以便实现相机叠加功能。
摘要由CSDN通过智能技术生成