GrayscaleMaterial 组件介绍
GrayscaleMaterial 组件介绍
GrayscaleMaterial(灰度材质)组件是一种材质,它允许将 0 到 1 的灰度值映射为任何其他颜色值。这类似于 Blender 中的 Color Ramp(颜色渐变)节点。一个常见的误解是它只能产生黑白颜色,但这仅仅是它的默认渐变效果。通过提供自定义的 Gradient(渐变)纹理,用户可以实现各种丰富的彩色滤镜效果。
字段属性
| 属性名称 | 类型 | 描述 |
|---|---|---|
| HighPriorityIntegration (高优先级集成) |
Bool | 决定此材质在渲染集成时的优先级。 |
| Rect (矩形区域) |
Rect | 定义材质应用的 2D 矩形区域坐标。 |
| RectClip (矩形裁剪) |
Bool | 是否启用矩形区域外的裁剪。 |
| ColorMask (颜色遮罩) |
ColorMask | 决定哪些颜色通道(RGBA)会被写入渲染目标。 |
| StencilComparison (模板比较) |
StencilComparison | 设置模板缓冲的比较函数。 |
| StencilOperation (模板操作) |
StencilOperation | 设置当模板测试通过或失败时执行的操作。 |
| StencilID (模板 ID) |
Byte | 用于模板测试的参考值。 |
| StencilWriteMask (模板写入遮罩) |
Byte | 写入模板缓冲时的遮罩值。 |
| StencilReadMask (模板读取遮罩) |
Byte | 读取模板缓冲时的遮罩值。 |
| RenderQueue (渲染队列) |
Int | 材质在渲染管线中的绘制顺序。 |
| _shader (着色器) |
AssetRef<Shader> | 底层的着色器资源引用。 |
| RatioRed (红色权重) |
Float | 计算灰度时,红色通道所占的权重比例。 |
| RatioGreen (绿色权重) |
Float | 计算灰度时,绿色通道所占的权重比例。 |
| RatioBlue (蓝色权重) |
Float | 计算灰度时,蓝色通道所占的权重比例。 |
| Lerp (插值) |
Float | 滤镜效果的混合程度。0 为完全关闭,1 为完全开启。 |
| Gradient (渐变纹理) |
AssetRef<ITexture2D> | 用户提供的渐变纹理,用于定义灰度值如何重新映射为颜色。 |
| BlendMode (混合模式) |
BlendMode | 材质与背景的颜色混合方式(如 Alpha、Additive 等)。 |
| Sidedness (渲染面) |
Sidedness | 定义材质是单面渲染还是双面渲染。 |
| ZWrite (深度写入) |
ZWrite | 是否将深度信息写入深度缓冲(Z-Buffer)。 |
| ZTest (深度测试) |
ZTest | 设置深度测试的条件函数。 |
行为机制
此材质充当一个滤镜,叠加应用在其他材质之上。
它首先会为与该滤镜重叠的所有像素计算出一个灰度值。该灰度值是通过红(Red)、绿(Green)、蓝(Blue)通道的值进行加权组合计算得出的,你可以通过对应的 Ratio(权重比例)输入字段来直接控制这些权重。
用户提供的 Gradient(渐变)纹理定义了随后如何对这些灰度值进行重新映射。该纹理的最左侧定义了对应于黑色(0)的颜色,而最右侧定义了映射为白色(1)的颜色。重要提示:必须将此渐变纹理的 WrapModeU 属性设置为 Clamp(限制),否则颜色值将会从纹理的两端溢出(渗色)。
Lerp(插值)字段允许你在滤镜关闭(值为 0)和完全开启(值为 1)之间进行平滑过渡。
示例
另请参阅
暂无相关链接。




No comments to display
No comments to display