docs.unity3d.com
    目次を表示する/隠す

    Smoothstep ノード

    説明

    入力 In の値が入力 Edge1 と Edge2 の間にある場合に、0 と 1 の間の滑らかなエルミート補間の結果を返します。入力 In の値が入力 Step1 の値より小さい場合は 0 を返し、入力 Step2 の値より大きい場合は 1 を返します。

    このノードは、Lerp ノード と類似していますが、明確な相違点が 2 つあります。1 つ目は、Smoothstep ノードの場合はユーザーが範囲を指定し、戻り値が 0 - 1 の範囲内になることです。これは Lerp ノード の逆であると言えます。2 つ目の相違点は、Smoothstep ノードは線形補間ではなく滑らかなエルミート補間を使用することです。つまり、補間が開始時から徐々に加速し、終わりに近づくにつれて減速します。これは、自然な見た目のアニメーションやフェーディング、その他の遷移の作成に役立ちます。

    ポート

    Name Direction タイプ 説明
    Edge1 入力 任意のベクトル型 最小 Step 値
    Edge2 入力 任意のベクトル型 最大 Step 値
    In 入力 任意のベクトル型 入力値
    Out 出力 任意のベクトル型 出力値

    生成されるコードの例

    以下のサンプルコードは、このノードの出力の一例を示したものです。

    void Unity_Smoothstep_float4(float4 Edge1, float4 Edge2, float4 In, out float4 Out)
    {
        Out = smoothstep(Step1, Step2, In);
    }
    
    トップに戻る
    Copyright © 2023 Unity Technologies — 商標と利用規約
    • 法律関連
    • プライバシーポリシー
    • クッキー
    • 私の個人情報を販売または共有しない
    • Your Privacy Choices (Cookie Settings)