oscSquare
oscSquare
生成一个在 0 和 1 之间瞬时切换的周期性方波信号。它非常适合创建“闪烁”、“开关”等硬朗的动画效果,或生成边缘清晰的程序化图案。
核心优势
提供一个严格为 0 或 1 的离散输出,无需纹理即可创建清晰的“开/关”动画(如闪烁)和高对比度的硬边图案(如条纹和棋盘格)。
常见用途
闪烁与频闪效果
程序化棋盘格与条纹
数字故障与屏幕撕裂效果
如何调整
通过对输入值(如 `timerLocal()`)进行乘法来控制频率。乘以一个更大的数会加快闪烁速度或增加图案密度。组合多个方波(如使用 `xor`)可以创建棋盘格等二维图案。
代码示例
1// 创建 20 条边缘清晰的垂直黑白条纹
2const squarePattern = oscSquare( uv().x.mul( 20 ) );