访问DOWNLOAD RTXGI UE4 PLUGIN
点击I Agree To the Terms of the NVIDIA RTX SDKs License Agreement然后点击下载。
解压后把RTXGI文件夹放到UE_4.27\Engine\Plugins\Runtime\Nvidia文件夹下,打开UE4.27。
在插件管理器中启用NVIDIA RTX Global Illumination插件。
然后在项目设置中确保已经打开光追。
最后重启UE4.27
打开控制台输入 r.GlobalIllumination.ExperimentalPlugin 1
r.RTXGI.DDGI 1
最后在场景中放置 DDGIVolume Actor 并包裹住场景。
可以看到场景已经有了GI
RTXGI使用动态漫反射全局光照(DDGI)算法来计算漫反射全局光照,DDGI使用光线追踪来收集辐射度和距离数据到一个规则的探针网格上。这个你已经熟悉的光照探针解决方案有些相似,但是DDGI收集辐射度和距离数据的过程是实时的,DDGI探针逐渐的收集数据,并使用一种基于静态的方式解决漏光的问题。
控制台指令
命令 | 选项 | 描述 |
---|---|---|
r.RTXGI.DDGI | 0,1 | 开启或关闭RTXGI |
r.RTXGI.DDGI.LightingPass.Scale | 0.25-1.0 | 灯光通道分辨率的缩放(取值范围已经被钳制到0.25-1.0之间) |
r.RTXGI.DDGI.ProbesTextureVis | 0,1 | (疑似废弃移动到了DDGIVolume设置上)开启或关闭DDGI的探针显示,在模式2下将未击中表面的光线显示为蓝色,击中表面的光线显示为绿色,光线击中背面显示为红色。 |
r.RTXGI.MemoryUsed | 0,1 | 在日志中显示RTXGI所使用的的显存状况的细节 |
Vis DDGIProbesTexture | 0,1 | 显示探针贴图这有助于诊断由于灯光或者网格体没有配置光线追踪中可见所产生的的问题。 |
默认情况下使用一张10bit每通道的颜色纹理存储探针辐射度,但在extended radiance或者非常亮的光源的情况下10bit可能不足以表现灯光的能量。这时可以将这张贴图增加到32bit每通道,用以支持extended radiance,但同时会增加显存消耗。也可以继续使用10bit贴图,但调整DDGIvolume的Irradiance Scalar 的值,在存储辐射信息之前减少灯光的最大值,然后在读取时再缩放回来,这可以节约显存消耗,但会损失一些精度。
默认情况下,使用16位浮点数格式来存储探针的距离信息用以计算遮蔽,但当距离非大时,16位可能不足以存储,可以增加到32位来提升精度。
增加探针可视化时用来显示探针的球的半径。
设置更新探针时可能投射的最大射线数。0指定一个无限的射线数量。一个8x8x8的体积,每个探针使用288条射线,将指定147,456条,以便每帧完全更新所有探针。每一个体积都根据他的优先级进行更新。体积的优先级越高,意味着他的的更新越频繁。这些设置使得有可能对性能成本设置一个上限,同时也控制每一个体积所收到的射线更新的比例
默认情况下,可视化的探针将显示它们的辐照度,它可以可视化其他模式,包括命中距离和平方命中距离,或者禁用所有体积的探针的可视化。在可视化距离的情况下,请检查下一个属性’Probes Depth Scale’来控制距离范围。
当 "探针可视化 "模式设置为距离时,可以控制这个属性,以便在探针上有更好的距离可视化效果。
默认情况下,探测数据在.umap文件中被序列化。可以通过这个选项禁用序列化,使磁盘上的地图文件更小。在这个选项被禁用的情况下重新保存地图,将擦除以前存储的任何现有数据。
1、不支持向前渲染
2、不支持其他追踪效果比如光追反射
手动开启或者关闭这个体积
对于一个用于更新体积的加权循环系统,这个值越高体积更新的越频繁,所以,当场景中的体积越多,他就会花费更长的时间来更新这些体积。
一个允许自定义体积的优先级的值。如果在视图中同时有多个体积,最密集的体积将被选中并用于对附近的表面进行间接照明。如果你想覆盖这一行为,给你想使用的体积以最低的照明优先值(并增加其他体块的照明优先值)。
指定DDGIVolume在体积边缘的融合方式,以世界空间为单位。这被用来在体积的边缘创建过渡的区域,作为一种艺术控制是非常有用的。例如,你想让体积顶部的拱形天花板接收较少的光线。
从一个体积的边缘开始,它的权重为零的距离,以世界空间为单位。如果你不希望线性过渡到边缘,那么就很有用。
刷新当前存储的体积探针的数据
被标记为运行时静态的体积将在制作过程中将间接照明存储在探针中,在游戏过程中不会动态更新。这可以用来降低性能成本。例如,在关卡中放置一个具有非常稀疏探针的大型静态体积,并将其标记为运行时静态,以便用在制作时计算的间接照明填充场景。然后在运行时在感兴趣的地方使用更小、更密集的DDGIVolumes进行动态间接照明。
设置每个探针追踪的射线数。每个探针的射线追踪数量越多,产生的间接照明就越稳定,从而提高图像质量,但性能成本也就越高。在许多情况下,默认的每个探针288条射线效果很好。
设置放置在DDGI体积的每个轴上的探针数量。通常没有必要在一个体积内使用大量的探头。我们建议探头网格每隔2-3米就放置一个探针。稀疏的探针网格往往比密集的探针网格产生更好的视觉效果,因为密集的探头网格可以将每个探头的效果局部化,并且(有时)会显示出探头网格的结构。不确定时,使用在同等效果下最少的探头数量。
探头射线可以移动的最大距离。超过这个距离的表面就不会被击中。减少这个值可以提高某些情况下的性能。
一个在[0,1]范围内的值,影响探头中光线追踪结果的时间累积。值为1时,总是使用现有的探测值,忽略最新的光线追踪信息。值为0时,总是使用最新的光线追踪信息,忽略所有以前的探测数据。这个属性最好设置为一个能够平衡先前和最新光线追踪数据的值。默认值为0.97,在大多数情况下都能很好地工作。
Automatic Probe Reloaction
根据周围世界的几何形状,每一帧调整探针的位置。探头被移到能产生更好照明的位置,而不是(例如)被安置在墙壁或其他物体的内部。
Probe Min Frontface Distance
探头重定位前允许与三角形正面之间的最小距离。
Probe Backface Threshold
在对探头重定位和将其状态分类为在几何体内部之前这个探头所发出的光线击中三角形背面的比率。
将体积变成一个无限滚动的体积。体积与世界轴对齐,当体积移动时,位于体积最外侧的探针被重新定位到体积移动方向的另一端。采用这种方法,大多数探头能保持它们在世界空间中的位置,从而在体积移动时获得更多时间上稳定的照明结果。
以球体网格的形式显示当前体积探头的结果。这对于调试是很有用的。可以在项目设置中改变可视化数据或覆盖所有体积的探头的可视化。
可见性测试中使用的指数。一个高的值能迅速对深度不连续作出反应,但可能会引起带状现象。
一个指数,在感觉上对辐照度进行编码,以加快由亮向暗的过渡。
探头辐射度混合期间使用的比率。指定一个阈值,以确定何时发生大的照明变化。当之前和当前的辐照度之间的最大颜色分量的差异大于这个阈值时,滞后将减少。
一个在探头辐射度混合期间,用于决定允许的前面帧和当前帧的辐射度差异最大值的阈值,这可以防止脉冲在一个更新周期内急剧改变一个文本的辐照度。
指定哪种类型的天光用于改善由DDGIVolume计算的漏过场景几何的光线的照明。在DDGIVolume之外,你可以用r.RayTracing.SkyLight来控制天空光的类型。
类似于阴影贴图的偏移,这些属性有助于调整可见度伪影。如果你看到光线或阴影泄漏的问题,调整这些偏移值。一般来说,视图偏移值应该比法线偏移值大4倍。
使用这个值人工的增加或者减少这个体积的全局光照贡献
人工的增加或者减少自发光的贡献值