乗算済みアルファ

ビットマップにアルファを保存するには 2 つの方法があります。先行乗算する方法と、先行乗算しない方法です。

先行乗算しないフォーマットのイメージを合成する場合は、アルファをバックグラウンドイメージの色に追加する前に、そのアルファの R、G、B チャネルそれぞれを乗算しなければなりません。これで正しい透明効果が生じますが、これは合成のたびに行う必要があります。先行乗算されたアルファの場合は、R、G、B コンポーネントを、既に乗算されたアルファとともに保存するので、合成がより効率的に行われます。

3ds Maxが先行乗算フォーマットでイメージを保存する理由は、これだけではありません。イメージをレンダリングするときには、オブジェクトのエッジがアンチエイリアスされる必要があります。この効果は、オブジェクトのエッジの上でピクセルの断片的な範囲を決定して、次にこれを反映するためにピクセルのアルファを調整することによって得られます。たとえば、オブジェクトに 30% カバーされるピクセルのアルファは、0.30 になります。

エッジをアンチエイリアスするには、これらのエッジ ピクセルを暗くするために、アルファは前もって乗算されていなければなりません(これは黒いイメージ上にイメージを合成するのと基本的に同じことです)。したがって、レンダリングするイメージがアルファを先行乗算するのは自然なことです。レンダリング イメージのアルファを先行乗算しない場合、RGB を見ているとオブジェクトのエッジにジグザグが示されます。それを表示するには、アルファ チャネルを使用して、それを黒のバックグラウンドの上に合成する必要があります。

注: レンダリングされたイメージのアルファ作成時に、レンダラーによって環境マップのアルファ チャネルが使用されるかどうかを制御するには、[カスタマイズ](Customize) [基本設定](Preferences) [レンダリング](Rendering)を選択してから、[バックグラウンド](Background)領域の[環境アルファを使用](Use Environment Alpha)にチェックマークを付けます。

[環境アルファを使用](Use Environment Alpha)のチェックマークが付いていない(既定値)場合、バックグラウンドでは 0 (完全に透明)のアルファ値を受け取ります。[環境アルファを使用](Use Environment Alpha)のチェックマークが付いている場合、生成されるイメージのアルファ チャネルはシーンとバックグラウンド イメージのアルファの組み合わせになります。また、[乗算済みアルファ](Pre-Multiplied Alpha)のチェックマークを消して TGA ファイルにレンダリングする場合は、[環境アルファを使用](Use Environment Alpha)にチェックマークを付けると、不正確な結果が出るのを防ぐことができます。

ヒント: Combustion や Photoshop など別のプログラムでオブジェクトを合成する場合は、バックグラウンドを黒にしてオブジェクトをレンダリングしてください。そうでない場合には、オブジェクトの周囲が環境や背景の色によって縁どられる可能性がある