3.7 KiB
灼华互娱
头发
他们的解决方案是: 1、Nvidia的HairWorks 2、在DCC中解算面片头发动画之后导出ABC缓存。
HairWorks是基于dx11的,使用了HairWorks就无法使用dx12的Rtx。不过4.24新出的Hair Rendering功能可以代替之前HairWorks。
ABC缓存使用
主要使用ABC缓存结算头发与布料,但ABC缓存很可能因为过大而导致导入崩溃。所以灼华互娱对DCC的ABC导出插件进行魔改从而减少ABC缓存大小。但个人认为最佳的解决方案还是重新实现导出缓存格式,不过这需要实现DCC导出插件与Unreal4导入插件(引擎没有必要使用高精度数据),工作相对来说会大一些。
Niagara与Houdini结合
灼华互娱采用的方案是: 使用Niagara制作普通粒子特效。 对于需要解算巨量粒子则使用Houdini生成粒子缓存,导入Ue4中。在Ue4中生成模型Instance作为粒子。
资产管理
灼华互娱使用USD(通用场景描述) 皮克斯公司开发的开源工具,来制作整个资产管理系统。从而在流程上实现了很多自动化处理。
比如各种资产同步,比如Maya或者houdini工程进行修改,就会自动导入Ue4。之后自动导入服务器。
ASher的演讲 Ue4中地形及环境特效的制作与表现
主要介绍了Volumetric Fog/Cloud、LansmassBrush、Erosion、Niagara、VolumeMaterial。
个人感觉4.24的地形侵蚀工具相当不错,可以通过模拟流体来创建河流侵蚀河岸效果。也可以增加地形的细节以增加可信度。而且可以导出高度图、侵蚀图、泥沙流动图等,你可以用这些贴图制作别的物体Mask。甚至是导入niagara制作特效。
另外你也可以使用这个系统与niagara,制作海水拍打岸边的岩石所造成的的水花。
体积插件可以从github下载编译
配合4.24出的物理大气系统可以轻松渲染出一个很不错的天空。它在dev-rendering分支中,位于/Engine/Plugins/Experimental/Volumetrics。
体积雾
体积雾材质
材质使用的是案例关卡中的雾气材质。具体的材质节点可以参考Shaderbits.com。
至于雾气会绕开Mesh雾气,这个应该就是根据距离场,再使用类似FlowMap的方式来解决的。
对于天空中的云,通过输出地形高度图来影响。
体积雾阴影需要trick,通过体积雾的高度图来计算normal,之后通过方向光与法线的dot来计算自阴影。
在Sequencer里控制时间
use manual time控制时间。
使用命令行调整体积雾质量
r.volumetricFog.TemporalReprojection 0 r.volumetricFog.GridSizeZ 1024
Temp SuperAA相关
使用这个方法可以解决物体与地形的边界过于明显的问题。另一种解决方法是:
Lerp的Alpha还可以使用HeightLerp、相对高度甚至是距离场来设置。
地形的融合注意使用Material LOD http://riteofilk.com/2017/07/29/blurring-the-edge-blending-meshes-with-terrain-in/
Dither TAA节点可以通过以下视频了解: https://www.youtube.com/watch?v=PKX_v4RDkPc
Dither TAA的另一个技巧就是让物体产生半透明的效果(将DitherTAA节点连接到Mask上)
Quiexl 扫描库贴图设置技巧
使用以下设置会让画面变得锐利一些:
r.ToneMapper.Sharpen 3 r.ScreenPercentage 120
贴图设置Mipmap设置为Sharpen5。