本文主要是介绍Unity2021在URP模式下摄像机重叠背景设置问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Unity2021在URP模式下,假设场景中有2个摄像机A和B,如果希望B摄像机渲染的内容覆盖到A摄像机上面,那么摄像机B的RenderType设置为Overlay,在A摄像机的Stack中添加B摄像机就可以了。
渲染内容覆盖的顺序取决于添加的顺序,可以手动拖拽来改变顺序。
使用代码控制的方法参考如下:
using UnityEngine;
using UnityEngine.Rendering.Universal;public class NewBehaviourScript : MonoBehaviour
{[SerializeField]Camera camBase;[SerializeField]Camera camOverlay01;[SerializeField]Camera camOverlay02;UniversalAdditionalCameraData camData;void Start(){camData = camBase.GetUniversalAdditionalCameraData();}void Update(){if (Input.GetMouseButtonDown(0)){camData.cameraStack.Add(camOverlay01);}if (Input.GetMouseButtonDown(2)){camData.cameraStack.Add(camOverlay02);}if (Input.GetMouseButtonDown(1)){camData.cameraStack.Clear();}}
}
这里cameraStack就是个List。
需要补充说明一下的是,有一次手动选择摄像机的RenderType时莫名其妙的发现,摄像机的RenderType中的Overlay选项不可用,当时都觉得Unity是不是bug了,后来了解到是因为摄像机使用了延迟渲染路径,只要摄像机选择向前渲染路径就可以选择了。
这篇关于Unity2021在URP模式下摄像机重叠背景设置问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!