UE4官方文档_间接光照缓存

来源:互联网 发布:阿里云 自己安装系统 编辑:程序博客网 时间:2024/06/06 02:02

间接光照缓存

  • SHARE:

尽管Lightmass 可以生成静态对象上的间接光照的光照贴图,但像角色这样的动态对象 也需要一种接收间接光照的方法。这个问题可以通过 Indirect Lighting Cache(间接光照缓存)解决, 它在构建光照时使用Lightmass生成的样本来计算动态对象在运行时的间接光照。

diffuse_no_indirect.png

Elemental(元素)关卡中没有应用 间接光照缓存 的漫反射光照

diffuse_indirect.png

应用了 间接光照缓存 的漫反射光照

工作原理

从高层次的角度来看:

  • Lightmass把光照样本放置到关卡的各个位置处,并在光照构建过程中计算它们的间接光照。

  • 当要渲染一个动态对象时, 间接光照缓存 会检查那个对象是否已经有了可用光照, 如果有则使用这些光照。

  • 如果没有任何光照可用 (该对象是全新的或移动了很多), 间接光照缓存 会插值预计算的光照样本。Lightmass在朝上的表面上放置高密度的光照样本, 其它地方则放置低密度的光照样本。样本仅限于在 LightmassImportanceVolume 中,且他们仅能放置在静态表面上。

lighting_samples.png

使用 r.Cache.DrawLightingSamples 1 来可视化地查看Lightmass生成的光照样本。

这个工作流程的目标是进行尽可能少的内容设置。然而,有时候,这种放置方式 不能在浮在空中的区域上呈现足够的细节,比如,一个角色乘坐的升降机或 飞行物。您可以把LightmassCharacterIndirectDetailVolumes 放在这些区域的周围来获得更多的细节。

这里的这个花托是个InterpActor,并显示了 5x5x5大小的插值位置。

interpolation_points.png

由于仅当对象进行了很大的移动导致光照样本无效了时才会发生插值,因此缓存会分离。注意,这些位置距离对象的边界 是很远的,这是为使得当该对象在世界中到处移动时可以产生连续的、稳定的光照。 大多数对象实际上会获得 3x3x3 的插值位置。光照数据是2波段SH(就像光照贴图一样), 为法线贴图提供了足够的方向信息,使其有效。之前,这个工作是由 DynamicLightEnvironments 处理的。 这个实现的产生主要视觉效果差异是: 在一个对象上不止有一个样本,插值时 没有时间延迟。

预览未构建的光照

间接光照缓存也允许预览没有构建光照的对象。对于较小的对象,它的效果非常好, 对于像建筑物或地面这样较大的对象就不是很好了。当您移动一个构建了光照的静态网格物体时,它将会自动地 切换到间接光照缓存,直到进行下一次构建光照为止。

这是复制的其中一根柱子,它在预览时获得间接光照,而不是黑色的。注意在游戏中, 未构建光照的柱子仍然是黑色的。

unbuilt.png

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 电脑不读取u盘怎么办 注塑机上的料烤坨了怎么办 智能锁电机坏了怎么办 注塑机加热嘴内扣突了怎么办 tpu粘在螺杆上怎么办 注塑机锁模时会有射退动作怎么办 电动车刹车油泵不打油怎么办 cad转pdf颜色浅怎么办 松下多功能传真一体机卡纸怎么办 无刷电机坏了怎么办 6kv高压电机绝缘不合格怎么办? 400t油压机下降太慢怎么办 无法连线到服务器1~1怎么办? 数控车床车角度不亮怎么办 超市存包柜的票不见了怎么办 交货期来不及导致船期延误怎么办 跑1000米中途累怎么办 手指被机器压烂怎么办 机械手不能回归原点该怎么办 前缘送纸纸板翘怎么办 三菱AL 1R.2报警怎么办 工作好但领导不好伺候怎么办 孕妇憋尿憋的小腹疼怎么办 怀孕憋尿憋的小腹疼怎么办 半夜憋尿憋的小腹疼怎么办 新生儿大便次数较多怎么办 母猎生下三天没有奶怎么办 孩孑大便干不爱喝水怎么办 发那科1050报警怎么办 plc模块bf亮了怎么办 plc模块df亮了怎么办 西门子触摸屏进不了主画面怎么办 pos机显示白屏怎么办 洗衣机的门坏了怎么办 西门子洗衣机门坏了怎么办 拆线线断在肉里怎么办 总线绝对值编码器方向反了怎么办 台达伺服报警009怎么办 台达plc禁止上传怎么办? 潜水泵电机启动绕组断线了怎么办? 永磁电机磁没了怎么办