Alpha Overノードが画像を明るくするのはなぜですか?
Blender 2.9のCyclesプロジェクトでは、すべてのオブジェクトが環境から白色光を受け取るようにしたいので、[ワールドプロパティ]-> [サーフェス]-> [色]を白に設定します。
しかし、最終結果の背景を濃い青にしたいので、[レンダリングプロパティ]-> [フィルム]-> [透明]をオンにし、コンポジターの[アルファオーバー]ノードを使用して青い背景を取得しました。
これは、背景が透明な元のレンダリング画像です。

そして、これは青い背景が合成された写真です:

ご覧のとおり、アルファオーバーモードでは画像がはるかに明るくなります。しかし、私はそれを望んでいません。青い背景の元の画像が欲しいだけです。
私が試したこと:
- 「Premulの変換」のチェック(レンダリングされた画像にはすでに事前に乗算されたアルファチャネルが含まれているため、必要ありません)
- 「Fac」を手動で変更する(予期しない動作があります。前景を透明にするには、非常に低い値(0.0001)が必要です。Fac= 0.5で前景が50%透明になると予想しました)
- Render LayersノードのAlpha出力をAlphaOverノードのFac入力に接続します(アルファチャネルはすでに画像自体に含まれているはずなので、必要ありません)。
- 私のシーンにもあるサンランプの明るさを0に設定しました。これでも問題は解決しませんでした。
私の質問:レンダリングされた画像を明るくせずに、青い背景の前にレンダリングされた画像を取得するにはどうすればよいですか?
どんな助けでも大歓迎です!
回答
あなたは、半透明の部分に誇張明るさを減らすために何ができることの一つは、使用しているアルファ変換ノードでCompositorのを。間に入れてレンダリングレイヤーとアルファオーバーと「ストレートPremulへ」に設定します。これにより、透明な領域の明るさが大幅に低下します。
レンダーの透明度は、ビューアーノードの透明度とは異なります。
その結果を得るには、たとえば、クランプを有効にして[カラー]> [ミックス]ノードを使用して、画像のRGB値をクランプする必要があります。次に、画像に純粋な白を掛けるか、純粋な黒を追加すると、出力のすべての明るいピクセルが白にクランプされ、アルファ透明度が機能します。とにかく明るさがこんなに高いのはなぜですか?
あなたが言ったが、あなたは太陽ランプの強さを0に設定し、それでもあまり変わらなかった、あなたが提供したファイルは1000の強さの太陽を持っていた。Blenderでは、10の強さしかない太陽は非常に明るい。
したがって、立方体と1000の太陽を使用してファイルをレンダリングすると、立方体の周囲に半透明の領域が生じ、RGB値が150を超え、透明度が60%〜80%で200になり、ピクセルが白をはるかに超えます。そのため、背景ビューよりもすべてがはるかに明るくなっています。
希望する結果を得るには、太陽を低く設定する必要があります。オブジェクトが白ではなく灰色に見え、それが太陽の値を上げた理由である場合は、カラーマネジメントでフィルムの代わりにビュー変換>標準を設定してみてください。