レンダリングに使われる中間ファイルについて


 今回の記事ではHoudiniに限った話ではありませんが、レンダリングでよく耳にする「中間ファイル」についての紹介します。
「中間ファイルがなんなのか」ということを知ることで、レンダリングにおいて、どのフェーズでどのライセンスが必要なのかを理解することができます。
ここではHoudiniを例にとって、初歩的な部分について解説をしていきます。

 まず、大前提として、レンダリングに使われるレンダラ、というものは本来CG制作ソフトウェアとは別物です。


 Mantraは現在Houdiniしか対応しておりませんが、例えばArnoldはHoudiniでもMayaでも使えますし、同様にRenderManも様々なCG制作ソフトウェアに対応しています。
しかし、当然ではありますが、別々の会社が制作したソフトウェアであれば、CGデータの規格はバラバラです。
例えば、Mayaで作成した.maファイルはHoudiniでは直接読むことはできません。
レンダラのメーカは、これら別々の会社が制作したソフトウェアの規格に合わせて、レンダラを1つずつ作成しているのでしょうか。

 答えはNoです。一般的なレンダラでは、それぞれのCG制作ソフトウェアの規格で作成されたCGデータを、レンダラ自身が認識できる形に変換するシステムを持っています。
そうすれば、レンダラをソフトウェアごとに書き換えなくても、変換システムさえ作ってしまえばよいので、CG制作ソフトウェア側とレンダラ側の切り分けが容易になりますし、新しいCG制作ソフトウェアにいくらでも新しいCG制作ソフトウェアに対応できるわけです。
この、「レンダラ自身が認識できる形」というのが中間ファイルになります。


具体的なレンダラを例にとりますと、MantraではIFDファイル、ArnoldではASSファイル、また、RenderManではRIBファイルと呼ばれているものが、ここでいう中間ファイルになります。

 

 次にレンダリングのフェーズに伴うライセンスの消費ついて紹介します。基本的なレンダリングのフェーズとしては、

1.レンダラの指定、および各種設定(ここのみ、ユーザが行う操作です)
2.各CG制作ソフトウェアの変換プラグインよって、レンダリングしたいレンダラに対応する中間ファイルの作成
3.出力された中間ファイルからレンダラによる画像生成

となります。


 1つ目のフェーズはHoudini上でのMantraノードやHQueueノードのセッティングになります。
2つ目のフェーズである中間ファイルの生成はHoudiniなどの各CG制作ソフトウェア上で行われる処理なので、 中間ファイルの生成にはHoudiniなどのソフトウェアのライセンスが必要になります。
3つ目のフェーズである、生成された中間ファイルからの画像生成に関してはレンダラの処理であり、基本的にはCG制作ソフトウェアは関係ないので、Mantraなどのレンダラのライセンスが必要になります。

 ただし同じ会社が開発しているHoudiniとMantraやMayaとそれに付属されているレンダラのように、CG制作ソフトウェアとレンダラが密接に連携している場合は、一部の状況によっては例外が発生する場合もあるようです。
 例えば、Mayaに付属しているレンダラは、Maya専用のレンダラとなります。他のCG制作ソフトウェアでは利用されないので、記事の上の方で紹介した2つの図でいう、×印のある左側の形式をとっています。
このケースでは「レンダラのライセンス」という概念がそもそも存在しないので、全フェーズでMayaのライセンスが消費されます。
 また、Mantraにおいても、hipファイルからIFDを生成せずに直接Houdiniから画像生成を行う(全てのフェーズでHoudiniライセンスが使われる)こともできます。
しかし、Mantraの場合、高額なHoudiniライセンスに対して、Mantraライセンスは無償であることから、この設定を明示的に利用する状況は少ないのではないかと考えられます。

 

 以上が中間ファイルの簡単な解説になります。
一般に言われる「レンダリング」はCG制作ソフトウェアによる「中間ファイル生成」の部分と、レンダラによる「画像生成」の部分に分かており、結果的にCG制作ソフトウェアとレンダラ、両方のライセンスを必要とする、という点にご留意いただければと思います。