Q100149: Grade ノードのミックス輝度スライダーが線形ミックスではないのはなぜですか

フォローする

まとめ

多くのお客様から、なぜグレード ノード ミックスの輝度スライダーが線形ミックスではないのかという質問を受けました。
ここでは、 Nukeの Grade ノードのミックス輝度スライダーの背後にある数学の説明を示します。

詳しくは

Nukeの Grade ノードの mix_luminance 計算は、非線形ガンマ エンコーディングを含む ITU-R BT.709 に詳述されている変換式を使用して、まず RGB 値をデジタル化された YPbPr に変換することによって実現されます。混合輝度は、色補正された輝度値と色補正されていない輝度値の間の線形比率として mix_luminance を使用して取得され、最後に RGB に変換し直されます。

RGB 値が (0.5, 0.5, 0.5) のこの例では、色補正されていない輝度は 0.694 となり、色補正された輝度は 0.524 となります。混合された輝度は次のようになります。

0.5 * 0.694 + (1 - 0.5) * 0.524 = 0.609。

これを RGB 値に変換し直すと、約 (0.362, 0.362, 0.362) となります。

サンプル スクリプトでは、2 つの定数のストレート ディゾルブと Grade ノードを比較します。この場合、ブレンドは輝度ではなく RGB 値に基づいて行われます。輝度変換が非線形であるため、結果が異なります。

このサンプル スクリプトをNukeに貼り付けると、値の違いを説明するのに役立ちます。

set cut_paste_input [stack 0]
Constant {
inputs 0
channels rgb
color 0.25
name Constant3
selected true
xpos -37
ypos -54
}
Constant {
inputs 0
channels rgb
color 0.5
name Constant2
selected true
xpos -128
ypos -52
}
Dissolve {
inputs 2
channels rgb
which 0.5
name Dissolve1
selected true
xpos -87
ypos 55
}
Constant {
inputs 0
channels rgb
color {0.5 0.5 0.5 0}
name Constant1
selected true
xpos -291
ypos -53
}
Grade {
white 0.5
mix_luminance 0.5
name Grade1
selected true
xpos -291
ypos 26
}

    私たちはそれを聞いて申し訳ございません

    理由をお聞かせください