lessThanEqual
lessThanEqual
对两个输入值执行“小于或等于”(<=)比较,是处理需要包含临界点的条件逻辑和范围判断的精确节点。
核心优势
以最直观和高效的方式提供了包含边界的精确比较。它避免了为处理临界点而组合多个节点的复杂性,确保了在处理动画最后一帧或范围终点等情况时逻辑的正确性。
常见用途
创建闭合范围遮罩,如判断一个值是否落在 `[min, max]` 区间内。
制作进度条或填充效果,确保在达到100%时能够被完全填满。
在动画中,精确地在某个时间点(含该时刻)触发或锁定一个状态。
在程序化几何中,可靠地捕捉等于边界的条件,避免因浮点数误差导致判断失效。
如何调整
调整其阈值输入(B),例如进度条中的 `progress` 值。动态改变 `progress` 可以控制填充区域的高度。使用 `lessThanEqual` 能确保当进度条达到100% (`progress`=1.0) 时,最顶端的一行像素 (`uv.y`=1.0) 也被正确填充,避免了视觉上的瑕疵。
代码示例
1// progress 是一个 0 到 1 的 uniform 进度值
2// 当像素的 Y 坐标小于或等于进度时,该区域被填充
3const isFilled = uv().y.lessThanEqual(progress);