步骤 1 - 准备项目中的节点

在本教程的这一步骤中,您将创建标签和过滤器,以准备工程中的节点在多个帧上进行渐进渲染。

获取教程

要获取本教程,请在 Kanzi Studio Quick Start 窗口中点击 Examples。在 Progressive rendering 教程旁,点击 下载。

Kanzi Studio 会将教程下载到 <KanziWorkspace>/Tutorials 目录。您可以找到:

  • 位于 <KanziWorkspace>/Tutorials/Progressive rendering/Start 目录中的教程起点工程。

  • 位于 <KanziWorkspace>/Tutorials/Progressive rendering/Completed 目录中的已完成教程。

起始项目的内容

起点工程包含您完成本教程所需的内容:

  • Car Scene 预设包含一个摄像机、灯光、一个汽车模型和汽车的阴影。

    在本教程中,您将在三个帧中渲染 Car Scene 预设中的这些节点:

    • Pass 1 Models 包含汽车内饰、轮胎和车窗的模型。

      ../../_images/pass-1-models-expanded-in-prefabs.png ../../_images/pass-1-models.png
    • Pass 2 Models 包含汽车外部部件的模型。

      ../../_images/pass-2-models-expanded-in-prefabs.png ../../_images/pass-2-models.png
    • Car Shadow 包含汽车的阴影。

      ../../_images/car-shadow-in-prefabs.png ../../_images/car-shadow.png
  • Fast Reverse Rotation 和 Slow Rotation 时间线序列定义了您在本教程的最后一步中用于以两种不同速度和方向旋转汽车的动画。这两个时间线序列播放相同的动画,但每个 Timeline Sequence 中的 Timeline Entry 为动画设置了不同的持续时间和播放模式。

    ../../_images/timeline-sequences-in-library.png ../../_images/fast-reverse-entry1.png ../../_images/slow-entry1.png
  • Toggle Car Animation 节点使用 Toggle Car Animation State Manager 状态管理器来控制更改速度和 RPM 仪表位置的动画,并移动速度和 RPM 指针。

    在 Preview 中,当您单击仪表之间的区域时,您可以在 Stop、Slow 和 Fast 状态之间切换。

    在起始点项目中,Slow 和 Fast 状态是相同的。在本教程的最后一步,您使用这些状态来播放 Slow Rotation 和 Fast Reverse Rotation 时间线序列以旋转汽车。

    ../../_images/toggle-car-animation-in-project-start.png ../../_images/toggle-car-animation-state-manager.png

准确需要进行渐进渲染的节点

在本节中,您创建 Tag Filter 资源以收集您希望在不同渲染通道中渲染的节点。在教程的下一步中,您使用这些过滤器在渲染通道中分配节点的渲染到多个帧中。

在本教程的起始项目中,Car Model 节点的内容已经分成了几个部分:Pass 1 Models、Pass 2 Models 和 Car Shadow。当您为渐进渲染准备自己的内容时,将渲染分配到 Progressive Rendering Viewport 2D 节点使用的渲染通道中。均匀分配渲染可以确保稳定的帧率。

要将渲染分布到偶数部分,请确保每个渲染通道渲染:

  • 边数大致相同的多边形

  • 复杂度相似的着色器

  • 大小相似的纹理

  • 数量相似的纹理

要准备需要渐进渲染的节点,请执行以下操作:

  1. 在 Kanzi Studio Quick Start 窗口中,点击 Examples。在 Progressive rendering 教程旁边,点击 Open 并选择 Start project。

    ../../_images/start5.png
  2. 为需要在不同帧中渲染的节点打上标签:

    1. 在 Prefabs > Car Scene > Car Model 中,选择 Pass 1 Models 节点,并在 Properties 中,将 Tags 属性设置为 Pass 1。

      Pass 1 Models 节点将包含汽车内饰、轮胎和窗户模型的节点进行分组。当您标记一个节点时,该节点的子节点将继承该标记。

      ../../_images/pass-1-models-in-prefabs.png ../../_images/pass-1-models-tags.png
    2. 在 Prefabs > Car Scene > Car Model 中,选择 Pass 2 Models 节点,并在 Properties 中,将 Tags 属性设置为 Pass 2。

      ../../_images/pass-2-models-in-prefabs.png ../../_images/pass-2-models-tags.png
    3. 在 Prefabs > Car Scene 中,选择 Car Shadow 节点,并在 Properties 中,将 Tags 属性设置为 Pass 3。

      ../../_images/car-shadow-in-prefabs.png ../../_images/car-shadow-tags.png
  3. 创建一个 Tag Filter 来收集用于第一次渲染的节点:

    1. 在 Library > Rendering 中,按 Alt 并右键单击 Object Sources,选择 Tag Filter,并将其命名为 Filter Pass 1。

      Tag Filter 收集被分配了特定标签的 3D 节点。

      ../../_images/create-tag-filter1.png ../../_images/filter-pass-1-in-library.png
    2. 在 Properties 中,将 Included Tags 属性设置为 Pass 1 标签。

      您设置 Filter Pass 1 标签过滤器以收集具有 Pass 1 标签的 Pass 1 Models 节点。因为节点从其父节点继承标签,所以此过滤器会收集 Pass 1 Models 节点的所有子孙节点。

      在本教程下一步中,您将使用该过滤器收集展示内饰、轮胎和车窗模型的节点。

      ../../_images/filter-pass-1-add-included-tags.png ../../_images/filter-pass-1-properties.png
  4. 重复上一步骤:

    • 创建一个名为 Filter Pass 2 的 Tag Filter,并将其设置为收集具有 Pass 2 标签的节点。

      在本教程下一步中,您将使用该过滤器收集展示汽车模型外部部件的节点。

      ../../_images/filter-pass-2-in-library.png ../../_images/filter-pass-2-properties.png
    • 创建一个名为 Filter Pass 3 的 Tag Filter,并将其设置为收集具有 Pass 3 标签的节点。

      在本教程下一步中,您将使用该过滤器收集展示车辆阴影的节点。

      ../../_images/filter-pass-3-in-library.png ../../_images/filter-pass-3-properties.png

另请参阅

要详细了解如何在您的 Kanzi 应用程序中使用过滤器,请参阅 过滤器 (Filters)。

要了解有关如何在 Kanzi Studio 中使用标签的更多信息,请参阅 使用标签。