UE4官方文档_间接光照缓存
来源:互联网 发布:阿里云 自己安装系统 编辑:程序博客网 时间:2024/06/06 02:02
间接光照缓存
尽管Lightmass 可以生成静态对象上的间接光照的光照贴图,但像角色这样的动态对象 也需要一种接收间接光照的方法。这个问题可以通过 Indirect Lighting Cache(间接光照缓存)解决, 它在构建光照时使用Lightmass生成的样本来计算动态对象在运行时的间接光照。
工作原理
从高层次的角度来看:
Lightmass把光照样本放置到关卡的各个位置处,并在光照构建过程中计算它们的间接光照。
当要渲染一个动态对象时, 间接光照缓存 会检查那个对象是否已经有了可用光照, 如果有则使用这些光照。
如果没有任何光照可用 (该对象是全新的或移动了很多), 间接光照缓存 会插值预计算的光照样本。Lightmass在朝上的表面上放置高密度的光照样本, 其它地方则放置低密度的光照样本。样本仅限于在 LightmassImportanceVolume 中,且他们仅能放置在静态表面上。
这个工作流程的目标是进行尽可能少的内容设置。然而,有时候,这种放置方式 不能在浮在空中的区域上呈现足够的细节,比如,一个角色乘坐的升降机或 飞行物。您可以把LightmassCharacterIndirectDetailVolumes 放在这些区域的周围来获得更多的细节。
这里的这个花托是个InterpActor,并显示了 5x5x5大小的插值位置。
由于仅当对象进行了很大的移动导致光照样本无效了时才会发生插值,因此缓存会分离。注意,这些位置距离对象的边界 是很远的,这是为使得当该对象在世界中到处移动时可以产生连续的、稳定的光照。 大多数对象实际上会获得 3x3x3 的插值位置。光照数据是2波段SH(就像光照贴图一样), 为法线贴图提供了足够的方向信息,使其有效。之前,这个工作是由 DynamicLightEnvironments 处理的。 这个实现的产生主要视觉效果差异是: 在一个对象上不止有一个样本,插值时 没有时间延迟。
预览未构建的光照
间接光照缓存也允许预览没有构建光照的对象。对于较小的对象,它的效果非常好, 对于像建筑物或地面这样较大的对象就不是很好了。当您移动一个构建了光照的静态网格物体时,它将会自动地 切换到间接光照缓存,直到进行下一次构建光照为止。
这是复制的其中一根柱子,它在预览时获得间接光照,而不是黑色的。注意在游戏中, 未构建光照的柱子仍然是黑色的。
- UE4官方文档_间接光照缓存
- UE4 间接光照缓存
- (141)间接光照缓存
- UE4官方文档链接记录
- Physics Bodies(中文翻译)—UE4官方文档
- UE4官方文档_Light Propagation Volumes_LPV方案
- 自己UE4做VR的笔记_构建光照时,Foliage警告光照贴图太大
- 【UE4官方文档翻译】Introduction to C++ Programming in UE4 (介绍UE4中的C++编程)
- Android7.0_官方文档
- UE4 Lightmass 全局光照
- UE4联机构建光照
- UE4的延迟光照
- AnimMontage(中文翻译)——UE4官方文档
- [UE4]后期处理(Post Processing)相关的官方文档
- 【UE4官方文档翻译】Unreal Engine 4 For Unity Developers (针对Unity开发者的UE4)
- Introduction to C++ Programming in UE4——UE4官方文档翻译与理解(一)
- Introduction to C++ Programming in UE4——UE4官方文档翻译与理解(二)
- OSCache 配置缓存过滤器 官方文档 中文翻译
- 简单web页面支持手机自适应,只需配置一些信息而没有用到bootstrap框架
- c++的overload override overwrite 你真的懂了吗
- Linux C++ 时间格式化
- SSM框架实例
- opencv漫水填充算法cvFloodFill()
- UE4官方文档_间接光照缓存
- Android M新控件之FloatingActionButton,TextInputLayout,Snackbar的使用
- numpy的矩阵运算笔记
- windows 移除java方法
- 1:STL中的内存研究
- 【leetcode】Longest Substring Without Repeating Characters
- 【笔试】羽毛球场地预定问题
- 图片展示,视频播放的项目
- 请解释一下CRC是什么意思?并说明其应用场合?根据下面的描述完成CRC16的C代码。