فهرست منبع

feat: 添加线性插值介绍

usuiforhe 2 سال پیش
والد
کامیت
66c283c532

BIN
UE5/材质/Image/039.png


BIN
UE5/材质/Image/040.png


BIN
UE5/材质/Image/041.png


BIN
UE5/材质/Image/042.png


BIN
UE5/材质/Image/043.png


BIN
UE5/材质/Image/044.png


BIN
UE5/材质/Image/045.png


+ 42 - 1
UE5/材质/README.md

@@ -156,4 +156,45 @@ UE 支持的 **纹理格式** 有:bmp、float、jpeg、jpg、pcx、png、psd
 
 这里顺便介绍一个节点 `Constant Bias Scale` (**常量偏差比例**),这个节点的作用很简单,就是将原来的数值加上 `Bias` 配置的数值然后乘以 `Scale` 的数值
 
-以上图为例,原本的 `TexCoord` 的数组是从 0~1 的,加上 Bias 配置的 -0.5 之后,得到的是一个 -0.5~0.5 的数组,然后乘以 Scale 配置的 0.5,最后得到一个的是一个 -0.25~0.25 的数组,这也就最后左边预览显示的效果
+以上图为例,原本的 `TexCoord` 的数组是从 0~1 的,加上 Bias 配置的 -0.5 之后,得到的是一个 -0.5~0.5 的数组,然后乘以 Scale 配置的 0.5,最后得到一个的是一个 -0.25~0.25 的数组,这也就最后左边预览显示的效果
+
+### 线性插值
+
+通过快捷键 **L + 鼠标左键** 即可得到一个线性插值节点
+
+![](Image/039.png)
+
+作用其实很简单就是将 输入口 A 的值 和 输入口 B 的值进行一个线性插值,比如这里是 `Alpha` 配置的是 0.5,其实就是 `A * (1 - 0.5) + B * 0.5`
+
+对比 `(0.5, 0.5, 0)` 的颜色和材质最后的表现效果就知道
+
+| Alpha 值为 0 | Alpha 值为 1 | Alpha 值为 1000 |
+| --- | --- | --- |
+| ![](Image/040.png) | ![](Image/041.png) | ![](Image/042.png) |
+
+通过上面设置 Alpha 值可以推理出该节点的运算是 `A * (1 - Alpha) + B * Alpha`
+
+`Alpha` 的取值范围在 0~1 之间,再观察 `Alpha` 值为 1000 的表现效果,可以发现最后的结果很奇怪,所以尽量不要设置超过 `Alpha` 的取值范围的值
+
+> Alpha 的值超过取值范围,打包可能报错
+
+为了防止 Alpha 的值超过取值范围,可以使用 `Clamp` 节点来对值进行限制
+
+`Clamp` 节点会要求设置最大值和最小值,然后根据输入返回指定区间内的值
+
+![](Image/043.png)
+
+除了 `Clamp` 节点之外,还可以使用 `Saturate` 节点,该节点会直接帮你将值设置到 0~1 的区间内
+
+![](Image/044.png)
+
+> `Saturate` 直接锁死了区间范围,所以其**性能消耗**会比 `Clamp` 低,所以在做材质优化的伤害可以考虑使用
+
+![](Image/045.png)
+
+使用图片的 Alpha 通道配合线性插值得到的表现效果
+
+### 维度控制
+
+材质中一共存在 4 种维度:一维、二维、三维、四维,数据是可以**维度升级**或者**维度降级**的
+