Unity Shader Graph、UV Map 分解用作不透明度渐变

问题描述

我仍在努力学习 Unity Shader 图的工作原理,但我遇到了障碍。

我正在获取 UV 贴图,我知道红色通道中的范围是 0 到 1,绿色通道中的范围是 0 到 1。

我正在提取红色通道以将两个纹理混合在一起,但红色通道看起来很奇怪。

enter image description here

如您所见,如果我应用对比节点,则分隔黑白的线在左侧。我希望它在中间。我认为这可能是一个对比问题,但正如您在混合节点中看到的那样,它显示的第二个纹理比第一个纹理更多。

在预览节点中,您可以看到它的白色值比黑色值多得多

我想要的是从每一侧均匀地混合两种纹理,并用一个数字控制混合(不透明度对比度),“0”完全混合,“1”根本不混合(左侧 = tex1 和右侧 = tex2)

Contrast = 1

解决方法

我设法让它工作。红色通道不是罪魁祸首,而是对比度节点。

我使用 REMAP 节点解决了这个问题。

当对比度为 0 时 重新映射 在 MinMax = 0..1 出 MinMax = 0..1

当对比度为 1 时 重新映射 在 MinMax = 0.4999..0.5 出 MinMax = 0..1

所以它生成了一个黑白纹理,分割线在中间

Contrast == 0

Contrast == 1

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...