スキップしてメイン コンテンツに移動

テクスチャのリニア化スクリプト

modoユーザーグループOSAKAのブログでOrange Filmの柳村さんがテクスチャのリニア化スクリプトを公開してくださいました。
http://modoosaka.blogspot.com/

modo501は、デフォルトの出力ガンマが2.2に仕様変更されています。
本来は、出力ガンマが1.0に対してテクスチャのガンマが1.0で正しい色、明るさでレンダリングすることができます。
ですから、出力ガンマが2.2ならば、テクスチャのガンマは1.0/2.2の0.4546にするのが基本になりますが、modoはテクスチャのデフォルトガンマが1.0のままと中途半端な仕様になっています。
出力ガンマが2.2に変更されたのは、おそらく最近のリニアワークフローの影響かと思われますが、現在の仕様には疑問を感じます。
私は、出力ガンマもテクスチャのガンマもデフォルトは1.0であるべきだと思います。
理由はいくつかあります。
勉強会では少し解説をしていますが、出力ガンマを2.2にするリニアワークフローは、ベターではありますが、ベストではないのです。
話が長くなってしまうので、詳しい解説はまたの機会に…。

スクリプトは、レンダーアウトプットの出力ガンマに対してすべてテクスチャのガンマを変換するものと、個々のテクスチャを初期設定の表示ガンマの数値に対して変換するものの2種類が公開されています。
自分のワークフローに合わせてどちらか1つを使うのもいいですし、使い分けをするのであれば両方を使うのもいいと思います。
日本語版用にスクリプトの名前を変えてありますので、まず見てもらいましょう。
個々のテクスチャを初期設定の表示ガンマの数値に対して変換するスクリプトは、「表示ガンマにリニア変換」としています。
また、レンダーアウトプットの出力ガンマに対してすべてテクスチャのガンマを変換するスクリプトは、「すべてのテクスチャガンマに影響」としています。
なるべく日本語版の言い回しに近い表現を選んだつもりです(笑。
そこで、私の使い方を少し説明しておきます。
まず初期設定の表示ガンマには、オリジナルのガンマ値を入力してあります。
(デフォルト露光ガンマも同じガンマ値にしてあります。)
テクスチャを読み込んだ時点で、アンチエイリアシングは基本的に外しますので、そのときに「表示ガンマにリニア変換」で変換します。
出力ガンマを変更しない場合は、これだけでOKですが、テストレンダリングの段階で数種類のガンマ値でレンダリングしてテストする場合は、レンダーアウトプットのガンマ値を変更して「すべてのテクスチャガンマに影響」で一括変換します。
このテストには、スクリプトが大活躍します。
テストレンダリングは0.1から0.2刻みに行いますので、これがあるとないとでは大違いです。
最終的にはPhotoshopなどで調整するので、ガンマ値の0.1や0.2ぐらいは関係ないと思っている人もいるかとは思いますが、0.2も違えば調整後の画像にかなり違いが出ます。
(なんで違いが出るかは、以前勉強会で少しお話しました。そのとき、OpenEXRなどの32bit出力はお勧めしないなどのお話しもしましたが、覚えてくれているだろうか?)
まぁ、そんなことはともかく、最近のリニアワークフロー機能を搭載しているソフトは、みんな自動変換できるわけです。
modoは、ディフューズカラーは、自動変換できるのにどうしてテクスチャは、自動変換できないんでしょうね。
このスクリプトはmodoに標準で搭載されているべき機能だと思うので、お勧めします。

コメント

このブログの人気の投稿

MAYAのベベルの疑問解決!

エッジベベルはコーナーを切り落としたり、丸めたりとよく使う機能です。 MAYAの場合、ベベルを起動するとビュー内にウインドが表示されすぐに操作できるので大変便利です。このウインドはベベルだけではなく、押し出しやブリッジなど他の機能でも表示されます。 しかしほとんどの場合、ベベルは実寸で適用するのでMAYAの割合でサイズを設定するのは不便だなと感じていました。 ちなみにMODOは実寸のみ、CINEMA4Dは実寸がデフォルトで割合に変更も可能。 MAYAはCINEMA4Dとは逆で割合がデフォルトで実寸での適用も可能。 実寸での適用する場合は適用時にベベルオプションウインドで入力するか、アトリビュートエディタまたはチャンネルボックスレイヤエディタで割合から絶対(実寸)に変更しますが、ビュー内に表示されるウインドでは割合での入力しかできないので不便だなと思っていました。 しかし、ウインドの右上のボックスをクリックすれば表示させる内容などをカスタマイズができるんですね。 これ、今までは知りませんでしたわぁ〜。 設定値のコピペやウインドのサイズも変更可能ですやん。 こりゃ便利だぁ。 ちなみに、MAYAのベベルはなんでデフォルトが割合やねんと思っていましたが、割合でベベルというのも使い出すと色々便利だと思うようになった今日この頃です。 MODOは、こっち方向のベベルもできるようにして欲しいなぁ〜。

MAYAのマニピュレータその2

一般的にマニピュレータはX赤、Yグリーン、Zブルーになっています。またMAYAはセンターが黄色になっています。センターが黄色の状態ですべての軸がフリーの状態です。 例えばX軸をマウスでドラッグして移動すれば、X軸が黄色になります。また、X軸をクリックしても黄色になります。黄色いX軸がフリーでY、Z軸はロックされた状態になります。X軸にしか動かないのでマニピュレータを動かさなくても画面内を中ボタンドラッグで移動できます。 またモデリングツールキットからでも軸のロックはできます。赤のXのボックスをクリックするとYとZのボックスはグレーになってX方向だけがフリーになります。またマニピュレータの絶対値も表示されているの色々と便利ですし、数値を入力することもできます。マニピュレータの話からはそれますが、ピボット編集の下にあるステップスナップは、MODOで言うところの「固定増分値」、CINEMA4Dだと「量子化」です。要するに1.00だと1cm刻みで移動します。例えば変更作業でいろんな箇所で3cm移動させる場合にMODOだと固定増分値を30mmにセットします。ただMODOはこの設定が初期設定にあって使い難いのでフォーム編集でツールバーに追加したりします。 MAYAの場合はいろんな箇所で3cm移動させる場合はもっといい方法があるのでそれはまた書きます。 ステップスナップはどのソフトにもある機能ですが、MAYAには相対値と絶対値があります。キャプチャは相対になっていますが、絶対にすれば絶対値の1cm刻みになり、現在XとYの絶対値には小数点以下2桁の数値になっていますがこれを整理することができます。 軸方向のロックはMAYAでは特にスナップの時によく活用しています。具体的な使用方法はスナップの時に書きます。

数値入力

地味な話ばかり続きますが、仕事する上で大切な部分でもありますので、もうしばらくお付き合いをよろしく! 例えばオブジェクトまたはエレメントを移動する場合に決まった数値分移動すること もあれば、移動してその移動距離を取得したいこともあります。 MODOやCINEMA4Dはマニピュレータを移動させると、マニピュレータの近くに移動した数値が表示されるので、どれだけ移動したかわかります。またMODOは移動のトランスフォームの項目でもわかります。MODOはほとんどのツールに数値が表示されるし、数値を制御できるので、大変便利だと思います。 MAYAはマニピュレータを移動すると移動した数値を表示する機能は基本的には多分ありません。しかしユニバーサルマニピュレータだけは移動量だけではなくオブジェクトのサイズも表示されます。また表示されている数値を変更するとその数値分移動、サイズ、回転します。マニピュレータのハンドルをクリックすると数値入力フィールドが出てきます。 すごく多機能で「大したことできそう」感が漂いますが、オブジェクトのバウンディングボックスに対しての操作だけなので大したことはできません。あまり使われていないからか、MAYA2015はシェルフにあったはずですが、MAYA2016ではメニューからしかアクセスできまん。 ではMAYAで移動した距離を取得する方法は?と一瞬考えましたがこれぐらいのことなら少し調べればmelで書けます。とにかくどこかに表示できればいいわけですしね。とは言ってもそんなことしている暇もないので、現状はスクリプトエディタに表示されるコマンドから移動距離を確認しています。 (はい、mel書かなくても表示できちゃいました。) さて、次に移動させる数値がわかっている場合はマニピュレータで移動するよりは即数値入力が一番手っ取り早いわけです。MODOはWキーで移動ツールを起動して数値を入力してspaceキーまたはQキーで移動ツールを解除という流れになりますが、以前からこれ結構面倒な手順だなと思っております。 MAYAは数値入力で移動するにはステータスラインにある入力ラインが手っ取り早いです。 ハイパーシェードのアイコンの横にありますが、多分デフォルトでは畳んでありますので、ひっそり感はマックスです!また、見た目もかなり「大したこと