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

先週の続きです。まずは今週の便利なMELツールの紹介です。



ダウンロードして解凍すると、このようなファイルがあります。「Help.png」があるので開いてみます。


どうやらマニュアルのようです。「1」はドキュメントのmaya→prefs→iconsに「icons」の中身を入れなさい、とあります。ここでMayaは起動してはいけません。
ここで注意なのですが、日本語版Mayaの場合は、ja_JP→prefs→iconsなのです。

「2」はmayaを起動して、スクリプトエディタでFile→LoadScriptでMELを選びなさい、とあります。

「3」でFile→Save Script toSelfを実行します。

名前を付けます。「Mesure」にしておきます。

わざとやったのですが、実は5文字しか表示できません。
右クリックから「編集」します。

前回と同じく「アイコン名」のフォルダアイコンをクリックすると、フォキュメンとの「icons」フォルダに行くので「4」にあるように「K_MeasureTool_SHELF_ICON.png」を選びます。起動アイコンができますからクリックしてみてください。

これで今日のMeasureToolsは起動できました。この手順がほぼ正しいMELの登録方法です。

このツールは頂点モードで2点を選ぶと長さを図ってくれたり、その値をオブジェクト上に配置できます。インチ、フィート、ヤードの換算もついてます。ゴミ箱で消せるのも嬉しいですね。

「スケール合ってるのかな?」という時、便利ですね。
ネットでダウンロードできるMELのツールは大体この方法で設定できますのでチャレンジしてみてください。

さて今日はプログラムを書いてみましょう。まず、今日の「MeasureTool_v1_1.mel」をテキストエディタで開いてみましょう。
MeasureToolをダウンロードして設定してない人はやらないで読み進めてOKです。

600行も意味不明な呪文が出て来ます・・・いえいえ、怖がらないでちょっとよく見ると、
proc ?????()
{
?????????
}
みたいな箇所がいくつかあります。

プログラムとはコンピュータ(この場合はmaya)へ命令します。
適当に言っても理解してくれません。ルールが必要なのです。

「命令」とは先週やりましたが、Mayaの操作はすべて命令なのでしたね?

前回もやりましたがスクリプトエディタを綺麗にしておきます。
では、プリミティブのポリゴン箱を出して、Xに3移動して、ハイパーシェードでBlinnで赤くしてください。

上のウインドウに、なんかたくさん書かれています。
最初にある「CreatePolygonCube;」の次の行以降をハイライトしてコピーします。
Mayaを「新規」にしてスクリプトエディタの下のウインドウにペーストしてCTRL+Enterしてください。

すると、箱が勝手に出て、X=3、でBlinnで赤くなってます。スクリプトエディタは上の段がMayaが何をしているか、されたか、を記録しているのです。それ自体がMELなのです。
新規作成して、そのMELを下のウインドウで実行すれば、どんなに長い手順でも一瞬で実行してしまいます。

// 結果: pCube1 polyCube1 //」の行はMayaが「やったよ」と報告しているのです。
そもそも「//」というのが最初にあるのは命令ではないのです。
それを全部削除して、先程話をした、proc test() { }を書き入れます。


これでMELの完成です。testはなんでも構いません。これを「test.mel」で保存します。

Mayaを再度新規作成し、できた「test.mel」をスクリプトエディタへドラッグして、CTRL+Enterします・・・何も起きないですが、下のウインドウが綺麗になったのでプログラムは正解です。

図のように「test;」(セミコロン)とキー入力してCTRL+Enterします。すると赤い箱がX=3で出ます。

プログラム自体の意味は良く解らなくても結構です。MayaはMELの命令を1つ1つ実行します。それを人間がやっても無駄です。なので命令を複数書いた行を以下のルールで書くのです。

proc 自分で作った新しい命令() {
MEL命令1;
MEL命令2;
MEL命令3;
 :
 :
}

するとMayaは設定された命令通りに手間のかかる作業を一気に実行するのです。
今日はここまでです。次回は1つ1つの命令の意味を説明します。

なぜRedshiftなの? & mayaでライト設定-その1

連載一週間ほど経ちましたが、何でRedshiftにこだわるのか?というと、単純に「コスト」です。
やはり、レンダリング設定と連番画像の生成、その後のやり直しなど実際に制作されている方であれば、時間の「コスト」は苦労の種であるのはご経験あるかと思います。
昨日、一昨日のHoudini、3dsmaxなどソフトを複数使う場合のライセンスの「コスト」も軽減できます。

レンダリング速度は、CGWorld様のこの記事で比較があります。残念ながら、この記事ではRedShiftがあまり計算速度が速くなく、GPUメモリ不足で計算できないなど、評判が良くないのです。

気になったのが、このテストに使っているGPUが「Quadro 4000」なのが原因ではないかと思われます。
こちらのRedshiftのオフィシャルのFAQでは、
「GTX750Ti, GTX970, GTX980, GTX980Ti, GTX1070, GTX1080, TITAN X, Quadro M6000などのCUDA計算能力が3.5以上、3GB VRAM以上のMaxwell,PascalベースNVIDIA GPU」
を推奨する、とあります。

Quadro 4000」は、2010年頃の発売で約10万円、メモリが2GBのOpenGL用でCUDAはコア475MHz、256プロセッサコアなのです。これはMayaには最適です。
現在、RedShiftが推奨する昨年発売の「GTX1080」は約6万円でメモリが10GBでCUDAはコア1607MHz、2560プロセッサコアなのです。

なので、あくまで個人的な意見ですが、RedShiftが本来の計算能力が発揮するにはGPUをあえて安いゲーム用にするほうが良いのではないか、と考えます。さらに複数枚使う「SLI」を使うことで1台のマシンで更に高速にすることが可能です。
「でも、QuadroでないとMayaのサポートが・・・」と思われるかもしれませんが、現在Autodeskのこちらのサポート情報でもGTXシリーズは認定されています。

では本当に速いのか?という情報ですがボーンデジタル様の昨年10月のブログでありました!GTX970を使ってArnoldでのレンダリングの約7倍でRedshiftの勝利です!
XgenでにヘアーやHoudiniでの対比もあります。ぜひ御覧ください。

また、ここの海外のブログで対比した内容があり、V-rayRTが45分に対し、RedShiftが8分を切るという結果があります。

とはいえ、先程のCGWorld様の記事の続きにもありますが、NURBS、Fluid 、Foamが使えない仕様であるなどRedShiftも問題あります。

計算速度も、このブロクでいずれ書いていきたいと思います。

 

さて、今日のお話はRedShiftの「ライト」のお話です。残念ながら事例はmayaに戻りますが、先日の通り、3dsmaxやHoudiniでも考え方やパラメーターは同じですので、応用してください。

モデルはロボットCに再登場してもらい、Domeライトは一旦削除しました。

Domeライトで既にやっているので、redshiftメニューからでも、「作成」→「ライト」でも結構です。ライトは種類が多いので今日はPhysical Lightをまず解説します。

これは「エリアライトでは?」と思う方、正解でもあり、間違いでもあります。


RedshiftのPhysical LightはアトリビュートでArea,Point,Spot,Directonalの4つに変更できるのです。


Pointライト


Spotライト


Directionalライト


ライトの種類はColorとTemperature(色温度)の選択ができます。


さらにUnit Typeを選べます。

これにDomeライトを組み合わせて「画作り」をしていきます。

今日はここまでです。次回はカメラのお話です。

こんどはHoudini & ResShiftでやってみよう!

昨日の3dmaxに続き、本日はHoudiniでRedShiftです。
ちなみにブロスでは、maya、3dsmax、Houdiniの3つのツール、どれでも制作のお仕事をお引き受けできます。こちらよりお気軽にお問合わせください。

3dsmaxは簡単に設定できましたが、Houdiniはちょっと厄介です。ここではWindows版でお話しますが、他のOSの場合はこちらのドキュメントを御覧ください。

そもそもRedShiftってどこにインストールされてるの?というところから入ります。
普通はProgramFilesですが、実はProgramDataという隠しフォルダなのです。
その中に各ツールのプラグインがあります。   そこで今度は「ドキュメント」にあるHoudiniフォルダの中から「houdini.env」ファイルを探して、テキストエディタで開きます。ちなみに私の趣味でエディタは「Notepad++」です。

そこに以下のような3行を書き込みます。

HOUDINI_DSO_ERROR = 2
PATH = “C:/ProgramData/Redshift/bin;$PATH”
HOUDINI_PATH = “C:/ProgramData/Redshift/Plugins/Houdini/15.0.459;&”

3行目が「HOUDINI_PATH」が先程説明したProgramDataのプラグインの場所です。

これでOKです。さっそくHoudiniを起動します。

このようにメニューとシェルフにRedShiftが表示されます。

ネットワークエディタでShopに切り替えてTABキーを押すとRedShfitがあります。これで設定完了です。
個々に出るリストを見れば判りますが、Mayaや3dsmaxと同じ項目ですね。


おなじみのシェーダーボールと床を作り、RedShiftのDomeライトを設定します。

RenderメニューからCrateRenderNodeでRedshiftを選びます。

OutにRedShift_ROPができますので「OpenIPR」でレンダリングしてみます。


ShopからRedShiftMaterialを作ってPresetを見ると、いつもの材質がありますね。

銅とプラスチックの黒を作っておき、外側と内側にそれぞれ設定します。

レンダリングしてみると以下のようになります。

これでHoudiniでRedShiftもうまくできました。今日はここまでです。