当前位置:网站首页>UE5 光影基础 阴影全解析 锯齿阴影解决方案 Lumen
UE5 光影基础 阴影全解析 锯齿阴影解决方案 Lumen
2022-07-29 05:24:00 【Yuulily】

直接光阴影 DirectionalLight shadow
三种Shadow :1、光线追踪 shadow;2、shadow maps;3、Virtual Shadow maps(开启DX12);

shadow maps:
1、Dynamic Shadow Distance Maps(CSM):距离越近,精度越高,相对也就越锐利;反之,越软;
2、DistanceFieid Shadow Distance(距离场):针对中远距离场景可以使用,比较省资源;
3、Far Shadow Cascade Count(CSM):需要现在直接光中开启级数,然后再手动开启需要开启的模型;不然没有效果;这个可以根据有选择性的开启;
这3个可以配合使用;






shadow Bias: 来解决直接光阴影的偏移;
shadow Filter Sharpen :阴影的软硬度;
角色默认用的是CSM,精度比较低,可以单独开启inset shadow;
开启后shadow会比较硬或者说锐利,可以配合直接光中的Shadow Resolution Scale 来软化边缘;



对于经常调整的参数可以右键添加到常用或者说喜好里面,就会在细节面板的最上面看到方便调整;
点光源,聚光灯,面光源都是可以用这个来调整的;
有的时候需要更高的阴影质量,可以更改为虚拟阴影-Virtual Shadow Maps


可以在灯光细节面板里面调节阴影的虚实不知道怎么翻译合适;半阴影?
在这里总结2个尽量避免的情况:一个是灯光覆盖范围特别大,一个是模型特别小;都会出现灯光无法自适应的情况的从而导致阴影质量很差;

还有一种情况是灯光,模型比例都比较合理合适的时候,阴影的边缘出现锯齿,这个时候可以通过2个方式来解决:
第一个解决方案是:让覆盖面积稍微开大一点;
第二个解决方案是:r.Shadow.Virtual.ResolutionlodBiaslocal -1/-2


方向光,这种情况解决不了,本身是通过距离来计算的,所以这个需要考虑要替换成聚光灯来模拟直射光;
还有一种情况是摄像机特写镜头,特别近的时候也会出现这种情况,自适应已经到极限了,这个时候可以通过提高范围来解决;r.Shadow.Virtual.Clipmap.FirstLevel 6(默认) 可以改成3;




以上都是正常或者说不同mesh的阴影处理状态;Mesh转为Nanite mesh后,
Nanite mesh 会默认统一用虚拟阴影;会覆盖掉CSM,距离场阴影,
如果想要不转变为Nanite mesh的情况下也统一启用虚拟阴影,可以通过一个命令:
r.Shadow.Vittual.UseFarShadowCulling 0;

由于Nanite Mesh 暂时不支持WPO,所以使用了WPO的Nanite Mesh的优化方式是,一个命令:
r.Shadow.Virtual.Cache.MaxMaterialPositionInvalidationRange 1000 (设置距离)1000意外的mesh就会被优化;

LowPoly Mesh 会出现的一个问题
解决方案:
1、命令行:r.Shadow.Virtual.NormalBias 5(阴影偏移值多一点);这样会导致细节特别多的模型的细节阴影丢失:
2、增加面数:


总结:
光线追踪阴影:需要先开启,

如果模型转化为Nanite Mesh后会出问题,不能根除有一个参数可以调整一下:


场景模型推荐使用 虚拟阴影,光线追踪阴影还是会有一些问题,性能上也会消耗很多;
间接光及阴影
Lumen 动态全局光,间接照明;
通过改变这个数值可以采样到这些小东西;



边栏推荐
猜你喜欢

基于F407ZGT6的WS2812B彩灯驱动

Encapsulation - Super keyword

计算机大厂面试题

Jingwei Qili: development of heart rate and blood oxygen module based on hmep060 (1: FPGA sends multi bit instructions)

【软件工程之美 - 专栏笔记】29 | 自动化测试:如何把Bug杀死在摇篮里?

LeetCode #557.反转字符串中的单词 III

LeetCode #167.两数之和 II - 输入有序数组

LeetCode #977.有序数组的平方

shell工具finalShell

Ml8 self study notes
随机推荐
Eight sorts --------- quick sort
Ml9 self study notes
Based on STM32: couple interactive doll (design scheme + source code +3d drawing +ad circuit)
Traditional model predictive control trajectory tracking - wavy trajectory (function package has been updated)
【软件工程之美 - 专栏笔记】30 | 用好源代码管理工具,让你的协作更高效
IDEA 实用快捷键 新手必看
Ml self study notes 5
无符号右移
进程与进程的概念
TLE5012b+STM32F103C8T6(bluepill)读取角度数据
JUC concurrent knowledge points
LeetCode #189.轮转数组
arduino uno错误分析avrdude: stk500_recv(): programmer is not responding
数学建模心得
【软件工程之美 - 专栏笔记】16 | 怎样才能写好项目文档?
【软件工程之美 - 专栏笔记】“一问一答”第2期 | 30个软件开发常见问题解决策略
#6898 变幻的矩阵 题解
MySql-面试题
【Leetcode刷题】数组1——双指针
【软件工程之美 - 专栏笔记】26 | 持续交付:如何做到随时发布新版本到生产环境?