equal
equal
对两个输入值 A 和 B 执行“等于”(==)比较,是 TSL 中实现条件逻辑和逻辑分支的基础节点。
核心优势
作为逻辑判断的基石,它以一种声明式、高可读性的方式,安全地处理不同数据类型的比较,开发者无需关心底层的 GLSL 语法细节,即可轻松构建复杂的逻辑网络。
常见用途
通过比较 UV 坐标与特定数值,生成条纹、棋盘格等精确的几何图案蒙版。
在对象拾取或高亮效果中,比较像素的 ID 颜色与目标 ID 颜色,以识别并过滤出目标对象。
将连续的数值(如光照强度)量化为离散等级,并判断当前属于哪个等级,以实现卡通渲染等阶梯式效果。
根据传入的动画状态变量,判断当前应执行哪种动画逻辑(如待机、行走、攻击)。
如何调整
通过改变输入 A 或 B 的值,可以改变节点返回“真”(通常为 1.0 或白色)的条件。例如,在创建移动扫描线的示例中,将 `timer().mul(5)` 的乘数改小,会减慢扫描线的移动速度;改变 `uv().y` 为 `uv().x` 则会将扫描线变为垂直方向移动。
代码示例
1// 创建一个在垂直方向上移动的扫描线
2equal( floor(uv().y.mul(20)), timer().mul(5).floor().mod(20) )