英文原文:https://resources.unity.com/games/introduction-universal-render-pipeline-for-advanced-unity-creators?ungated=true
游戏中的一个常见要求是能够在单个渲染中组合从不同相机查看的几何图形。 上图显示了前景中的一个架子,作为游戏中的库存。 收集到的物品被添加到架子上,玩家可以在关键点进行选择。 请注意,它具有不同的视野,以及不同的照明和后期处理。 这是使用 URP 中的相机堆叠功能设置的。
让我们看看如何设置此功能。
- 通过右键单击 Hierarchy 视图并选择 Create > Camera 来创建相机。 移除audio listener 组件。
- 使用 Inspector > Camera Settings 面板将此 Camera 设置为 Render Type Overlay。
3. 为相机和它渲染的游戏对象创建一个新层。
4. 使用 Inspector更新相机的 Rendering > Culling Mask 。
-
将 Camera 移动到场景中的合适位置,然后通过将 GameObjects 放置在 Layer Overlay 中来添加和定位它们
-
通过更新其 Rendering > Culling Mask 确保 Main Camera 不渲染 Overlay。
-
在 Stack 面板中,使用“+”按钮添加 Overlay Camera。
用代码控制堆栈
与后处理一样,您可以通过代码控制堆栈,并在运行时动态添加或删除相机。 请参阅此代码示例:
using UnityEngine;
using UnityEngine.Rendering.Universal;
public class StackController : MonoBehaviour
{
public Camera overlayCamera;
// Start is called before the first frame update
void Start()
{
Camera camera = GetComponent<Camera>();
var cameraData = camera.GetUniversalAdditionalCameraData();
cameraData.cameraStack.Remove(overlayCamera);
}
}
使用 URP 可以轻松配置后处理和相机堆叠,它们是在游戏中创建丰富大气效果的强大工具。