
本文介绍一些近期新增的材质节点
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修改的变量,例如静态布尔)
可以快速地重新映射颜色
要注意的是输入为单通道