今回作る最終絵。ベースがSSSで、7部分がmia、そして赤色に別のmiaがセットされてます。
miaやsssなど色々なマテリアルを1つのオブジェクトに混ぜて使う事が出来るmix8.layerという外部プラグインのシェーダーがあります。これにアルファチャンネルを使えば人間の半分だけmiaで半分はsss。半分が鉄で、半分が人肌とかね!又は4個のマテリアルを組み合わせて色々な汚れ処理をしたりする事もできたりと、これは使えるシェーダーだと思ったので記事にしました。今後マテリアルをブレンドする時はこれしか使わないだろうな。というぐらい便利な物ですので、MAYAを使ってる方は是非挑戦してみてください。非常に簡単です。
まずは mia8layerのシェーダーをこちらのドロップボックスよりダウンロードしてください。
ダウンロードしたデータの置き場所
データをダウンロードしたらそれぞれ置き場所が決まってますので、間違わない様にデータを置いてください。これを間違うとちゃんと起動しません。
mix8layer.dll は コンピューター → windwos C → Program Files → Autodesk → Maya2013 → Mentalray → shadersの中に
mix8layer.mi は コンピューター → windwos C → Program Files → Autodesk → Maya2013 → Mentalray → shaders → includeの中に
AEmix8layerTemplate は コンピューター → windwos C → ユーザー → 名前 → マイドキュメント → maya → 2013-x64 → scriptsの中に
mix8layer.fti は コンピューター → windwos C → Program Files → Autodesk → Maya2013 → iconsの中に
同じく render_mix8layer.xpm は コンピューター → windwos C → Program Files → Autodesk → Maya2013 → iconsの中に放り投げてください。
mix8.layerの使い方
hypershadeより、「mix」と検索すると「mix8layer」が表示されるのでこれを選択。
縦線にカラフルなシェーダーが出来ました。これがmix8layerです。ポールスミスみたいなカラー。
今回は、3つのマテリアルを四角のオブジェクトに適用させて見たいとおもいます。
mix8.layerの他にmiaを2つと、SSSを1つ作りました。
① mia2つと、SSSと、mix8.layerを選択して ② inputo and autput conectionを押して ③ work areaに全てを表示させます。
ベースの色。
まずはベースとなる色を適用させます。今回はSSSをベースの色としたいので、mix8.layerを選択してattribute editorより「base.options」の中より「base.color」にSSSを突っ込んでください。SSSは何もしなくても読み込まれます。
2個目の色
次はアルファとして適用させたい2個目の色を挿入します。同じくmix8.layerを選択してattribute editorより①青いmiaを今度は「layer1」の「.options」より「color.1」に挿入。
すると、connection editorが開くので、② result(miaの効果を全て反映する) ③ f_colorlayer_1(mix8に繋げれる色の番号)を選択して、mix8.layerのlayer1から効果が出力されるように設定します。
3個目の色
2個目の色と同じ段取りで設定しますが、今度は2個目の色なので、attribute editorよりlayer.2を選択して、color.2に今度は ① 赤色のmiaを突っ込んで、②resultより ③ layer.2なのでf_colorlayer_2を選択して効果が出力出来るよにします。
名前の通り8個繋げる事が出来ますが、今回はとりえあず3つを繋げてみました。こんな感じ。
とりえずレンダリングしました。
このままだと、一番上のSSSだけがレンダリングされてるので、アルファ画像を付けてSSSの上からmiaマテリアルを表示させる様にしたいと思います。
mix8.layerの青色を付けた、layer1の.optionsより ①「a.factor」をクリックして ② 2D Textureファイルを選択。
自分で作ったアルファ画像を読み込みます。
photoshopで見ると右下にアルファチャンネルが付いてるのが分かりますね。
レンダリングすると、ベースSSSの上に、アルファチャンネルで抜いた白い部分だけ青色のmiaが適用された画像がレンダリングされました。しかしSSSを設定したはずなのに、SSSの効果が全く表示されてませんね。これはもう少し後に書いてます。
もう一つ、赤色のmiaを表示するため同じ様にlayer2にアルファチャンネル画像を読み込みます。
適当にこんな感じ。
SSSを繋げたのに、ちゃんと表示されない!時の対処法。
先ほど書いた通り、mia8.layerにSSSを繋げたのに、何故か透き通ったSSS本来の表現が表示されない!単品だったらちゃんと表示されるのに!という場合の対処法を書いときます。
①マテリアルとmix8.layer1SGを選択して ②input and output connectionsをクリック。
すると、①の様に展開されるので、ここでまたそれぞれのマテリアルのshading enginを選択して、②input and output connectionsをクリックすると、③の様に展開されます。
ここで見てもらいたいのが、SSSにはmisss_fast_lamp_mayaがマテリアルと一緒にSGにコネクトされてるんですよ。
しかし、mix8.layerのSGにはこのlamp_mayaがコネクトされてなかったので、最終的に透けたSSSの表現がされてなかった事が分かりましたので、① lamp mayaを②mix8.layerにコネクトしてあげると、SSS独自の透け感が表現されます!
SSSをレンダリングするときは最終SGにlamp mayaが必要と覚えておきましょ。
上記通りに作ってたら、四角いキューブ1つがこんな感じになってるはずです。適当に作ったらちょっと演技が悪い絵になってしまった。。
mix8.lyaerの便利なポイント
mix8.layerでは1つのオブジェクトに色々なマテリアルを設定出来るのも便利ですが、それ以外にこのシェーダーが便利な部分を紹介します。
「blending.mode」では乗算やスクリーンなどの効果を表現する事も出来るので、簡単に表現を変えれるのが使いやすい。
「n.layers」では、レンダリングする時に、実際3つ作ったマテリアル違いのlayerだったけど、0にする事により、やっぱり何も無しでレンダリングしたい時に使えたり、
「Enable」のチェックをオフにする事により、例えば間に設定しておいたマテリアルを非表示で簡単にレンダリングする事ができる様になったりと、色々なマテリアルを単に重ねるだけでなく、その使い勝手が非常に良い事が分かります。
MAYAでシェーダーを使う場合はmia8.layerを試してみる事をおすすめしますよ。そもそもデフォルトでこれ追加しといてもらいたいです。
高いけど読んでみたい本。
日々クリエイターの欲求記
photoshop777様様
突然のコメントにて失礼致します。
オートデスクのマーケティング担当 Cheeと申します。
さて、このたび、貴サイトへ弊社のリンクを掲載していただきたく存知、突然のメールで大変失礼と存じましたが、ご連絡させて頂きました。
この記事を拝見したところ、記事の情報が弊社ユーザーにとって、とても価値がある情報源だと感じました。弊社は、貴サイトのように影響力のあるメディアからのリンクを重宝しております。
お忙しいところ大変恐縮ですが、差しつかなければご協力願いたい内容がございますので、メールにてご案内をさしあげておてもよろしいでしょうか?
Autodesk Ltd.
オンラインマーケティング部門
チェホワン
cheeho.wan@autodesk.com