Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/users/1/indyadmin/web/houdinifx/blog/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524
こんにちは、篠島です。今回はRATファイルの作り方について説明します。
RATファイルとは Random Access Texture (RAT) の頭文字を取ったものです。RATファイルはレンダラがテクスチャの一部だけを読み込んだりできます。さらにEXRと同じように複数のチャンネルを内部に含むことが出来ます。RATファイルを使うとレンダリング時に使われるメモリの量が減少するので、Houdiniでテクスチャを使う時はRATファイルを使うのがお勧めです。
RATファイルを作成するには幾つか方法があります。
MPlayを使う
Houdiniからレンダリングした物や、既存の画像をMplayで読み込み、画像を保存する時に拡張子を rat にするだけで自動的にRATファイルにして保存してくれます。Mplayのウィンドウから File > Save Frame As… を選び、Save As のウィンドウでFilenameの所にratの拡張子を付けて画像を保存します。
コマンドラインから変換
Windows > Shell でコマンドプロンプトを起動します。Houdiniからコマンドプロンプトを起動するとHoudiniの実行ファイルのパスが通されているので、そのままHoudiniのコマンドを入れることが出来ます。Windows(OSの事)から普通にコマンドプロンプトを立ち上げてもパスが通ってないので、自分でパスを通していない限りは、Houdini 内から立ち上げましょう。
そして iconvert コマンドを使って変換します。使い方は以下の通り。オプションなど色々ありますが、基本的には何も付けないで大丈夫です。
iconvert 読み込むファイル名 書き出すファイル名
日本語で書くと非常に見にくいですが、要は下のように変換したいファイルと、出力先のファイル名をスペースで区切って書いていきます。書き出すファイル名のところではRATファイルを作りたいので拡張子を rat にしています。
今回はWindowsを使っての説明でしたが、Linuxでも基本的には同じです。
COPで変換
COPネットワーク内でFile COPでテクスチャを読み込み、ノードを右クリックしてSave > Image… を選択します。するとさっきと同じ Save As ウィンドウが出てくるので、拡張子を rat にして保存するだけです。
しかし、COPから画像を保存したものは画像が暗くなってしまいました。なぜでしょうか? これはリニアワークフローと関係してきます。
テクスチャファイルは大体 jpg か png だと思いますが、それらのファイルにはsRGBガンマが適用されています。そしてCOPネットワークにこれらsRGBガンマが適用された画像を読み込むと自動的にリニアに変換(ガンマ 0.4545454… 適用する)されます。そのリニア化された画像を保存しているので画像が暗くなってしまっているのです。
じゃあどうすればいいか? というとリニア化しなければいいわけですね。File COPの Linearize Non-Linear Images をOFFにすればOKです。するとプレビューで画像が明るくなってしまっていますが、これはモニタのガンマが適用されてしまっているためです。これで、先ほどと同じようにファイルをRAT形式で保存すればMPlayから吐き出したのと同じになります。
もしくは Save As ウィンドウの所で、Output Gamma を2.2にしてやれば、File COP内 で Linearize Non-Linear Images をOFFにする必要はありません。
RAT ファイルはリニアじゃないの? と思われるかもしれません。RAT ファイルは 8bit のチャンネルにはsRGBを適用し、16bit や 32bit のチャンネルはリニアで保存されます。
物凄く簡潔にリニアワークフローについて説明しましたが(簡潔すぎてリニアについて知らない方はまったく意味不明かと思いますが・・・)、機会がある時にでもリニアワークフローを詳しく説明しようと思います。