Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d Unity着色器图形,UV贴图分解用作不透明度渐变_Unity3d_Shader_Shader Graph - Fatal编程技术网

Unity3d Unity着色器图形,UV贴图分解用作不透明度渐变

Unity3d Unity着色器图形,UV贴图分解用作不透明度渐变,unity3d,shader,shader-graph,Unity3d,Shader,Shader Graph,我仍在努力学习Unity Shader graph的工作原理,但我遇到了麻烦 我得到了UV贴图,我知道它在红色通道的范围是0到1,在绿色通道的范围是0到1 我正在提取红色通道以将两种纹理混合在一起,但红色通道看起来很奇怪 如您所见,如果我应用一个对比度节点,将黑白分开的线就在左边。我料想它会在中间。我认为这可能是一个对比度问题,但正如您在“混合”节点中看到的,它显示的第二个纹理比第一个纹理更多 在预览节点中,可以看到它的白色值比黑色值多得多 我想要的是从每一侧均匀混合两种纹理,并用一个数字控制

我仍在努力学习Unity Shader graph的工作原理,但我遇到了麻烦

我得到了UV贴图,我知道它在红色通道的范围是0到1,在绿色通道的范围是0到1

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

如您所见,如果我应用一个对比度节点,将黑白分开的线就在左边。我料想它会在中间。我认为这可能是一个对比度问题,但正如您在“混合”节点中看到的,它显示的第二个纹理比第一个纹理更多

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

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


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

我使用重新映射节点解决了这个问题

当对比度为0时 重新映射 最小最大值=0..1 Out MinMax=0..1

当对比度为1时 重新映射 最小最大值=0.4999..0.5 Out MinMax=0..1

因此,它会生成一个黑白纹理,中间有一条分割线