ノード一覧に戻る

範囲制限

clamp

値が小さすぎたり大きすぎたりしないよう、指定した範囲に収めます

確認済み
解説あり

入力ポート

名前説明
入力
input
Number
必須
範囲内に収めたい数値です

出力ポート

名前説明
value
Number
範囲内に収めた後の数値です

パラメータ

名前既定値範囲説明・選択肢
範囲プリセット
range_preset
Enum
Normalized

よく使う範囲をすばやく設定します

  • 正規化 0..1Normalized
    制限範囲を 0..1 にします
  • 符号付き -1..1SignedNormalized
    制限範囲を -1..1 にします
  • 百分率 0..100Percent
    制限範囲を 0..100 にします
  • カウント 1..16Count
    制限範囲を 1..16 にします
  • ピクセルオフセット -32..32PixelOffset
    制限範囲を -32..32 にします
  • 大きいオフセット -256..256LargeOffset
    制限範囲を -256..256 にします
  • カスタムCustom
    最小値と最大値で制限範囲を決めます
最小値
min
Float
0-10000–10000 / step 0.01

これより小さい値は、この値になります

最大値
max
Float
1-10000–10000 / step 0.01

これより大きい値は、この値になります

編集用最小
soft_min
Float
0-100000–100000 / step 0.01

最小値と最大値を編集する時のスライダー最小値です

編集用最大
soft_max
Float
1-100000–100000 / step 0.01

最小値と最大値を編集する時のスライダー最大値です

編集用ステップ
soft_step
Float
0.010.001–1000 / step 0.001

最小値と最大値を編集する時のスライダーステップです

まず何に使う?

  • 0〜1 の範囲に収めたい時
  • 位置や強さが暴れすぎるのを防ぎたい時
  • 下限や上限を超えない安全な値にしたい時

概要

数値を指定範囲に「収める」安全装置ノードです。範囲外の値は端の値に貼り付きます。 波形や計算の結果が暴れても下流を壊さないよう、パラメータ入力の直前に挟むのが 典型的な使い方です。

使い方のポイント

  • remap との使い分け: remap は範囲を「変換」(比率を保って移す)、clamp は 「切り捨て」(範囲外だけ潰す)。範囲内の値をそのまま通したいなら clamp
  • 透明度・割合系(0〜1)の入力前に Normalized プリセットで挟むのが定番
  • 「はみ出た部分が平らになる」性質を逆手に取ると、波形の頭打ち (台形波っぽい形)も作れる

関連ノード

  • remap — 範囲の変換(圧縮・拡大)をしたい場合
  • math_opMin/Max は片側だけの制限に使える
  • expression_float — 式の中で clamp() も書ける

範囲プリセット

  • Normalized
    • 0..1 に制限したい時の定番です
  • SignedNormalized
    • -1..1 のような正負ありの強さに向いています
  • Percent
    • 0..100 の割合値に向いています
  • Count
    • 1..16 の個数や段数に向いています
  • PixelOffset
    • -32..32 のピクセル移動量に向いています
  • LargeOffset
    • -256..256 の大きめの移動量に向いています
  • Custom
    • min / max で制限範囲を決めたい時に使います

注意

  • min > max の時は、内部で自動的に並び替えて処理します。
  • 出力ポートは Number ですが、実行時の返り値は現在 Float です。
  • Custom 以外では、range_preset 自体が実際の制限範囲を決めます。保存データや PPL 内の min / max が古くても、選択したプリセットの範囲で評価されます。
  • min / max を実際の制限値として使うのは Custom の時だけです。
  • 細かく調整したい時は Custom に切り替えて soft_min / soft_max / soft_step を使います。

使用例

  1. range_preset = Normalized
    • 0.0〜1.0 をすぐ作れます
    • 透明度や割合の値を制限する時に便利です
  2. Noise Wave の出力を 0.0〜1.0 に収める
    • 負の値や 1 を超える値をそのまま次段へ流したくない時に便利です
  3. Math Op(Add) の結果を Clamp
    • 足し合わせで大きくなりすぎた値を抑えられます
  4. Opacity の前段で 0〜1 に制限する
    • 透明度入力を安全な範囲に保てます
  5. range_preset = PixelOffset
    • -32..32 の位置補正用クランプをすぐ作れます
  6. RevealTrim の割合入力を 0〜1 に固定する
    • アニメーション中の破綻を防ぎやすくなります
ノード一覧に戻る