RedShift & mayaでテクスチャ

今回はテクスチャーについて解説していきます。6/1に登場の「ロボットTypeC」に再登場してもらいましょう。

前回と同じの「RedshiftMaterial」ではちょっと面白くないので、もう1つのRedshiftの標準シェーダーである「Artitectural」を使ってみます。何が違うかというとArtitecturalですから建築向きというだけでなく、「Uber Shader」という位置づけです。
って何のことかわからないのは不親切なので「GameWatch:西川善司の3Dゲームファンのためのグラフィックス講座」を参考にしてください。ちょっと時間が経った記事ですが説明はわかりやすいです。
Redshiftのユーザフォーラムでも、この「Artitectural」と「Material」はどっちがいい?という論争がありますが、「好み」の問題のようです。

さてテクスチャーを貼っていきますが、画像加工は定番「PhotoShop」がありますが、物理ベースレンダリングの制作には「SubstancePainter」がオススメです。

 

SubstanseのサイトでもRedhshiftでの使い方が紹介されています。これから出力したテクスチャーが以下です。
カラー、アンビエントオクルージョン、ハイト、メタリック、ノーマル、ラフネスの5枚をロボットの上下に2セットです。流石にPhotoShopだけで5枚をベイントするのは至難の技ですが、Substanceを使えばオブジェクトに直にペイントできつつ、完成した質感をリアルタイムで確認できます。

前回同様、フリー素材のHDRでRedShift Domelightを作ります。

Mayaで普通にテクスチャーを貼るのと同じでDiffuseのMapボタンで設定します。

このようなレンダリング結果になります。

次にアンビエントオクルージョンです。

レンダリングするとこのような仕上がりになります。(Colorは一旦、剥がしてます)

 

今度はラフネスを貼ります。(オクルージョンは一旦剥がします)

判りにくいのですがグレースケールによって表面の粗さを設定します。

さて、ここからが問題なのですが、アトリビュートを見ても、ノーマルマップやディスプレイスメントマップの項目がありません。

そこで「出力接続」をクリックします。なんと、ここにRedShiftの設定項目があり、BumpやDisplacementがあります。

 

ところがここでMapボタンでテクスチャ画像を設定はせず、ノーマルマップかバンプマップのノードを選びそこから行います。


では実際に貼ってみます。

ちゃんと効果が出ていますね。(無駄に強く出してます)


さらにPrimaryReflectionのFresnelのIOR設定で金属の質感になります。


このRefrectionのColorにメタリックのテクスチャを貼って金属感の強弱を調整できます。このような仕上がりになります。

これはラフネスとノーマルのテクスチャだけなので、カラーとオクルージョンを再度、貼ってみます。

金属の反射が強くて、カラーが良く見えません。そこで、RedShiftのシェーダーは各項目にWeightがあるので、それで微調整していきます。

今日はここまでです。次回もお楽しみに!

VFXツールの紹介「GeoTracker Object and Camera Tracker」

このブログではチュートリアルが多いのですが、それだけではツマラナイのでVFX(特殊効果)のお話やCGの最新技術の解説などもしていこうと思います。

最初のお話は「GeoTracker Object and Camera Tracker」です。
GeoTracker 1.0 Showreel from keen on Vimeo.

これは「Nuke」という合成ソフトの中で使うツールで、3DCGのオブジェクトをビデオの映像と一致させてVFXの処理を行います。

実写に出てくる人や物をCGに置き換えることを「デジタルダブル」といます。CGのスタントマンだと思ってください。ただ、CGだとバレないように実写とピッタリ合わせて動かすのは大変なのです。それをこのソフトは綺麗にやってしまいます。

このように3DCG空間に女性の顔の位置や角度を正確に計算します。
これは部屋の床や家具の配置を割り出したものです。

CGに置き換えれば粒子になって消えて行く、なんてVFXも簡単!

3Dにした顔の表面をペイントすれば、実写の顔を汚すこともできます。

文系デザイナーのためのmaya MEL/Python基礎の基礎①

このブログは、現在はGPUレンダリングソフトのRedShiftのお話が多いですが、それだけではツマナライので、Mayaなど3DCG制作で便利なツールをプログラムを作る基本的なチュートリアルもやっていこうと思います。

完全にプログラム初心者向けに書いていきますので、文系の方も安心してください。
(逆にバリバリなプログラマーの方には遠回りに思えるかもしれませんが)

Mayaでは、MELPythonの2つのプログラミング方法があります。

Mayaの画面の一番右下のアイコン「スクリプトエディタ」をクリックします。
これは知っている人も多いと思います。

・・・何をしていいか解らないし、難しいそう・・・という方多いと思います。
別にMayaを使ってて困ってないのに新しいことを学ぶのは面倒、という方もいるかと。

そこで、勉強の仕方は「楽をしよう」という思考が大切なのです。とかくクリエイティブな方は「努力と根性」をモットーとする方が多いので「面倒」「効率悪い」「無駄なミスはなるべく減らしたい」「早く帰りたい」という気持ちを持つのが大切です。

そこでオススメなのが、便利なツールをお手本にする、という勉強の仕方です。
初回の今日はこんな例をつかってみようと思います。

これはOutlinerとワイヤーフレームに色を付けて分類する「ColorMaker」ツールです。

リンク先からダウンロードすると、このような「???.mel」ファイルが出てきます。
これをmayaのメインのビューにドラッグするだけです。

適当なプリミティブを出して、色のボタンをクリックするだけで色が付きます。
大したことが無いかもしれませんが、識別しやすくなり、ミスも減るでしょう。
また、チームで制作する際に色を決めておくと、コミュニケーションも取りやすいで

どんなMELファイルでも、これで使える訳ではありませんが、このようにMELは簡単に使えます。
では、これはどうやって作っているのでしょうか?

こんどは先程のMELファイルをスクリプトエディタの下の画面へドラッグしてみましょう。

1399行の長い英語みたいな文が出て来ましたね?これがMELのプログラム本体です。

では、スクリプトエディタの上にある三角ボタンを押すか「CTRL+Enter」キーを押して見てください。

下の段にあったプログラムが上の段に移動して、何もなくなりました。同時に「ColorMaker」が起動しました。
つまり、MELはスクリプトエディタも下の段でプログラムを書き、実行するとMayaがそれを理解したら上の段に移動して、プログラムが動作する、ということなのです。

でも毎回画面にドラッグするのも面倒ですね。Color Markerをダウンロードすると、小さな画像がついてきます。(30x30ピクセル)

これは何に使うのかというと、まず、先ほどと同じようにスクリプトエディタへmelファイルをドラッグします。そこでCTRL+aで「すべてを選択」にして、中ボタンドラッグでシェルフの「カスタム」へドラッグします。


すると、シェルフにアイコンができますね。これをクリックすると、「Color Marker」が起動できるのです。


このアイコンを右クリックして、「編集」します。


「シェルフエディタ」が起動します。ここにスクリプトエディタにあったスクリプトが全部入ってます。
つまり、シェルフをクリックするとMELプログラムが実行する仕掛けになった訳です。
(注:ちなみに普通はこの方法はやりません。解りやすくするための手段です)

シェルフTABに切り替え、アイコン名に先程の小さな画像を選び、「アイコンのラベル」にColorと入力して保存します。


するとMayaのロゴだったアイコンは選んだ画像になり、入力したColorという文字がはいます。これで今後Mayaを起動すればこのシェルフをクリックで起動できるのです。
(注:重ねて説明しますが、初心者向けの解説ですので、正規の設定のやり方ではありません)

このようにMayaへ自分で設定した機能をドンドン追加できるのです。
ということは、他のシェルフも実はMELなのです。


ではいつも使っている、「ポリゴン」→「球」のシェルフを同じように「編集」すると・・・


MELは「CreatePolygonSphere」という命令だ、ということが判ります。
この文字をコピーしておきます。


再度スクリプトエディタを起動して、上下にゴチャゴチャ文字があるので、上記のボタンで綺麗にします。


下の「MEL」に「CreatePolygonSphere」をペーストし、CTRL+Enterしてみてください。


ポリゴンの球が出てきましたね。スクリプトエディタの上の段には、
「polySphere -r 1 -sx 20 -sy 20 -ax 0 1 0 -cuv 2 -ch 1;」という命令が読めます。
シェルフだけでなく、メニューから「作成」→「ポリゴンプリミティブ」→「球」をやっても同じ命令なのが判ります。

ではメニューから「ウインドウ」→「アウトライナ」をやってみましょう。

スクリプトエディタの上の段に何も出てきません・・・ではMELが動いてないという訳ではないのです。

図のようにスクリプトエディタの「ヒストリ」→「すべてのコマンドのエコー」をONにしてみます。

今度は、メニューを選ぶだけでおびただしい行の命令が流れます。これこそ、Mayaの内部で動いているのを見ている状態です。この中にアウトライナを出す命令もあるのですが、探すのは一苦労です・・・
これは処理を遅くするのでOFFにしてください。


このような場合は、コマンドをShift+Altキーを押しながら実行すれば、シェルフ登録できますね?それを右クリックして「編集」してください。
「コマンド」タブに「OutlinerWindow」と書いてあります。これがアウトライナを起動するMELなのです。

このようにmayaを普段メニューからのウインドウ表示、モデリングやアニメーションコマンドやチャネルボックス、アトリビュートなどなど、操作しているのはすべて裏でMELの命令が実行されているのです。

更になんとSaveしたmaの中身もMELなのです。


保存したあとテキストエディタで開いてみると、MELの命令らしきものだらけです。
注意ですがmaを開いたら、適当に書き換えるのは非常に危険ですので、すぐ閉じてください。

ここまでの操作手順は覚える必要はありません。MELの動作の概念だけ理解できれば結構です。

今日はここまでです。次回で順を追って解説していきます。