docs.unity3d.com
    显示 / 隐藏目录

    递归渲染 (Recursive rendering)

    此功能是用于在高清渲染管线 (High Definition Render Pipeline, HDRP) 中渲染网格的替代管线。使用该渲染模式的游戏对象将递归投射出折射和反射光线。这意味着,当光线射到表面上时,它会反射或折射并继续射到其他表面上。您可以根据项目需求,控制光线这样做的最大次数。

    材质的平滑度不会影响光线的反射或折射方式,这使得此渲染模式对于渲染多层透明游戏对象非常有用。

    以递归光线追踪技术渲染的汽车换档装置

    使用递归渲染

    递归渲染使用体积 (Volume) 框架,因此若要启用此功能和修改其属性,必须将递归渲染覆盖添加到场景中的体积。为此需要执行以下操作:

    1. 在 Scene 视图或 Hierarchy 视图中,选择一个包含 Volume 组件的游戏对象以在 Inspector 中查看该游戏对象。
    2. 在 Inspector 中,导航到 Add Override > Ray Tracing,然后单击 Recursive Rendering。
    3. 在 Recursive Rendering Volume Override 的 Inspector 中,启用 Ray Tracing。如果不能看到 Ray Tracing 选项,请确保您的 HDRP 项目支持光线追踪。如需了解如何在 HDRP 中设置光线追踪,请参阅光线追踪入门。

    现在,您已经在场景中设置了递归渲染,接下来必须将游戏对象设置为使用光线追踪渲染通道,以使 HDRP 对游戏对象使用递归渲染。为此需要执行以下操作:

    1. 在 Scene 视图或 Hierarchy 中选择游戏对象以在 Inspector 中查看该游戏对象。
    2. 选择附加到该游戏对象的材质。
    3. 在 Surface Options 折叠箭头下,从 Rendering Pass 下拉选单中选择 Raytracing。

    您也可以对 Shader Graph 主节点执行此操作:

    1. 在 Project 窗口中,双击 Shader 以在 Shader Graph 中将其打开。
    2. 在主节点上,单击齿轮图标,然后从 Rendering Pass 下拉选单中选择 Raytracing。

    属性

    属性 描述
    LayerMask 定义需要 HDRP 处理该光线追踪效果的层。
    Max Depth 控制光线在停止并返回最终颜色之前可以反射或折射的最大次数。增大此值将呈指数增加执行时间。
    Ray Length 控制 HDRP 用于光线追踪的光线长度。如果光线未找到相交点,则光线将返回天空的颜色。
    返回到顶部
    Copyright © 2023 Unity Technologies — 商标和使用条款
    • 法律条款
    • 隐私政策
    • Cookie
    • 不要出售或分享我的个人信息
    • Your Privacy Choices (Cookie Settings)