株式会社デジタル・フロンティア-Digital Frontier

Header

Main

  • TOP
  • DF TALK
  • Arnoldのちょいといい話!?

Arnoldのちょいといい話!?

2014/6/2

Tag: ,,,,,

ど~もお久しぶりです。
開発部ゴトー[@jackybian]です。
もうそろそろ梅雨入りしてる頃かと思いきや、ここ数日の真夏日はなんなんでしょ(゚д゚lll)
ジメジメの鬱陶しさを吹き飛ばす夏が早く来て欲しい!と思ってましたがこれだけクソ熱いのも困りものですね。
今年の夏は冷夏みたいなこと言ってましたが。。。

さて今回はここ数年シェアを伸ばしつつ国内での導入事例も増えている様子のArnoldについて
残念なことになってしまったSoftimageへのオマージュも含め、ちょこっとTips話をしようかと思います。
もはや多くの人に周知されていると思いますがArnoldが使われた映画といえば古くはモンスター・ハウスに始まり、
くもりときどきミートボール、アリス・イン・ワンダーランド、マイティ・ソー、X-men: First Class、キャプテン・アメリカ、
パシフィック・リム、ゼロ・グラビティ、アイアンマン3、スター・トレック イントゥ・ダークネス、エリジウム…
ゲームではASSASSIN’S CREED、Watch Dogs、The Witcher 3…
もちろんCMでもThe Mill、Psyop、Mikros Image…といった所が使用しており、挙げだしたらキリがないくらいなので
詳しくはSolidAngle社のサイトで確認ください。

Arnoldの基本的な使い方はWeb上にもいろいろ情報がありますので今回は割愛させて頂きますが
Maya,Softimage(以下SIと略)などとArnoldを橋渡しするMtoA,SItoAと呼ばれるプラグイン経由で使うことが多いと思います。
自分は元々SIユーザーだったのでSItoAを使ってました。

SItoAで使えるシェーダーには、Arnoldシェーダー, SIシェーダー, SItoAシェーダーといったものがあり
元々SIについているシェーダーの100個以上をサポートしていてICEと絡めて使うこともできてとても重宝してました。

しかし時代の流れとでもいいましょうか。仕事上Mayaを使うことが多くなり段々とMtoAへ移行していきました。
一方でSIで使えてたあのシェーダー使いたいなぁ。という想いが沸々と。。。
そんな中、情報検索しているとなんとあるじゃないですか!
【MtoAでSItoAシェーダーを使っちゃう方法】がっ!!
以前紹介した”MayaでsiToon!”と同じような感じですね。というか方法はまんま一緒だというw

具体的には(Win64の場合)
SItoAインストールディレクトリ\Addons\SItoA\Application\Plugins\bin\nt-x86-64\sitoa_shaders.dll

MtoAインストールディレクトリ\shaders へコピー!

これだけです。唯一あるとすれば同じバージョンのArnoldを使用するSItoA,MtoAでdllのコピーするくらいですかね。すると、

これが コレに!

という風にグンと使えるノードが増えます。
たとえば aiSibStateVectorで取得したNormal情報をaiSibSpaceConversionで座標変換したりとか。

aiSibStateVectorはこの他にもEyeRay, Origin, Intersection, MotionVectorなどの情報を取得できたり、
aiSibStateScalarではRay lengthが取れたりするので使い方次第でいろいろ出来るかと思います。
ただし今回のdllのコピーだけではテンプレートファイル(.py)がないのでSIユーザーでない人は特に
パラメータの意味がわかりにくいのはあります。本来はSIと同じくテンプレートを作ってあげるのがいいんですけどね。
最近またバージョンアップがあったMtoAですが確かv1.0からraytraceでImportance Samplingを使ったaiSkinに。
ということで合わせてテストしてみました。

SIからMayaへの転向組の方もいると思いますのでぜひSIのシェーダーもMtoAで使っていろいろ試してみてはいかがでしょう。

今回はもう一つArnold絡みのシェーダーネタをお届けします。
その名も【Al Shaders】です。

Anders Langlands氏が開発したオープンソースなシェーダーライブラリ。
SurfaceシェーダーやUtilityシェーダーから成るシェーダー群でソフトウェアライセンスもMITライセンスです☆
では実際に使えるようにしてみましょう。
ダウンロードページより使用するArnoldのバージョンに該当するbinaryファイルをダウンロードして解凍。
環境変数ARNOLD_PLUGIN_PATHで定義されているパスに.mtd, .dllをコピー
同じくMTOA_TEMPLATES_PATHで定義されているパスに.pyをコピー

以上です。するとmtoa.mllのPlug-in Informationに

シェーダーが認識されます。
ではちょっとalHairなるものを試してみます。

こちらもImportance Samplingを使ったヘアーシェーダーのようです。まだWIPとあるので進化中みたいですね。
なによりこのAlShadersが素晴らしいのはオープンソースなところです。
Arnoldのシェーダーを開発するにもいい参考になりそうですし。ぜひ時間のあるときにじっくり見てみたいところです。

このようにSIのシェーダーが使えたり、AlShadersのようなオープンソースなシェーダーが出てきたり、HtoA(HoudiniToArnold)
なども進んでいるようでユーザー数の増加と共により使い易い環境になってきているようです。
Arnoldの開発者であるマルコス氏によればさらなる高速化など開発は日々進んでいるようで今後の展開も楽しみです。

DeepImageの出力も出来るのでテストしたいとこですが、お時間がきたようなので今回はこの辺で。では(´∀`*)ノ マタ~

Pocket

コメント

コメントはありません

コメントフォーム

コメントは承認制ですので、即時に反映されません。ご了承ください。

*