distance
distance
计算两个点(二维、三维或四维)之间的欧几里得距离。
核心优势
其核心价值在于语义清晰和简洁。`distance(p1, p2)` 比 `length(sub(p2, p1))` 更直观地表达了“计算距离”的意图,从而简化了节点图,提升了可读性。
常见用途
程序化生成形状(如圆形SDF)
屏幕暗角(Vignette)效果
交互式效果(如水波纹、力场)
基于3D距离的物体交互高亮
如何调整
通过改变其两个输入点的位置,可以移动效果的中心(例如,将圆形从屏幕中心移到角落)。通过缩放或修改输入坐标系(如 `uv().mul(3)`),可以实现图案的平铺和重复。
代码示例
1// 计算当前像素到屏幕中心的距离
2const dist = distance( uv(), vec2( 0.5 ) );