range
range
一个工具节点,通过将最小值和最大值打包在一起,来定义一个数值范围。它主要作为配置对象,供其他节点(尤其是 `remap`)使用。
核心优势
它通过将范围的边界封装成一个单一的、逻辑清晰的对象,极大地提升了代码的组织性和可复用性。这简化了参数传递,并允许一个范围定义在多个操作中被重复使用。
常见用途
为 `remap` 节点定义输入和输出范围,以执行值域重映射。
指定生成随机数的目标区间。
为程序化渐变或分段函数标记不同的行为区间。
如何调整
调整 `range` 节点的 `min` 和 `max` 属性本身没有直接视觉效果,而是间接控制使用它的节点(如 `remap`)的行为。例如,将输出范围从 `range(0, 1)` 缩小到 `range(0.2, 0.8)` 会降低最终效果的对比度。错误地设置输入范围则可能导致映射被截断,从而改变动画的形态。
代码示例
1// 定义 sin 波的输入范围 [-1, 1]
2const fromRange = TSL.range( -1, 1 );
3
4// 定义期望的输出范围 [0, 1]
5const toRange = TSL.range( 0, 1 );
6
7// 将输入值从 fromRange 映射到 toRange
8const remappedValue = TSL.remap( inputValue, fromRange, toRange );