マテリアル
アルファチャンネル無しの白黒画像で透明テクスチャ
現在Blenderにて人物(女性)を制作中ですが、今後髪の毛を作成するにあたって、毛先などを表現するのに必要不可欠な透明テクスチャを事前に試してみることにしました。しかしこれが意外にも難航しております・・・。という事で以下、実際に髪の毛を作成する時の為に覚え書きとして記録しておこうと思います。
今回も恐らく以前六角大王にて作成した女性の髪の毛と同じく短冊状ポリゴンで髪の毛を作成する予定です。短冊状ポリゴンの場合、パーティクルヘアーと違い透明テクスチャを使用し髪の毛のシルエットを表現する必要があります。
六角大王の透明マップやShadeのトリムマップは、白黒の画像を用意しマッピングすればマスクの役割で不要な部分を透過してくれます。設定もいたって簡単。しかしBlenderでは、アルファチャンネルによる透過が主流なのか上記の方法を行うには、意外と設定が面倒のようです。しかしアルファチャンネルに対応しているファイル形式はPNG、TGA、TIFFと限られていますし、(私だけかもしれませんが)白黒によるテクスチャ画像の方が制作が容易という事もあり、JPEG形式などアルファチャンネル無しの白黒画像での透明テクスチャを設定する方法でいきたいと思います。
今回はサンプルとして"星形"に透過(黒い部分を透明)させてみたいと思います。用意するのは二枚の板状ポリゴン。一方には上記画像のように白黒の星形が描かれたテクスチャをUVマップにて貼り込みます。もちろん使用するテクスチャはアルファチャンネル非対応のJPEG形式。
では、透過させるための設定です。「Links and Pipeline」タブ内の[ZTransp]を有効に。「Material」タブ内の[A]の数値を"0"に設定。「Map To」タブ内の[Alpha]のみを有効にします。因みに星形にくり貫く場合(白い部分を透明)は[Alpha]をもう一度クリック(文字が黄色く表示されます)すれば、反転されたものが適用されます。
もし上記設定で透過しなければ、「Map Image」タブ内の[UseAlpha]と[CalcAlpha]がオフになっているかを確認。
こちらが現時点のレンダリング見本です。ご覧の通り無事星形に透過されています。しかし影が透明テクスチャを適用する前のポリゴンのまま四角く反映されています。私はこれで躓いてしまいましたが、やっとの事で解決法が見つかりました。
では、続いて影の設定方法を・・・。
影の設定は、影が映り込んでいるオブジェクト側で行います。「Shaders」タブ内の[TraShadow]を有効にします。(それだけ・・・)
最終的なレンダリング見本です。無事影も星形に透過されました。これで髪の毛の制作も問題ないはずです。