UE5.2毛发和皮毛渲染的操作技巧!
在实时游戏引擎中,毛发和Groom的渲染时,都会存在一些特殊的困难。让其渲染操作很难进行。
对于使用虚幻引擎中的MRQ来渲染高质量毛发和Groom渲染时,最好掌握一些基本提示和技巧才能更好解决这类问题。
接下来,一起来看看UE5.2毛发和皮毛渲染的操作技巧介绍。
一、基本设置
1、阴影
默认情况下,阴影由体素体积投射。此体积的大小与物理资产相关,将随Groom的绑定几何体发生变化。
1) 你可以按如下方式提高分辨率(介于0.1 - 0.05之间的值比较合适,默认为0.3):
r.HairStrands.Voxelization.Virtual.VoxelWorldSize 0
(此控制台变量也可以添加到MRQ中的控制台变量)
另一种方法:
2) 也可以切换光源以使用深阴影。(此选项在光源本身上)
注意:UE4中Groom的毛发还会通过反射捕获来接收间接光照,如果你在场景中没有设置反射捕获,毛发可能会更暗一些。
一些推荐的设置
(确保视口设置为“实时”)
要潜在改进毛发的纤细程度。
1)请增加取样数量:
r.HairStrands.Visibility.MSAA.SamplePerPixel 8
2)更改光栅化方法(这实际上成本更高,会拖慢系统):
r.HairStrands.Visibility.PPLL 1
3)减小光栅比例:
r.HairStrands.RasterizationScale 0.3
对于环境光照,如下更改环境集成:
r.HairStrands.SkyLighting.IntegrationType 1
要使用体素改进阴影和投射精度:
r.HairStrands.Voxelization.Raymarching.SteppingScale 1
其他推荐的设置
MRQ设置
二、调试
问题:“毛发看起来太像稻草”
对于实时版本:
r.HairStrands.Visibility.MSAA.SamplePerPixel 8
r.HairStrands.Voxelization.Raymarching.SteppingScale 1.15
对于离线版本(你仍可以在视口在运行该功能,但前两个选项可能调整快慢):
r.HairStrands.Visibility.PPLL 1
r.HairStrands.SkyLighting.IntegrationType 1
r.HairStrands.Voxelization.Raymarching.SteppingScale 1
r.HairStrands.DeepShadow.SuperSampling 1
在这两种情况下,建议设置以下变量:
r.HairStrands.Voxelization.Virtual.VoxelWorlSize 0.1
r.HairStrands.VelocityRasterizationScale 0.5
对于光照也进行以下操作:
1)在边沿光源上启用深阴影,因为这有助于减少噪点
2)更改毛发着色器,以增加一点随机性,打破常规,因为目前它看起来太平坦
3)更改毛发宽度。为此,打开Groom资产,并转至“发束(Strands)”选项卡。在其中,你可以将发束宽度从0.01增加到0.015/0.02,避免“看起来太透明”
三、深度问题
增加每个像素的取样数:
r.HairStrands.Visibility.MSAA.SamplePerPixel 8
或切换到PPLL渲染:
r.HairStrands.Visibility.PPLL 1
(使用此功能会对性能造成很大的影响,但可带来最美观的结果。)
如果这是深度精度问题,你可以尝试增加近Z值,看看是否有帮助。
例如:
r.SetNearClipPlane 0.1
你可以设置或调整的其他控制台变量是:
r.HairStrands.DeepShadow.Resolution 2048
r.HairStrands.DeepShadow.DepthBiasScale 10
r.HairStrands.DeepShadow.InjectVoxelDepth .5
渲染设置案例研究:
此简短示例来自真实客户的真实案例研究,毛发中有多余的噪点和阴影变暗。
在此例中,不论是否使用TAA,毛发在渲染后都留下了过多的噪点。在调试问题时,我们怀疑多余噪点来自当前的一组控制台变量。尤其是:
将这两个变量降至1以下会造成多余噪点,这通常可由TAA解决。
阴影变暗可通过资产或组件上的阴影密度来解决或调整,对其产生影响。还有一个全局变量用于这一用途:
r.HairStrands.Voxelization.DensityScale
四、技巧提示
1、深黑色或纯黑色提示
在r.HairStrands.Visibility.PPLL = 1时,减小毛发末端比例参数会造成一些奇怪的瑕疵(基本上末端会变为纯黑色)
2、更清晰的阴影
要实现更清晰的阴影,请在光源上打开“深阴影(Deep Shadows)”
3、Groom渲染中的瑕疵
要帮助解决Groom渲染中的瑕疵,请调整以下值:
r.HairStrands.SkyLighting.SampleCount
4、控制台变量 - 可视化和调试
r.HairStrands.StrandsMode(发束的渲染调试模式。0:关闭,1:模拟发束,2:使用彩色模拟发束影响来渲染发束;3:毛发UV,4:毛发根部UV,5:毛发种子,6:尺寸)
r.HairStrands.DebugMode将显示大量有用的渲染属性。r.HairStrands.DebugMode 12将聚焦毛发附着物。选取后,你可以选择可视化大量信息:
r.HairStrands.MeshProjection.DebugInUVsSpace,
r.HairStrands.MeshProjection.DebugSkinCache
r.HairStrands.MeshProjection.Render.Rest.Triangles
r.HairStrands.MeshProjection.Render.Rest.Frames
r.HairStrands.MeshProjection.Render.Deformed.Triangles
r.HairStrands.MeshProjection.Render.Deformed.Frames
r.HairStrands.MeshProjection.Sim.Rest.Triangles
r.HairStrands.MeshProjection.Sim.Rest.Frames
r.HairStrands.MeshProjection.Sim.Deformed.Triangles
r.HairStrands.MeshProjection.Sim.Deformed.Frames
如果你想渲染调试信息,这些信息也有很多,可用于模拟调试、显示Groom物理资产图元 + (r.HairStrands.StrandsMode 1 + r.HairStrands.StrandWidth 0.5)
5、半透明(Translucency)
要确保在半透明对象前面渲染发束,就需要另一个控制台变量设置:
r.HairStrands.ComposeAfterTranslucency
下面是r.HairStrands.ComposeAfter半透明度的后续选项:
0:在半透明对象之前合成毛发。
1:在半透明对象之后,但在单独的半透明对象之前合成毛发。
2:在所有/单独的半透明对象之后合成毛发
3:在半透明对象之后,但在景深之后的半透明渲染之前合成毛发(这允许针对毛发深度进行深度测试)
渲云是一家全面拥抱公有云的云渲染农场、Chaos官方授权的云渲染服务平台,海量节点可按需弹性扩展,现以其针对性专业服务、极致渲染性能、酣畅渲染体验使渲云逐步成为国内云渲染平台佼佼者。
渲云面向建筑设计、VR/AR、互动游戏、影视动漫、工业设计等多领域三维内容制作提供云端渲染服务,帮助用户快速完成三维内容、动画及效果图的渲染计算,规避因本地电脑配置不足导致渲染慢的问题,大幅提高工作效率,降低用户固定资产投资成本,为用户提供灵活、高效、海量节点弹性拓展的云端渲染服务。