第 2 步 - 渲染反射¶
在上一步中,您标记了项目中的节点。在此步骤中,您首先创建两个标签过滤器:一个用于选择您要创建反射的节点,另一个用于选择您用于反射的 Instantiator 节点。然后,您使用渲染通道来渲染节点并在反射中设置剔除。
要渲染反射:
创建选择原点和反射节点的过滤器:
在 Library > Rendering 按 Alt 并右键单击 Object Sources 中,选择 Tag Filter,将其命名为 Origin,并在 Properties 中将 Included Tags 属性设置为 Origin。
此过滤器选择包含您正在为其创建反射的节点的 Content 节点。
在 Library > Rendering > Object Sources 中创建另一个 Tag Filter,将其命名为 Reflection,并在 Properties 中将 Included Tags 属性设置为 Reflection。
此过滤器选择您用于创建反射的 Reflection 节点。
创建您用于渲染原点节点及其反射的渲染通道:
在 Library > Rendering 中,按 Alt 并右键单击 Render Pass Prefabs,选择 Group 渲染通道,并将其命名为 Render Reflections。
Group 渲染通道允许您收集渲染通道,以便您可以在 Viewport 2D 节点中引用单个渲染通道预设件。
在 Node Tree 中选择 Viewport 2D 节点,并在 Properties 中将 Render Pass Prefab 属性设置为 Render Reflections。
Kanzi 现在使用 Render Reflections 渲染通道渲染 Viewport 2D 节点。Render Reflections 渲染通道尚未绘制任何内容,这就是 Preview 不显示任何内容的原因。
在 Library 中的 Render Reflections 中,创建一个 Clear 渲染通道。
此渲染过程清除深度缓冲区。
渲染原点节点:
在 Library 中的 Render Reflections 中,创建一个 Node List 渲染通道,并将其命名为 Filter Origin。
Node List 渲染通道允许您过滤和保存要使用其他渲染通道渲染的节点列表。
在 Properties 中添加 Filter 属性,并将其设置为 Object Sources/Origin。
使用 Filter Origin 渲染通道来收集由 Origin 标签过滤器选择的 Content 节点。
在 Library 中的 Filter Origin 渲染通道中,创建一个 Gather Lights 渲染通道。
您使用此渲染通道从 Filter Origin 渲染通道收集的原始节点中收集 Light 节点。
在 Library 中的 Filter Origin > Gather Lights 渲染通道中,创建一个 Draw Objects 渲染通道。
此渲染通道使用默认的 Camera 节点在 Viewport 2D 节点中进行渲染,该节点使用 Render Reflections 渲染通道预设,所有原始节点。
渲染反射:
在 Library 中复制 Filter Origin 渲染通道,将其重命名为 Filter Reflection,并在 Properties 中将 Filter 属性设置为 Object Sources/Reflection。
您使用此渲染通道来渲染由 Reflection 标签过滤器选择的 Instantiator 节点 Reflection。
在 Library 中,将 Filter Reflection 渲染通道拖到 Filter Origin 渲染通道上方。
通过这种方式,您将 Render Reflections 渲染通道设置为在渲染原始节点之前渲染反射。您这样做是为了首先渲染反射,然后将它们与反射平面混合,反射平面是原始节点之一。
在 Library 中的 Filter Reflection > Gather Lights 渲染通道中,创建一个 Pipeline State 渲染通道,将其命名为 Cull Reflection,然后将 Draw Objects 渲染通道拖到 Cull Reflection 渲染通道。
使用 Cull Reflection 渲染通道来设置反射的剔除。
在 Library 中选择 Cull Reflection 渲染通道,在 Properties 中添加 Cull Mode 属性,并将其设置为 Front。
您将 Cull Reflection 渲染通道设置为仅渲染法线指向远离 Camera 节点的多边形。
默认情况下,Kanzi 仅渲染法线指向 Camera 节点的多边形。
(可选) 在 Node Tree 中选择 Reflection Plane 节点,并在 Properties 中调整 Ambient Color 和 Blend Intensity 属性,直到获得所需的反射平面。
例如,要让反射平面与背景混合,调整 Ambient Color 属性。
接下来该做什么?¶
在本教程中,您学习了如何在 Kanzi Studio 中创建反射。现在您可以:
了解如何在 Kanzi Studio 中调整材质和纹理。请参阅 教程:材料和纹理。
了解如何将模板应用于3D内容,以便 Kanzi 仅渲染内容的选定区域。请参阅 教程:将模板应用于 3D 内容。
了解如何创建使用 Kanzi Engine API 的 Kanzi 应用程序。请参阅 教程:Hello world!。
另请参阅¶
要详细了解如何在您的 Kanzi 应用程序中使用过滤器,请参阅 过滤器 (Filters)。
要了解有关 Kanzi 中渲染通道的更多信息,请参阅 渲染 (Rendering)。
要详细了解关于材质和材质类型的信息,请参阅 材质类型和材质。