使用 Prism 图创建泛光效果

以下步骤将引导您创建带有泛光 (Bloom) 和色调映射后处理效果的 Prism 图。了解如何设置包含 3D 模型的场景、为 HDR 渲染配置光照,以及构建带有泛光效果的完整渲染图。

导入并设置汽车模型

  1. 确保您使用的是线性颜色流程。在 工程 > 属性 和 二进制导出 (Binary Export) 设置 > Color Workflow 中找到此设置,并将其设置为 线性 (Linear) >

  2. 将汽车模型导入工程:

    • 在 Asset Packages 窗口中,右键单击 Asset Toolkit > Car 并选择 Import Asset Package。

    • 导入完成后,Car 将出现在 预设件 (Prefabs) 窗口中。

    ../../_images/assetpackages-import-car.png
  3. 将汽车模型添加到场景:

    • 将导入的模型从 预设件 (Prefabs) 拖到场景层级中。

    ../../_images/add-car-to-scene.gif
    • 在 预览 (Preview) 窗口中定位摄像机节点,或修改 Car 模型的缩放和位置。

    ../../_images/car-properties.gif

为 HDR 配置光照

为使泛光效果正常工作,您的材质应支持 Emissive Factor 属性,该属性允许生成 HDR 范围内的颜色。Asset Toolkit 中的 Car 模型默认支持此功能

  1. 选择场景中的灯光材质。例如,在 Library 中,展开 材质类型 (Material Types) 并导航至 PhysicallyBased > PBR BrakeLight

  2. 选择 PBR BrakeLight 材质,然后在 属性 面板中调整 Emissive Factor 属性。

    ../../_images/adjust-emissive-factor.gif

    小技巧

    大于 0.0 的 Emissive Factor Intensity 值会生成增强泛光效果的 HDR 颜色。值越高,泛光效果越强。

  3. 将 Emissive Factor Intensity 设置为较大的值(例如 7.0),以创建会产生泛光的明亮区域。

  4. 为所有要增强泛光效果的材质(例如前大灯、刹车灯和转向灯)应用较高的 Emissive Factor 属性值。在 Asset Toolkit 的 Car 模型中,使用的是 PhysicallyBased 材质 PBR BrakeLight、PBR HeadLight 和 PBR TurnLight。

创建带有泛光的 Prism 图

创建空图

  1. 在 Library 中找到 Rendering,右键单击 Prism Graphs,选择 创建 (Create) > Empty Prism Graph,并将其命名为 Prism Graph (示例)。

    ../../_images/create-empty-prism-graph.png

    新图已创建。该图尚未用于渲染。要使用它,它必须包含节点,并且必须设置为 Viewport 2D 的 Render Pass Prefab。

  2. 选择要使用该图进行渲染的视口。在 属性 面板中,转到 Render Pass Prefab,然后从下拉列表中选择您的图。

    由于渲染图仍为空,您的视口将停止渲染。后续步骤将启用渲染。

    ../../_images/viewport-car-select.png ../../_images/property-view.png

添加渲染节点

  1. 要打开您的图,请在 Library 文件夹中双击它。

    初始图为空,仅包含一个输出节点。

    ../../_images/empty-prism-graph.png
  2. 要添加 Offscreen Framebuffer Node,请在图上右键单击并选择 Add Node > Offscreen > Framebuffer。

  3. 要将 Color Format 0 属性添加到 Offscreen Framebuffer Node,请点击 + 按钮并选择 Aspect > Color Format 0。必须将此属性设置为 R16G16B16A16_Float 才能支持 HDR 渲染。

    ../../_images/add-offscreen-framebuffer.gif
  4. 要添加 Multi-Draw node,请选择 Add Node > Advanced > Multi-Draw。

    ../../_images/multi-draw-node-creation.gif
    • 将 Clear Color 0 属性设置为所需的背景颜色。

    小技巧

    使用 Object Sources 属性定义要绘制的对象源,并按照您希望的绘制顺序排列它们。

    ../../_images/reorganize-draw-passes.gif
  5. 要添加 Bloom node,请在图上右键单击并选择 Add Node > Advanced > Bloom。

    ../../_images/add-bloom-node.gif

    Bloom 节点会在场景的明亮区域周围创建光晕效果,特别适用于 HDR 光照。调整其属性可以控制泛光效果的强度和扩散范围。

  6. 要添加 Tonemap node,请在图上右键单击并选择 Add Node > Advanced > Tonemap。

    ../../_images/add-tonemap-node.gif

    Tonemap 节点将 HDR 颜色值转换为 LDR(低动态范围)以用于显示,同时保留明亮区域和暗部区域的细节。

连接节点

  1. 按以下顺序连接节点:

    • 将 Offscreen Framebuffer node 的输出连接到 Multi-Draw node 的输入。

    • 将 Multi-Draw node 的输出连接到 Bloom node 的输入。

    • 将 Bloom node 的输出连接到 Tonemap node 的输入。

    • 将 Tonemap node 的输出连接到 Output node 的输入。

      ../../_images/graph-node-connections.gif
  2. 完成连接后,图即有效,您应该能看到汽车模型在应用泛光和色调映射效果后的渲染结果。按照后续步骤调整泛光和色调映射设置,以获得所需的视觉效果。

调整泛光和色调映射设置

  1. 在图中选择 Bloom node。

  2. 在 Properties 面板中调整泛光设置:

    • Bloom Intensity 控制泛光效果的强度。初始可将此值设置为 0.15 左右。

    • Bloom Radius 控制泛光光晕的扩散范围。初始可将此值设置为 0.5 左右。

    ../../_images/set-bloom-values.gif

    小技巧

    可以使用 Bloom Intensity Texture 属性,根据亮度级别定义场景中哪些区域产生泛光。请使用灰度纹理,其中白色区域的泛光最强。

  3. 在图中选择 Tonemap node。

  4. 在 Properties 面板中调整色调映射设置。例如,White Scale 控制色调映射后图像的整体亮度。初始可将其调整为 10.0。

    ../../_images/set-tonemap-values.gif
  5. 调整材质上的 Emissive Factor 值,以控制哪些区域产生泛光以及泛光的颜色。

  6. 如果要更改背景颜色,请修改 Multi-Draw 节点上的 Clear Color 0 属性。

  7. 调整属性时可实时预览结果。

    ../../_images/final-result.png

另请参阅

Prism 图