bvec2
bvec2
将一个向量(如 `vec2`)按分量转换为布尔向量(`bvec2`),其中 0 转换为 `false`,任何非零值都转换为 `true`。
核心优势
将底层的、分步的比较和构造操作(如 `bvec2(v.x != 0.0, v.y != 0.0)`)抽象为单一、清晰的节点,极大地简化了节点图并提高了可读性。
常见用途
作为 `mix` 函数的遮罩,进行分量化选择
在程序化纹理(如棋盘格、条纹)中进行逻辑判断
可视化向量数据的非零分量以进行调试
如何调整
此节点的效果完全由其输入节点决定。要改变输出的布尔图案,你需要改变输入向量。例如,可以输入一个随时间 `timerLocal()` 变化的动态向量来创建动画遮罩,或输入 `uv()` 坐标来生成基于位置的静态图案。
代码示例
1// 将 vec2 转换为 bvec2 (非零分量为 true)
2const condition = someVec2Node.bvec2();
3
4// 使用 bvec2 在两个向量之间按分量进行选择
5const result = mix( vecA, vecB, condition );