Min, Max, Clamp, Saturate使用!在UE5和Unity中【Ben图形/05】
教程节点Game艺视界原创 15294 0
实名

通过了实名认证的内容创造者

发布于 2022-3-21 21:11:51

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 Game艺视界 于 2022-3-21 21:50 编辑


b64e78dc188da7f93a16111abbb1eb9.png

本期内容
今天我们将讨论最小,最大,钳位和饱和节点

5db13c1c0c3c9f1f1abc2c79fdcbae0e.png

我们今天在一起讨论这四个节点在功能上因为它们非常相似,它们都是为了限制范围而设计的,在某种程度上,它们只是各自做了一点,当我们在着色器图中考虑数据时就不同了,我们通常不考虑单个值,而是考虑范围或方式。数值可以是高的,也可以是低的,这是因为我们的数据可以变化很大每个像素都有一点,特别是当你使用纹理贴图的时候有些像素较暗,有些像素较亮所以这组节点 最小 最大钳位和饱和的设计是为了限制。

我们的数据范围,让我们一个一个地看一遍在上面这里我们有最小的节点它接受两个输入和返回,取更小的值,所以如果你连接一个纹理贴图到首先在这里输入,然后键入一个小于1的数字。进入第二个输入端口你可以限制纹理的亮度,纹理中任何比你的值更亮的像素输入第二个端口将被第二个端口的值替换。相反,这有点像放置一个上铺对允许的数值的上限或上限进行限制

接下来是最大节点它有点像最小节点的反面,它接受两个输入,并返回较大的那个。如果你把一个纹理连接到第一个输入端口,然后在第二个端口中输入一个值你可以限制像素的亮度。纹理中比你输入的值暗的任何像素会被你的价值所取代,所以这就像是设定了一个下限。这些值现在看起来有点与直觉相反的是,最大节点设置了一个较低的限制。最小节点设置了一个上限有时我很难做到记住哪个是哪个,我要试一试,看看结果,但那是使用着色器的好处是,你总是可以看到结果,但是要记住最小值是多少设置上限和最大值就是设置下限

下一个是钳位节点有点像把最小值和最大值结合起来一起,注意它有一个标记为IN的端口,然后它有标记为最小和最大的端口这允许你连接你的,主值max min,然后你就可以设置使用最小端口和最大端口的上限和下限。所以你可以控制数据的范围更高或更低按节点的名称获取箝位

最后是饱和饱和是一种特殊类型的钳,它被设计成只夹紧在最小值0和最大值之间的值。所以你不能定义最小值就像你可以用夹子一样,所以饱和总是要夹子在0和1之间。现在你可能会问为什么饱和节点存在,我可以使用钳位节点和饱和节点。将它的最小值设为0,最大值设为1,结果是一样的。夹紧在0和1之间是很常见的操作,这是你在着色器中经常需要做的这也是图形硬件通常可以做的事情。免费,无需进行任何数学运算操作时,如果需要夹紧0和1之间,你用饱和节点来做,着色器会用硬件来做这是免费的,但如果你使用夹节点把0和1夹在一起会有一些额外的花费或者一些额外的计算涉及到gpu必须这样做,如果你需要在0和之间夹紧一个,你始终使用饱和节点,如果你需要在其他一些值之间进行钳位,你应该使用钳位。

现在我们来看几个例子:
我们看一下最小节点这里有一个纹理样本节点,你可以看到我有一个带有一束圆点的纹理背景的值是0.5灰色圆点的值是白色或1。如果我把这个传递给一个最小节点,这个最小节点会返回无论哪个值是最小的,现在我得到的值是1所有纹理中小于或等于1的元素都会被返回,任何高于1的物体都会被固定在1上。所以你可以看到结果在这里是相同的输入纹理,因为我实际上不是夹紧任何这些值,我只是将限制设置为1纹理中没有任何值大于1,所以我得到了我最初通过的所有东西

但如果我降低我的值你会看到这些白色像素,现在我的圆点花纹衣服不多了值为0.6,所以任何高于0.6的都会被固定到0.6,你可以看到我的圆点在这里几乎看不见如果我把极限降低到0.5,现在你可以看到我的圆点都看不见了因为这些值被限制在0.5。背景也是0.5,所以我得到的是100,0.5%的值的百分比,所以最小值是一个上限限制我的纹理值和夹紧所有的最大值都小于0.5这很有趣,因为该节点被称为最小值,但是如果您考虑一下它返回的值是小于或两个输入值中的最小值,

好的,这里我们有一个相反的例子,我有一个纹理,背景颜色为 0.5,然后波尔卡圆点是黑色的,我有一个最大节点,它返回哪个值更大,我的第二个值是 零,因此正在返回纹理的所有值。

但是如果我把0的值增大到0.2或者让我们试试0.1现在你可以看到较低的纹理中值的限制是有限的,这些圆点以前是黑色的现在值是0.1。
这个值越高,这些圆点就越暗,因为它们被这个最大值所代替,所以如果我输入值0.5现在那些黑色的圆点都看不见了因为任何小于0.5的东西都会被0.5代替,所以这就是我们基本上最小和最大工作的方式。

给我们的值设定一个上限,如果是最大值,我们就会设定一个下限边界。好吧 让我们来看看,使用饱和节点的例子记住,饱和是一种方法在0和1之间夹紧我们的值。那么在这个例子中我们有什么

我们得到了法向量,它被设为世界空间

我们把法向量的y分量分开,这里有分割节点我们有RGB和a等等,用这个分划的g输出就得到了y分量。

现在我们为什么不添加一个预览节点(preview)这里,我们可以看看这个分裂的结果是什么,如果我接线这是预览,你可以看到法向量的y分量是向上的向量在球面的顶部,因为法线是向上的,是白色的然后在球的底部因为法线是朝下的我们现在是黑色的。
你不能从0到1的值从这里的1到这里的0在中间然后从中间到下面实际上是- 1,所以这个向量从1到- 1在顶部,这很重要,所以我们的范围在- 1到1的范围内。

这里有两种不同的颜色,一种是浑黄,一种是这个有点像蓝绿色,我们用的是输出的值,这里的法向量是为了混合黄色和只要这个值是1,我们就会得到蓝色是基于我们讲过的几周前,当这个值为零的时候得到我们的黄色,在这里你可以看到预览一下



如果我们再看一遍顶部是白色的,所以顶部的颜色是蓝色然后当我们向下渐变时,我们要用黄色下面这里发生了什么呢它实际上是进入负的。你可以看到我们不再有黄色了,我们放进去实际上我们得到了一个更亮的黄色,这是一个lerp有个有趣的副作用,它实际上推动了与蓝色相反的方向给了我们意想不到的惊喜价值,我们期望我们的lerp做的是在我们的泥黄色和我们的蓝绿色之间混合,但它实际上给了我们这个值这里的输入t值不是固定在0和1之间。到了- 1所以我们得到的颜色是超越了我们设定的界限,它给了我们相反的结果。

现在你可能想要这种蓝色但通常它是出乎意料的这是我们试图避免的结果,所以当你通过一个值到一个lerp节点,你知道你只想得到一个值是零,另一个值是零如果它是1,你想要夹紧,而不获取其他值使用可靠的饱和节点是个好主意,在这里输入t的值或者混合值上你们会注意到,当我取y分量并把它连接起来饱和节点,看这里黄色的值发生了什么。将这个连接到t端口你可以看到这些值被固定住了,我们得到了预期的那种泥黄色在1和0或者0和1之间,我们得到了预期的那种泥黄色而不是一直深入到那个疯狂的黄色,我们甚至没有把它作为输入,所以在这里使用饱和节点lerp结前是一项重要的制作技术。
这些就是我们看的例子,在Unity中,我们着眼于最小节点、最大节点和饱和节点

让我们跳过虚幻,看看引擎中的这些东西好了,现在我们在虚幻5,你们可以看到我已经列出了和unity中的节点一样,我有最小节点和最大节点这样夹住节点和饱和节点。请记住,我们的最小节点应用了上限,我们的最大节点应用了下限。限制我们的钳位节点允许我们输入最小值和最大值我们可以求上下限,然后饱和节点将夹紧之间0和1。
所以我带来了同样的纹理,有白色的圆点和黑色的圆点纹理,如果我输入的值是0.5。你可以看到我的白点消失了但是如果我把这个值提高到0.7就可以了,当我把它一直提高到1时,你就能得到整个范围如果你想应用一个上限,您可以使用最小节点,然后给它一个低于某个小于 1 的值来限制最大数量

这个纹理是允许的类似于最大节点这是我的黑色圆点,我设置一个0.5的下限,这样纹理中的所有值都不会允许使用最大值低于0.5但是如果我把这个值降低到0.1现在你可以看到这里的圆点,但它们被限制为 0.1 所以它们实际上并没有像在我的原始纹理贴图中那样一直变成黑色。所以最大值允许我设定一个下限,最小值允许我设置一个上限

然后钳位允许我强加两者,这样我就可以为我的范围设置最大值和最小值

然后饱和会夹紧在0和1之间。我们来看看这个例子这里,就像在unity中,我有我的有点脏黄色和我这里的蓝绿色,我想用我的世界空间,如果我只是在虚幻中使用 and 记住它是 z up 所以我必须使用这个组件掩码而不是使用 y 组件或b,注意我选中了这个b所以这个分量掩模的结果是向上的

在顶部它将是1在中间,它是0,然后往下走向底部结果是- 1。如果我把这个颜色的结果连接起来,在这里,我们混合了顶部的蓝色值

中间的黄色值因为这个蒙版会负一,我把这个变亮了你看得更清楚一点,我用的是明亮的黄色颜色是金黄色的,因为它远离了蓝色进入负面领域,

但如果我不想要,如果我想要为了在黄色和蓝色之间进行限制,我需要使用饱和,以确保值进入Lerp不会高于1或低于0,在这种情况下它是到- 1,我可以用饱和节点确保我的值lerp的输入值夹在0和1之间,然后我将得到可预测的结果,我只会1点用蓝色到黄色的0点,我不会超出这个范围提供这就是我们使用最小最大钳位和饱和节点的例子。

今天我们学习了如何使用最小最大钳来限制你的值的范围,我希望这些例子对你们有所帮助


原帖地址:Min, Max, Clamp, Saturate使用!在UE5和Unity中【Ben图形/05】 (qq.com)




本帖被以下画板推荐:

微信公众号:Game艺视界
使用道具 <
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表