2018年6月25日月曜日

Arnoldでrequiresが付加しないのは?

Arnoldの使用されているシーンには requires が記述されず、プラグインのロードを試みないようになっています。

これは何でだろうと軽く考えてみたところ、ファイルリファレンスを使用する時には結構便利なのではと云うことに気が付きました。

Mental Ray が猛威を振るっていた頃、リグファイルへモデルファイルをリファレンスすると、不意にモデラーが作ったmayaファイルへ requires mayatomr が仕込まれたりすると、アニメーション用のファイルにもmayatomeが追加され、
「このアニメータ、mental rayロードしてやがる( ゚Д゚)凸」
と濡れ衣を着せられる事になります。

Arnold のように requires が記述されていなければ、アニメーション用ファイルでは余計なレンダープラグインを読み込まなくて済みます。
まぁステキ。


でも、参照しているモデルファイルを開く時にエラーが出てくるのは気持ち悪いですがね・・・。

惜しいところまで来ていますが、あともう少しです。

2018年6月20日水曜日

Arnoldをロードせずにファイルを開く

モデルデータを引取ると、なにも知らずにArnoldをロードしているシーンでモデリングしているであろうファイルを受け取るシチュエーションに遭遇する機会がでてきました。

そこで気が付いたのですが、Arnoldはシェイプノードに"ai_translator"みたいなアトリビュートを追加しているようです。
このノードはArnoldプラグインがロードされていないとエラーを出し、最終的にファイルオープンがエラーで終了します。

見ためには普通に開いて見えるのですが、これだとファイル名が取得できない状態になっています。
file -q -sn;
を実行すると何も返ってきません。
バッチ処理するときに面倒なことになりそうです。

ふつう、mayaはレンダラーのような外部プラグインをロードしているシーンでは、
requiresというコマンドでプラグインのロードを促すのですが、Arnoldでは何故か付いていません・・。

ギレン「mayaが用意してくれた requires は死んだ。なぜだ?」
キャスバル「アーノルド(坊や)だからさ」

30歳以下の人には分からないようなやり取りが頭をよぎりつつ、やっぱArnoldはクソだなと再認識しました。