2D 节点的效果

使用效果将后期处理效果应用于2D节点。

在 Kanzi Studio 中,您可以在 Library > Effects 中找到效果。

../../_images/effects-library.png

这些效果在 Kanzi 中可用:

使用 Blur Effect 2D 效果对二维节点应用高斯模糊。

请参阅 使用 Blur Effect 2D 效果。

../../_images/blur-effect-2d-large.png

使用 Mask Effect 2D 效果将遮罩应用于 2D 节点。

请参阅 使用 Mask Effect 2D 效果。

../../_images/mask-effect-2d-large.png

使用 Outline Effect 2D 效果为 2D 节点的内容应用轮廓。

请参阅 使用 Outline Effect 2D 效果。

../../_images/outline-effect-2d-large.png

使用 Shadow Effect 2D 效果为 2D 节点的内容应用阴影。

请参阅 使用 Shadow Effect 2D 效果。

../../_images/shadow-effect-2d-large.png

使用 Effect Stack 2D 效果预设来将多个效果应用于 2D 节点。

请参阅 使用多个效果。

../../_images/effect-stack-2d.gif

Kanzi 如何应用二维效果

Kanzi 将 2D 效果应用于节点及其子节点中内容的视觉形状。

../../_images/effect-node.png ../../_images/parent-children-effect-preview.png

当您想将效果应用于一个节点但不应用于其子节点时,请将子节点放置在您应用效果的节点的兄弟节点中。将该兄弟节点放置在您应用效果的节点下方的节点树中。确保兄弟节点具有相同的大小、布局、变换和不透明度。

../../_images/effect-node-2.png ../../_images/parent-only-effect-preview.png

效果和布局

使用效果时,请记住:

  • Kanzi 在计算布局时不考虑效果。当您的设计不允许效果超出布局边界时,确保将布局中有足够的空间留给该效果。

    例如:在包含 Text Block 2D 节点的布局中,您在其中应用了投影阴影,在该 Text Block 2D 节点中,通过设置 Horizontal Margin 和 Vertical Margin 属性来确保为阴影留出足够的空间。

    ../../_images/shadow-margin.png
  • 当 Kanzi 对 2D 节点应用效果时,它会合成该节点并将其子节点裁剪到节点边界,而不考虑 Clip Children 属性的值。这是因为渲染目标纹理的大小与节点的大小相匹配。

效果对应用程序性能的影响

对于每个效果实例,Kanzi 请求合成管理器提供一个临时合成目标。Kanzi 合成管理器会在临时合成目标的大小和参数兼容时重复使用它们。

使用效果的应用程序的最终性能取决于:

  • 分配的内存量,因此渲染应用程序UI所需的带宽。

  • 绘制调用的数量

  • 渲染目标或纹理切换的数量

要找到使用效果的最有效方法,请使用以下方法测试您的应用程序性能:

  • 对每个 UI 元素应用单独的效果以最小化区域。

  • 将效果应用于覆盖较大区域的一组 UI 元素。

应用抗锯齿功能

当您将效果应用于2D节点时,Kanzi 会将该节点渲染到合成目标。默认情况下,Kanzi 不会对合成节点的子节点应用抗锯齿。例如,当您旋转这些节点时,它们的边缘可能会显得锯齿状。

../../_images/node-tree-flow-layout.png ../../_images/preview-no-msaa.png

要应用多重采样抗锯齿:

  1. 在 Node Tree 或 Prefabs 中,选择要应用效果的节点。

  2. 在 Properties 中,添加 Render Target > Multisample Level 属性,并将其设置为您要使用的抗锯齿采样数。

    请参阅您要在其上运行 Kanzi 应用程序的设备文档以获取支持的值,因为抗锯齿样本的数量取决于设备。如果将 Multisample Level 属性设置为设备不支持的值,Kanzi Engine 会将该值限制为设备驱动程序支持的最大值。

    ../../_images/properties-multisample-level.png ../../_images/preview-4x-msaa.png

另请参阅

使用 Blur Effect 2D 效果

使用 Mask Effect 2D 效果

使用 Outline Effect 2D 效果

使用 Shadow Effect 2D 效果

使用多个效果

在 Kanzi Engine API 中使用效果

调整 2D 节点的外观

使用刷子

渲染 (Rendering)