UE4渲染笔记

摘要:
Lightmass实时渲染光影效果对性能有很大影响,可利用lightmass预先生成光影贴图,然后在游戏中使用。将场景光照结果完全烘焙到模型贴图上,从而完完全全的假冒现实光照效果。光源的移动性静态照明仅使用光照贴图,阴影在游戏前烘焙。直接阴影存储在阴影贴图中移动光照不使用lightmass。

Lightmass

实时渲染光影效果对性能有很大影响,可利用lightmass预先生成光影贴图,然后在游戏中使用。
将场景光照结果完全烘焙到模型贴图上,从而完完全全的假冒现实光照效果。
文档上是 lightmass global illumination,可见生成的是全局光照贴图。
图解

光源的移动性

  • 静态照明仅使用光照贴图,阴影在游戏前烘焙。
  • 固定光源的直接光照使用延迟着色直接进行渲染。所有间接光照和来自固定光源的阴影都存储在光照贴图中。直接阴影存储在阴影贴图中
  • 移动光照不使用lightmass。

直接光照使用延时着色方法渲染。

物体的移动性

  • 静态物体使用烘焙光照
  • 固定物体缓存动态阴影
  • 移动物体投射动态阴影

3种渲染

  • 直接模拟光线从被光源发出到最终被物体完全吸收的正向过程,也就是常说的GI(Global Illumination)
  • 不直接模拟光线,而是反向搜集物体表面特定点的受光照强度来模拟现实照明效果,也就是常说的FG(Final Gathering);
  • 完全不考虑光线的行为,单纯基于“物体上与其他物体越接近的区域,受到反射光线的照明越弱”这一现象来模拟模拟现实照明(的一部分)效果,也就是常说的AO(Ambient Occlusion);

图解

Custom Depth Stencil Write Mask

Render CustomDepth Pass 自定义深度通道 常在有遮挡情境使用 可设置自定义裁切值实现精确的控制
配合材质的SceneTexture:CustomDepth使用

分析

RenderDoc
https://interplayoflight.wordpress.com/2017/10/25/how-unreal-renders-a-frame/

其他

  1. 级联阴影
  2. UE4中的Profiling
  3. 冯氏光照模型

免责声明:文章转载自《UE4渲染笔记》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇转载:Android应用的自动更新模块电商项目解决高并发的问题的策略浅谈下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

UE4笔记-Plugins插件应用相关记录

UE4 Plugins插件相关的一些小技巧 Q.UE4中支持自定义插件在Editor中进行配置: 主要思路: 使用UCLASS 和UPROPERTY 的config 宏,UHT会自动将相关的属性值或引用的对象写入到关联的 .ini中.并在在创建时会自动使用Ini的信息进行初始化   Note:     根据于UCLASS 的config的配置,会将配置项写...

[UE4]虚幻4 spline组件、spline mesh组件的用法

最近公司项目需要,把这两个东东好好看了下。不得不说,这两个组件还是非常方便的,但是相关的介绍、教程却非常的少。它们概念模糊,用法奇特,我就总结下吧。 首先,先要明白spline component。spline,中文翻译样条曲线,所以虚幻里的spline组件就是一条曲线,支持增加减少点、曲线点自动光滑连接等功能。通过spline组件可以获得spline曲线...

ue4读取灰度图生成三维地形mesh

转自:https://www.cnblogs.com/gucheng/p/10116857.html 新建ue c++工程。 在Build.cs中添加"ProceduralMeshComponent"模块。 在 uproject中添加"ProceduralMeshComponent"模块。 创建材质,传入grass贴图 导入灰度图资源 创建继承自...

ue4 模块的构建和加载

ue4的代码是模块的形式来组织 在源码层面,一个包含*.build.cs的目录就是一个模块 这个目录里的文件在编译后都会被链接在一起,比如一个静态库lib,或者一个动态库dll。 不管是哪种形式,都需要提供一个给外部操作的接口,也就是一个IModuleInterface指针。 *注意这里并不是说调用模块内任何函数(或类)都要通过该指针来进行,实际上外部代码...

(转载)(官方)UE4--图像编程----FShaderCache

FShaderCache   总览 FShaderCache 提供的机制可减少游戏中着色器的卡顿。它支持 OpenGLDrv 和 MetalRHI RHIs,可在 Mac、Linux 和 Windows 平台上使用。 可通过多个控制台命令启用或禁用 FShaderCache 功能。   控制台命令 描述 r.UseShaderCachin...

UE4在Android调用Project Tango

  Project Tango应该说是Google一试水AR的设备,其中Project Tango主要二个功能,一个是获取深度信息,如MS的Kinect,有相当多的设备都有这个功能,二是第一人称相对定位,这个就没那么常见了,如果对这个设备有更深的兴趣,可以看知乎上的这二个链接。   Google Project Tango获取深度信息的原理是什么?   P...