ProRenderでアルファマップで透過させる方法


by inoue

6月 13, 2020

3DCGで映像、コンテンツを作成する際に、文字や葉、草などを白黒のアルファマップを使用して、透過させることはよくあるかと思います。

今回は、AMD Radeon™ ProRender for Maya® にて、RPR UberMaterialを使用する際にアルファマップを使用し、透過させるやり方を紹介します。

 

注意点として、ProRender では、黒の部分が透過し、白の部分が不透明になります。

しかし、Photoshopなどで白黒を反転させる必要はないので、そのやり方も紹介します。

アルファマップを使用する

アルファマップを使用する際には下記の設定をまず行います。

RPR UberMaterial のAttributeの下の方にある「Material Settings」の「Use Transparency」にチェック入れます。

アルファマップを使用する

透過させる部分が黒のアルファマップを持っている場合

プリレンダーでは白の部分が透過せず、黒の部分が透過するレンダラーが多いかと思います。そういったテクスチャを使用するパターンです。

MorgenRot

使用するアルファマップの例

 

前述の通り、この場合は、白と黒を反転させる必要があります。

そこで「RPRArithmetic」というノードを使用します。

「RPRArithmetic」はProRenderのUtilityノードなのでUtilitiesにあります。

RPRArithmetic

①アルファマップの「Out Color R」を「RPRArithmetic」の「Input BX」に繋ぎます。

②「RPRArithmetic」の「Out X」を「RPRUberMaterial」の「Transparency Level」に繋ぎます。

Subtract

③「RPRArithmetic」の「Input A」を「1」にし、「Operation」を「Subtract」にして、完了です。

アルファマップ使用した例- Maya Viewport

アルファマップ使用した例- Maya Viewport

 

アルファマップを使用した例 - レンダリング結果

アルファマップを使用した例 – レンダリング結果

 

また、Diffuse Colorテクスチャのアルファチャンネルにアルファマップを入れている場合もやり方は同じです。

Diffuse Color

透過させる部分が白のアルファマップを持っている場合

先ほど紹介したパターンとは白と黒が逆の場合です。

使用するアルファマップの例

使用するアルファマップの例

 

この場合は、先ほどのように「RPRArithmetic」は必要なく、「Out Color R」を「Transparency Level」に繋げば完了です。

※ProRenderでは「Alpha is Luminance」が現状、機能しないことに注意してください。

「Out Color R」を「Transparency Level」に繋ぐ

Subsurface Scattering(SSS)を使用する場合

葉などではアルファマップでの透過に加えて、SSSを使用する場合もあります。

ProRenderにて、SSSを使用する場合、通常はRPR UberMaterialの「Subsurface」を有効にするのですが、アルファマップを使用する場合はやり方が異なります。

 

RPR UberMaterialのアトリビュートの「Diffuse」にある「Separate Backscatter color」にチェックを入れます。

Separate Backscatter color

使用するテクスチャは「Backscattering Color」に繋ぎます。

これで完了です。

SSSの効き具合を調整したい場合は、「Backscattering Weight」の数値を調整します。

Backscattering Weight

アルファマップでの透過とSSSを使用した例

アルファマップでの透過とSSSを使用した例

 

※このブログは向井秀哉氏に寄稿頂きました。