使用渲染通道

使用渲染通道来定义 Kanzi 应用程序中 3D 内容的渲染。

例如,在渲染过程 (render passes) 中,您可以定义:

要实现特定的渲染结果,请创建一个渲染通道层次结构,这些层次结构共同构成一个渲染通道预设。在一个 Viewport 2D 节点中,Render Pass Prefab 属性设置 Kanzi 用于渲染该节点的 3D 内容的渲染通道。请参阅 创建和使用渲染通道。

您可以通过以下方式在您的 Kanzi Studio 项目中重用渲染通道:

通过完成这些教程学习如何使用渲染通道:

创建和使用渲染通道

要创建和使用渲染通道:

  1. 在 Library > Rendering > Render Pass Prefabs 按 Alt 并右键单击 中,选择您想用作渲染通道树根渲染通道的渲染通道。请参阅 渲染通道 (Render Passes)。

    在 Library > Rendering > Render Pass Prefabs 中,每个顶级渲染通道是渲染通道预设的根。

    在渲染传递预设中,您可以创建渲染传递的层次结构以实现特定的渲染结果。

    例如,创建 Group 渲染通道。

    Group 渲染通道允许您收集渲染通道,以便您可以在 Viewport 2D 节点中引用单个渲染通道预设件。

    ../../_images/create-group-render-pass.png
  2. 在 Node Tree 中,选择包含您要渲染的3D内容的 Viewport 2D 节点,并在 Properties 中将 Render Pass Prefab 属性设置为您创建的渲染通道。

    当您将 Viewport 2D 节点设置为使用特定的渲染通道时,Kanzi 会在 Viewport 2D 节点中实例化该渲染通道定义的渲染通道树。Kanzi 现在使用您创建的渲染通道渲染 Viewport 2D 节点的内容。

    ../../_images/viewport-2d-in-the-project.png ../../_images/render-pass-prefab-set-to-group-render-pass.png
  3. 在您创建的渲染通道中,创建渲染 3D 内容所需的渲染通道层次结构。

    例如:

自定义渲染通道的实例

一个渲染通道可以包含一个渲染通道的层次结构,每个都有自己的属性。当您编辑渲染通道时,您会更改那些渲染通道在使用它们的所有 Viewport 2D 节点中渲染内容的方式。您可以通过覆盖默认渲染通道中的值来自定义渲染通道的各个实例以具有单独的值。例如,当您创建一个将合成目标传输到屏幕的渲染通道层次结构时,您可以在渲染通道的不同实例中使用不同的材质传输内容。

要自定义渲染通道的实例:

  1. 在 Library > Rendering > Render Pass Prefabs 中选择您要自定义的渲染通道。

    例如,要自定义用于将合成目标位块传输到屏幕的材质,请在 Compose and Blit Pass 渲染通道预设件(该预设件将内容渲染到合成目标并将结果位块传输到屏幕)中选择 Blit 渲染通道。请参阅 将内容渲染到合成目标。

    ../../_images/blit-render-pass-in-render-target-tree.png
  2. 在 Properties 中,在您要自定义的属性旁边,单击 启用编辑。

    Kanzi Studio 从该属性创建一个自定义属性,将其添加到渲染通道预设的根,并在渲染通道预设根中创建一个到该属性的 ##Template 绑定。请参阅 预设件根绑定。

    例如,要自定义用于将合成目标位块传输到屏幕的材质,请点击 Material 属性旁边的 启用编辑。Kanzi Studio 会将 Material 属性添加到 Compose and Blit Pass 渲染通道预设件,并在 Blit 渲染通道中创建一个 ##Template 绑定,绑定到该 Compose and Blit Pass 中的 Material 属性。

    ../../_images/publish-material-property.png ../../_images/template-binding-to-blit-material.png
  3. 在 Node Tree 或 Prefabs 中,选择一个 Viewport 2D 节点,并在 Properties 中将 Render Pass Prefab 属性设置为您自定义的渲染通道预设。

    当您将 Viewport 2D 节点或预设设置为使用渲染通道预设时,Kanzi Studio 在该 Viewport 2D 节点中显示该渲染通道预设的属性作为常用属性。

    ../../_images/viewport-2d-in-the-project.png ../../_images/render-pass-prefab-set-to-compose-and-blit-pass.png
  4. 在 Properties 中,单击您自定义的属性旁边的 add-property,并设置该属性的值。

    Kanzi Studio 向 Viewport 2D 节点添加了一个到源绑定,该绑定将该属性的值推送到通过 Viewport 2D 节点的 Viewport2D::RenderPassProperty 属性提供的渲染传递预设实例。

    您可以设置多个 Viewport 2D 节点以使用相同的渲染通道预设,并且在每个 Viewport 2D 节点中,您可以添加和设置渲染通道预设属性以具有不同的值。

    ../../_images/group-render-pass-material-frequently-used.png ../../_images/tosource-binding-to-material.png

    小技巧

    当您想从节点中移除属性及其 To Source 绑定时,右键单击该属性并选择 Remove Property And Binding。

重用渲染通道

您可以在另一个渲染通道树中重用渲染通道。在渲染通道预设的每个实例中,您可以设置该渲染通道预设中渲染通道的属性值。例如,重用渲染通道预设的多个实例来创建渲染通道链以实现后处理效果。请参阅 教程:创建一个 bloom 效果。

要重用渲染通道:

  1. 在 Library > Rendering > Render Pass Prefabs 按 Alt 并右键单击 中,渲染通道是您要实例化渲染通道预设的位置,并选择 Render Pass View。

    ../../_images/create-render-pass-view.png
  2. 在 Properties 中添加 Render Pass Prefab 属性,并将其设置为您要实例化的渲染通道预设。

    Kanzi Studio 在 Render Pass View 中显示了 Render Pass View 实例化的渲染通道预设的所有属性。请参阅 自定义渲染通道的实例。

    ../../_images/render-pass-view-add-render-pass-prefab-property.png ../../_images/render-pass-view-properties.png

小技巧

您可以通过将其拖动到渲染通道或另一个渲染通道预设来实例化渲染通道预设。

通过合并重用渲染通道

您可以通过将渲染过程合并到您想要使用它们的项目中,从另一个 Kanzi Studio 项目中重用渲染过程。

通过合并来重用渲染通道:

  1. 在您要使用来自另一个项目的渲染通道的项目中,选择 File > Import > Merge Project,选择包含您要合并的渲染通道的 Kanzi Studio 项目,然后单击 Open。

    ../../_images/merge-project-menu-option.png
  2. 在 Project Merge 对话框中:

    1. 在对话框的左下角启用 Select referenced items。

      您将 Kanzi Studio 设置为自动选择要合并的渲染通道预设所引用的所有项目。

    2. 在 Rendering > Render Pass Prefabs 中,选择包含您要使用的渲染通道层次结构的渲染通道预设。

    单击 Merge。

    ../../_images/merge-gaussian-blur.png
  3. 在 Node Tree 中选择包含您要使用合并的渲染通道渲染的3D内容的 Viewport 2D 节点,并在 Properties 中将 Render Pass Prefab 属性设置为您合并到项目中的渲染通道预设。

    ../../_images/viewport-2d-to-use-gaussian-blur.png

另请参阅

渲染 (Rendering)

教程:创建一个 bloom 效果

教程:将模板应用于 3D 内容

教程:创建反射

教程:渐进式渲染

使用 Kanzi Studio 渲染通道预设

设置用于渲染的材质

创建后期处理效果

将模板应用于 3D 内容

使用多重采样

将内容渲染到合成目标

绑定 (Bindings)

合并工程