Table of Contents

在叠加层中显示 UI

本页说明如何将 UI 渲染到纹理,然后将其显示为叠加层。

以下说明假设你已经有一个想要显示在叠加层中的 UI。有关创建 UI 的信息,请参阅 UI 部分。

Note

当游戏未在 VR 设备中运行时,你无法看到叠加层。这是因为叠加层是由 VR 设备本身创建的,而不是其他硬件。

1. 创建渲染目标纹理

在资产视图中,单击添加资产,然后选择 Texture > Render target。

添加渲染目标

Game Studio 会向项目资产中添加一个**渲染目标(render target)**纹理。

渲染纹理

在接下来的步骤中,我们会将 UI 渲染到这个纹理,然后在叠加层中显示它。

2. 添加 VR 叠加层

  1. 在资产视图(默认位于底部窗格)中,双击**图形合成器(Graphics Compositor)**资产。

    图形合成器资产

    图形合成器编辑器随即打开。有关图形合成器的更多信息,请参阅图形合成器页面。

  2. 在图形合成器编辑器中,选择**前向渲染器(forward renderer)**节点。

    选择前向渲染器

  3. 在属性网格(默认位于右侧)中,展开 VR Settings。

    VR 设置

  4. 在 Overlays 旁边,单击 绿色加号按钮(添加)。

    Game Studio 会向列表中添加一个新的叠加层。

    添加 VR 项

  5. 在 Texture 旁边,单击 手形图标(选择资产)。

    **选择资产(Select an asset)**窗口随即打开。

    选择渲染纹理

  6. 选择你创建的渲染纹理,然后单击确定。

3. 设置 UI 渲染特性

  1. 在图形合成器编辑器左侧的 Render Features 下,选择 UIRenderFeature。

    选择 UI 渲染特性

  2. 在属性网格中,确保选中 SimpleGroupToRenderStageSelector。

    选择 SimpleGroupToRenderStageSelector.png

  3. 在 Render Stage 下,确保选中 UIRenderStage。

    选择 UIRenderStage.png

    这样可以确保 UI 在 UI 渲染阶段(render stage)中渲染,我们将在下一步中使用它。

4. 设置渲染器

要显示叠加层,你至少需要两个渲染器:

  • 一个用于渲染主摄像机
  • 一个用于将 UI 渲染到叠加层

本页描述了从零开始实现这一点的最简单方法,即使用两个摄像机和两个渲染器。根据你的渲染管线,你可能需要创建不同的设置。

Warning

这些说明涉及删除游戏入口点的现有渲染器。你可能需要备份项目,以便之后恢复渲染管线。

  1. 在图形合成器编辑器中,选择 Entry points 节点。

    Entry points 节点

  2. 在右侧的属性网格中,Game renderer 旁边,单击 蓝色箭头按钮(替换)并选择 None,以删除现有的渲染器。

    已清空的游戏渲染器

  3. 在 Game rendererer 旁边,单击 蓝色箭头按钮(替换)并选择 Camera Renderer。

    选择摄像机渲染器.png

    目前,所有渲染器都必须拥有摄像机,或者是拥有摄像机的渲染器的子级。即使对于不一定要使用摄像机的渲染器(例如渲染 UI 的单阶段渲染器)也是如此。

    因此,在这些说明中,我们将添加一个带有摄像机的游戏渲染器,然后将这两个渲染器作为该渲染器的子级。这样可以确保两个渲染器都有一个带摄像机的父级。

  4. 在 Camera 旁边,单击 蓝色箭头按钮(替换)并选择你的主游戏摄像机。

    选择主摄像机

  5. 在 Child 旁边,单击 蓝色箭头按钮(替换)并选择 SceneRendererCollection。

    选择场景渲染器集合

  6. 在 Children 旁边,单击 绿色加号按钮(添加)并选择 RenderTextureSceneRenderer。

    选择 RenderTextureSceneRenderer

  7. 在 Child 旁边,单击 蓝色箭头按钮(替换)并选择 SingleStageRenderer。

    选择单阶段渲染器

  8. 在 Render Stage 旁边,单击 蓝色箭头按钮(替换)并选择 UIRenderStage。这就是渲染 UI 的渲染器。

    选择 UI 渲染阶段

  9. 在 Render Texture 旁边,单击 手形图标(选择资产)。

    **选择资产(Select an asset)**窗口随即打开。

  10. 选择该渲染纹理,然后单击确定。

    选择渲染纹理

    Game Studio 会将渲染纹理添加到渲染器中。

  11. 在 Game renderer 下,Children 旁边,单击 绿色加号按钮(添加)并选择 Forward renderer。

    选择前向渲染器

你的游戏现在已准备好在 VR 设备中将 UI 渲染到叠加层。

VR 模板

有关在 VR 游戏中实现 UI 叠加层的示例,请参阅 Stride 附带的 VR 模板。

VR 模板

另请参阅