Tiled EXR

Tiled EXRに関してメモ的なことを記載しようかと

ー昔ちょっと話題になった、、、ような気がすることに関してちょっと記載しておこうかと思います(・ω・)ー





Tiled EXR?

□EXRにはtiled exr と scanline exrという種類があったり(・ω・)


tiled exr と scanline exrの違いとかに関しては今回は説明を省きますが、File Viewerアプリケーション(XnView)とかだとOpneEXRの中の情報とか文字情報でみれたりするので、そこでtiledかscanlineのEXRかを確認できますので興味あるかたは覗いてみてください。



んで今回使うのはtiled exrで、8kなどのでかいテクスチャーを扱う際、データ容量増大、レンダリング時間がかかる、特に8kテクスチャーの連携繋ぎ、UDIMを使用した複数枚を扱う際、どうしてもコストやリスクが多くなりがちな状況に直面します(・ω・)



少しでもそのコストやリスクを抑えることはできないか、大型案件など大量のアセットを扱う際、チリも積もればなんとかということわざもある通り、結構重要なテーマだったりします。




今回はちょっとテクスチャーに関してスポットを当ててみようかと思い、以前Tiled型/キャッシュ可能なテクスチャ化するとデータ容量軽減、レンダリング速度も速くできるという風の噂を聞いた記憶があり、それについて書いてみようかと。




使い方など

□mentalrayでの使い方



Vrayの方のやり方もありますが、Vrayは次回、、、w



■Tiled情報を入れられる拡張子
———————————————————-
OpenEXR (.exr)
mental ray memoryMapped image (.map)
TIFF (.tif)
Bitmap Image File (.bmp)
Maya IFF (.iff)

EXRが色々と取り扱いやすいのでEXRに変換の方がおすすめらしいです。
———————————————————-




■作業環境想定 → 多数の8kテクスチャーたち(TIFF拡張子、無圧縮)、maya、Windows 7


1,まずTiled型/キャッシュ可能なテクスチャの作成をします。やり方は元になるテクスチャーをmentalrayの提供するCUIベースのツールで画像変換する感じです。

今回は元のテクスチャー(TIFF形式)をEXRに変換する工程をメモっときますー。


使うCUIベースのツールは以下にmentalrayインストールしてればあります。

C:\Program Files\Autodesk\mentalrayForMaya(バーション名)\bin\imf_copy.exe

ウィンドウズならコマンドプロンプト使って変換、複数ある場合はバッチファイル作ってやる。
imf_copy.exeがあるフォルダ内で、またはimf_copy.exeをテクスチャーのあるフォルダにコピーして以下のコマンドを実行。


imf_copy -p -r -k zip テクスチャー名.tif テクスチャー名.exr

これでexrのテクスチャー作成完了!!



2,mayaでファイルテクスチャーに追加アトリビュートを入れる

mayaでexrテクスチャー入れるすべてのファイルテクスチャーノード選択して以下のmelコマンド実行して追加アトリビュートを入れ込む!


{
    string $n;
    string $names[];

    $names = `ls -sl`;
    for( $n in $names )
    {
addAttr -ln "miLocal"  -at bool  ($n);
addAttr -ln "miFilter"  -at bool  ($n);
addAttr -ln "miFilterSize"  -at double  -min 0 -max 1 -dv 1 ($n);
setAttr  ($n + ".miLocal")1;
setAttr  ($n + ".miFilter")1;
    }
}





3,完了




※補足
この仕様はmayaファイルテクスチャーのFilter TypeがMipmapでないと効果がでません。
それと以下の設定がないと効果がありません。


・Filter TypeをMipmapにする
・mentalrayタブのAdvancedEliptical FilteringとOverride Global Auto-Conversion settingsをオン
・mentalrayタブのConvert File To Optimized Formatをオフ
・追加アトリビュートのMi Local、Mi Filterをオン
・Mi Filter Size の値は「1」



mipmapa


mipmapb









まとめ

□解像度高い画像などにはいいかも


職場の環境と自宅で試してみましたけど、サーバーなどの環境で無圧縮のtiff高解像度を多数取り扱っている場合は若干メリットはあるかと思います。データ圧縮に関してはTiffのLZWやZIP圧縮には敵いませんが、8kの無圧縮なら圧縮しつつレンダリングも早くなるかと。

自宅でテストした場合は逆に遅くなったので、、、、。サーバー環境か、そもそもテクスチャーの中身か、、。この辺はまだテスト中。ぶっちゃけTiffのLZWやZIP圧縮よりデータ容量は増えるので、メリットはレンダリング時間早くなるくらいかと、、、w

以下無圧縮、LZW圧縮、ZIP圧縮のtiffを変換した画像ですが、やっぱ無圧縮のtiff8Kは凶悪すぎて何かしら対応したほうがいいよね、、、っと思えてきます、、w


memo-compressor


Blue_glazed_pxr8klzw.exr  →8klzw圧縮をコンバートした物
Blue_glazed_pxr8klzw.tif  →8klzw圧縮のもの

Blue_glazed_pxr8kno.exr   →8k無圧縮をコンバートした物
Blue_glazed_pxr8kno.tif   →8k無圧縮のもの

Blue_glazed_pxr8kzip.exr   →8kzip圧縮をコンバートした物
Blue_glazed_pxr8kzip.tif   →8kzip圧縮のもの




テクスチャー変換GUIツールに出来たらいいなと、、w



参考サイト

elementalray
https://elementalray.wordpress.com/2012/04/17/texture-publishing-to-mental-ray/

CreativeMemo
http://www.dml.co.jp/creative_memo/3810/



お仕事のご相談、その他お問い合わせはこちらからお願いします!

—————————————–

e-mail:

yut.rickeytone@gmail.com

—————————————–

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA