
本文介绍一些近期新增的材质节点
ScalarBlueNoise 蓝噪声发生器
抖动蓝噪声发生器
输出 屏幕空间 的 时序变化 的单通道蓝噪声
它的时序变化是与引擎的Lumen、TSR、TAA这类时序技术同步的

例如可以用来制作基于Masked 遮罩的透明来远离半透明


因为与UE使用的时序同步,它的高兼容性已经可以淘汰以前使用的DitherTemporalAA了

性能也优于DitherTemporalAA
对比:



这是由于BlueNoise已在View使用,所以不会产生手动计算Noise的高消耗
c
//获取Noise的方式
Local0 = ViewScalarBlueNoise(GetPixelPosition(Parameters), View.StateFrameIndex);
//对应函数实现
float ViewScalarBlueNoise(uint2 ScreenCoord, uint FrameIndex)
{
uint3 WrappedCoordinate = uint3(ScreenCoord, FrameIndex) & View.BlueNoiseModuloMasks;
uint3 TextureCoordinate = uint3(WrappedCoordinate.x, WrappedCoordinate.z * View.BlueNoiseDimensions.y + WrappedCoordinate.y, 0);
return View.BlueNoiseScalarTexture.Load(TextureCoordinate, 0).x;
}
值得一提的是,自动实现的抖动Mask在这个版本中也换为了蓝噪声
Convert 转换
可以进行通道变换的节点
明显EPIC是从Niagara粒子系统得到了灵感,将其移植到材质编辑器,其操作也与Niagara相同
Make与Break都是从Convert转换而来

Make与Break都是从Convert转换而来,点击加号可以添加各种通道数量的类型

拖动pin,可以随意转换各个通道

在细节面板也可以编辑输入输出,与节点命名

ColorRamp 色彩渐变
一个带UI的映射节点

感觉是在为实例材质的 静态变量 做准备?
(在材质实例里编辑器中可修改,但不能在Runtime修改的变量,例如静态布尔)
可以快速地重新映射颜色
要注意的是输入为单通道




