关于Ue数字人类头发阴影像素块过重问题

前言

	这是我在工作中遇到的一个关于毛发阴影问题,根据UE
	官方数字人类项目研究,有了初步成果,故写此文。

问题描述:

在官方数字人类项目中,毛发阴影相对完美的显示了出来,而在
我自建的另一个项目中,出现了模型毛发阴影像素块过大的问题

关于Ue数字人类头发阴影像素块过重问题_第1张图片
关于Ue数字人类头发阴影像素块过重问题_第2张图片


解决方案:

因为在Ue默认中,屏幕分辨率与屏幕上所渲染图像的所有缓冲区
渲染目标起作用并使其组成一个GPU帧的概念。对于每个GPU帧,所
有渲染目标在管道中自始至终使用其全分辨率

关于Ue数字人类头发阴影像素块过重问题_第3张图片

而在官方项目则使用了 **时序抗锯齿上采样**。
在时序抗锯齿上采样(TAAU)中,不是先使用时序抗锯齿(TAA)
执行临时集成,然后再执行主要空间放大,实际上这两者是同时
发生的。它们也可以收敛为比仅使用空间放大时更锐利的图像,
不过这样做的成本也会比较高,因为要在较高的分辨率下运行更
多后期处理。动态分辨率还可以隐藏主要屏幕百分比更改,从而更
频繁地进行更改,尽可能接近地匹配GPU预算。

关于Ue数字人类头发阴影像素块过重问题_第4张图片

  在Ue4.24中,推出了次世代发丝(Hair Strands)系统Groom,
毛发投射到角色身上的阴影绘制更精细的细节。此外,还可以在光
线穿过毛发groom时提供更精细的细节。与默认值相比,这些命令
能够利用更多的GPU时间和更多的GPU内存来提供更好的质量。
  使用合适的Hair Strands 控制台变量设置时,可以提高模型的
质量与外观,甚至提升部分GPU性能。

关于Ue数字人类头发阴影像素块过重问题_第5张图片

最后,调整合适效果的参数,将这些设置和变量将添加到项目根
目录 配置(Config) 文件夹的 DefaultEngine.ini 配置
文件中。例如,[MyProject]/Config。
在配置文件中,这些命令将添加到 [ConsoleVariables] 
和 [/Script/Engine.RendererSettings] 部分下。

如:

关于Ue数字人类头发阴影像素块过重问题_第6张图片

当然,在Ue中也有官方的设置方案。

关于Ue数字人类头发阴影像素块过重问题_第7张图片


最终效果

关于Ue数字人类头发阴影像素块过重问题_第8张图片


参考文档

屏幕百分比与时序上采样.
MetaHuman使用要求和配置设置.
Gen 5 Temporal Anti-Aliasing.
调整引擎功能的级别.
屏幕空间全局光照.
UE4 Hair Strands浅析.

你可能感兴趣的:(UE4,ue4)