レンダリングガイド:3DsMaxテクスチャの最適化 パート2

レンダリングガイド:3DsMaxテクスチャの最適化 パート2

1. はじめに

3ds maxのテクスチャを最適化するためのガイドのパート1では、ビット深度、圧縮、カラーモデルなどのデジタル画像の背後にある理論について説明しました。 これらの要素は、ハードドライブとRAMのテクスチャのサイズに決定的な影響を及ぼします。

コンピュータのRAMのテクスチャサイズは次の式に従います:

Rawの画像サイズ=水平解像度 × 垂直解像度(ピクセル単位) × チャネル数 × 色深度(チャネルあたりのビット数)

このパートでは、3dsMaxの日常のCGワークフローに適用できる、実用的な最適化の方法とコツを紹介します。

2. テクスチャの最適化(続き)

2.1 Photoshopでテクスチャ解像度のバッチサイズ変更をする方法

Photoshopは、イメージプロセッサと呼ばれる便利なツールがあります。

Photoshopでサポートされているほとんどのファイル形式を入力できますが、 残念ながら現在のところ、出力できるのはJPG、PSD、TIFFの3つの画像形式に制限されています。 このツールには、再スケーリング中にファイル名の名前を変更するオプションもありません。

この問題の回避策と代わりとなる方法についても説明します。

  1. イメージプロセッサを使用するには、[ファイル] → [スクリプト] → [画像プロセッサ]を選択します。
  2. このツールを使用する前に、最初にPhotoshopで画像を開く必要はありません。開くことはできますが、画像の数が多いと、コンピューターとPhotoshopのパフォーマンスが低下する可能性があります。
photoshopのイメージプロセッサ
  1. 画像プロセッサを選択すると、このダイアログが表示されます。
  2. このツールを使用する前に、最初にPhotoshopで画像を開く必要はありません。開くことはできますが、画像の数が多いと、コンピューターとPhotoshopのパフォーマンスが低下する可能性があります。
photoshopのイメージプロセッサ
  1. 処理する画像を選択します。
  2. 開いている画像を使用する – Image Processorは、Photoshopですでに開いている画像を処理します(非推奨)。
  3. フォルダの選択 – 画像プロセッサは選択したフォルダの画像を処理します。
  4. すべてのサブフォルダーを含める – このオプションをオンにすると、ツールは選択したフォルダーのサブフォルダーからの画像も処理します。 オフにすると、選択したフォルダのルートからの画像のみが処理されます。
  5. 最初の画像を開いて設定を適用する – このオプションを使用すると、アプリケーションでカラープロファイルオプションを適用できます。 テクスチャの再スケーリングが関係している場合は有用ではありません。
  6. 処理した画像を保存する場所を選択します
  7. 同じ場所に保存 – 処理されたファイルはソースファイルと同じフォルダーに保存されます。 Photoshopは、出力ファイルのタイプ(JPG、PSDなど)として名前が付けられたフォルダーを作成します。
  8. フォルダの選択 – 処理されたファイルは選択したフォルダに保存されます。
  9. フォルダ構造を維持 –「フォルダの選択」オプションがオンになっている場合にアクティブになります。 処理されたファイルは、ソースファイルと同じフォルダ構造に保存されます。
  10. ファイルタイプ – これらのオプションを使用すると、出力ファイルのタイプと解像度を選択できます。
  11. 収まるようにサイズ変更 – 比率を維持しながら、ピクセル単位で設定された寸法に合うように画像のサイズが変更されます。 たとえば、6000 x 5000ピクセルの画像で作業し、オプションを2000 x 3000に設定すると、画像のサイズが2000 x 1667に変更され、低い設定に合わせて、同時に画像の比率が維持されます)。
  12. JPEGとして保存 – 品質–JPEG画像の品質を0から12の間に設定します。
  13. PSDとして保存 – 互換性の最大化–レイヤー化された画像を読み取ることができないアプリケーションとの互換性のために、レイヤー化された画像の合成バージョンをターゲットファイル内に保存します。
  14. TIFFとして保存 – LZW圧縮–LZW圧縮スキームを使用してTIFFファイルを保存します。
  15. 環境設定
  16. アクションの実行 – アクションの実行–サイズ変更プロセスの一部としてアクションを実行できます。
  17. ロード(保存)– イメージプロセッサの設定をXMLファイルとして保存およびロードできます。
  18. 実行 – イメージプロセッサを実行します。

2.2 Gimpでテクスチャ解像度をバッチサイズ変更する方法

GimpはPhotoshopの代わりとなる無料のソフトです。 画像のバッチサイズ変更を可能にする「David’sBatchProcessor」と呼ばれる優れたプラグインがあります。

Photoshop Image Processorに似ていますが、一般的なファイル形式をすべてサポートしており、ファイルのサイズ変更と名前変更を1回のバッチで行うことができます。

ここからGIMPをダウンロードできます:https://www.gimp.org

「David’s BatchProcessor」プラグインはこちらから取得いただけます:https://sourceforge.net/projects/gimpdbpplugin/

Windowsの場合、インストーラーでzipファイルをダウンロードして解凍し、「dbp.exe」ファイルをGIMPのプラグインパス(Computer\C:\Program Files\GIMP 2\lib\gimp\2.0\plug-insなど)に配置します。

複数の画像をバッチで再スケーリングするには:

  1. GIMPを実行する
  2. フィルタ→バッチプロセスを介してプラグインを実行する
GIMPで画像のバッチサイズ変更
  1. 次のオプションを含むポップアップウィンドウが表示されます。
GIMPで画像のバッチサイズ変更
  1. 入力 – 入力ページは、処理する画像を選択するために使用されます。
  2. ファイルの追加オプションを選択すると、処理された画像のリストにファイルを参照して追加できるウィンドウが開きます。 CtrlキーとShiftキーをマウスクリックと組み合わせて使用すると、リストに追加する複数の画像を選択できます。
  3. ファイルの削除 – リストからファイルを削除できます。
  4. リストのクリア – リストからすべてのファイルをクリアします。
GIMPで画像のバッチサイズ変更

  1. サイズ変更 – 画像のサイズを一括変更できます。
  2. 相対 – 画像の出力サイズをXおよびY次元の元の解像度の乗算として設定できます。 1,00は100%で、元の解像度を維持します。 0,50は50%などです。
  3. アスペクトを維持 – サイズ変更された画像のアスペクト比を維持します。
  4. 絶対値 – 画像の出力サイズまたはその寸法の制約を[幅/高さ]オプションで設定された絶対値(ピクセル)で設定できます。
  5. フィット – 出力画像のサイズを設定する方法を選択できます。
  6. 正確 – ソース画像は設定された寸法に正確にサイズ変更され、必要に応じてアスペクト比が変更されます。
  7. パッド  –処理された画像をターゲットサイズに合わせ、Gimpの現在の背景色を追加して余白を埋めます。
  8. 内部 – ソース画像は、内部の値に適合するよう、最大の画像にサイズ変更されます。
  9. 外側 – ソース画像は外側の値に適合するよう、最小の画像にサイズ変更されます
GIMPで画像のバッチサイズ変更
正確、Padded、内側、外側のサイズ変更の違い
正確、Padded、内側、外側のサイズ変更の違い
  1. 名前の変更 – これらのオプションを使用すると、処理された画像の名前を一括で変更できます。プロセッサは既存のファイルを上書きしません。 出力ファイルの名前を変更するか、拡張子を変更するか、別のディレクトリに配置する必要があります。
  2. ソースディレクトリ – 処理された画像は元のファイルと同じフォルダに保存されます。 このオプションを選択すると、「ディレクトリへ:」の横に「ソースと同じ」というテキストが表示されます。
  3. 選択ディレクトリ – このオプションを使用すると、処理された画像の出力フォルダーを選択できます。 選択すると、「ディレクトリへ:」の横に出力フォルダへのパスが表示されます。
  4. プレフィックスの追加 – 処理されたファイルの名前にプレフィックスを追加できます。
  5. ポストフィックスの追加 – 処理されたファイルの名前にプレフィックスを追加できます。
  6. オリジナル – プレフィックスとポストフィックスのオプションが適用された後の出力ファイル名の例。
GIMPで画像のバッチサイズ変更
  1. Flatten、Convert grey、Convert Indexed –画像の名前変更やバッチサイズ変更に関係のない追加オプション。
  2. 出力 – このオプションでは、出力形式と、処理された画像の設定を選択できます。 テクスチャに使用される一般的なフォーマットをすべてサポートします。
GIMPで画像のバッチサイズ変更
  1. 開始、キャンセル – バッチ処理を開始およびキャンセルします
  2. テスト(画像の表示)–リストの最初の画像の処理のプレビューを実行します。 オプションウィンドウの左から右に適用されたすべての調整の効果を確認できます。
  3. ターン、ブラー、カラー、クロップ、シャープ – バッチプロセス中に適用できるその他のオプション。 テクスチャのサイズを変更する場合は通常必要ないため、ここでは詳しく説明しません。 このオプションについて詳しく知りたい場合は、次のWebサイトで確認できます:http://members.ozemail.com.au/~hodsond/dbp.html
  4. オンラインで無料のバッチ画像再スケーリングを使用してテクスチャのサイズを変更することもできますが(Googleで「バッチ画像再スケーリング」と入力するだけです)、品質は上記のプログラムほど良くない可能性があります。

2.3不透明度マップの最適化

3ds Maxでは、不透明度マップ(テクスチャ)を使用して、モデル内の形状を切り取ることができます。 それらの動作は単純で、テクスチャの黒い部分は透明になり、白い部分は不透明になり、灰色の色合いは半透明になります。

不透明度マップは、たとえば木に葉を作成する場合などに便利です。 平面を作成してそのようなマップを適用すると、レンダリング中にモデルから葉の形状が切り取られます。

この方法の欠点は、不透明度マップが適用されたモデルが非常に長くレンダリングされる傾向があることです。

以下に、不透明度マップを最適化してレンダリング時間を短縮する方法をいくつか紹介します。

  1. 一つ目の方法 – 白と黒のピクセル – レンダリングエンジンが不透明度を計算するとき、半透明としてグレーの色合いを取り、テクスチャの特定のピクセルの明るさに合わせて透明度のレベルを調整します。 レンダリングエンジンは、灰色のピクセルよりも白または黒のピクセルを計算する方がはるかに高速です。 次の手順を使用して、このようなマップを作成できます。
不透明度マップ
  1. Photoshopまたは他の画像エディタで不透明度マップを開き、2ビットのpng画像として保存します。
  2. 色数を2に設定し、ディザを0%に設定します
不透明度マップの最適化
  1. そうすれば、はるかに小さい白と黒のテクスチャを自動的に作成できます。
  2. 画像エディタのレベルまたはコントラストオプションを使用して、画像のコントラストを手動で最大値に上げることもできますが、2色のpngで保存すると、100%確実に純粋な黒と白の2色だけになります(RGB 0および255)。
  3. 二つ目の方法 – ブラーとフィルタリング– 3ds Maxはデフォルトでテクスチャをぼかしてフィルタリングし、レンダリングされたマテリアルにピクセルが表示されないようにします。 黒と白の不透明度マップを使用すると、そのプロセスによってエッジがぼやけ、レンダリング時間が長くなります。 これを回避するには、テクスチャエディタでマップのブラーとフィルタリングをオフにすることができます。
  4. ブラーを0.01(最小値)に設定します
  5. フィルタリングを「なし」に設定します
不透明度マップの最適化
  1. 以下のテストは、不透明度マップの最適化をする前とした後の、2本の木のレンダリングの効果を示しています。
最適化前の不透明度マップ
  1. このメソッドは、ピクセル化されたエッジを持つ不透明度マップを作成します。レンダリングプロセス中に、ほとんどのレンダリングエンジンが、すべてのギザギザのエッジを滑らかにするアンチエイリアシングフィルターを適用するため、 ほとんどの場合これは問題にはなりません。
  2. ただし、クローズアップショットでは、不透明度マップのピクセルが表示される場合があります。 そのような場合は、より高い解像度のマップを使用し、テクスチャ設定でぼかしのレベルを上げて、求める効果を得ることができます。
  3. 注:一部のレンダリングエンジンには、透明度を作成するために使用される専用のマップスロットがあります。 たとえば、V-Rayでは「Refract」と呼ばれます。
  4. これらのシェーダーの設定(テクスチャスロット)は、特定のレンダリングエンジンで動作するように設計されており、レンダリング時間が大幅に短縮されます。 上記の方法で最適化された不透明度マップを使用して、最良の結果を得ることができます。特定のレンダリングエンジンの適切なマップスロットに最適化されたテクスチャを適用し、テクスチャ設定のすべてのフィルタリングオプションをオフにします。
  5. さまざまなレンダリングエンジンによって提供されるディスプレイスメント効果は、優れた結果を生み出すことができますが、通常、大量のRAMを必要とし、レンダリングプロセスを長くします。
  6. 注:シーンに表示されないディスプレイスメントも、反射に表示されるように計算されます。 変位の表面を、ショットで見える部分だけに減らすようにしてください。 また、オブジェクトがカメラから遠く離れている場合、またはオブジェクトの細部が非常に細かい場合は、ディスプレイスメントの代わりにバンプを使用できます。

3. プロシージャルマップ

プロシージャルテクスチャは、固定解像度のデジタル画像であるビットマップとは異なり、数学的アルゴリズムによって作成されます。

シーンのレンダリングを最適化する上での利点は、RAMをあまり必要とせず、ハードドライブにスペースがいらず、レンダリングが非常に高速であることです。

ベクトルマップと同様に、クローズアップでピクセルが表示されることなく拡大縮小可能です。 それらのほとんどはアニメーション化することもできます。

3ds Maxのプロシージャルマップの詳細については、次を参照してください。

https://knowledge.autodesk.com/ja/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2017/JPN/3DSMax/files/GUID-783C7A59-F829-41DA-A2A2-E967E516172D-htm.html

4. ベクトルマップ

バージョン2014以降、3dsMaxはベクターグラフィックとして保存されたマップをサポートしています。 ビットマップと同様の方法でベクター画像をVectorMapにロードすることで、これらを使用できます。

ベクターマップは、AI(Adobe Illustrator)、PDF、PAT、SVG、SVGZなどのさまざまな業界標準のベクターグラフィック形式をサポートしています。

このテクスチャフォーマットの最も重要な利点は、カメラがテクスチャからどれだけ離れていても、近くにいても、常にシャープであるということです。 そのおかげで、ドライブに大量のRAMとスペースを必要とする高解像度のラスターマップを使用する必要がありません。

ベクターマップは、ロゴ、アートワーク、カートゥーンのテクスチャなど、ポスター化されたシンプルな画像に最適です。 カートゥーンの場合、テクスチャをアニメーション化できるようになり、どんなショットにおいても、カラーエッジにピクセルが表示されることを心配する必要はありません。

PhotoshopやInkscapeなどのプログラムで、ラスター画像に基づいてベクターテクスチャを作成できます。 オンラインには無料のオンラインコンバーターもたくさんありますが、すべてが正しく機能するわけではありません。

非常にシンプルでベクターマップの作成に便利なソフトウェアはVectorMagicです。 Webバージョンとデスクトップバージョンの両方があります。

VectorMagicで作成したベクターマップ

注:一部のサードパーティのレンダリングエンジンでは、その種のマップのレンダリングで問題が発生する可能性があります。

3ds Maxのベクトルマップについてさらに知りたい場合は、詳しいソースのリンクをこちらに紹介しておきます:

https://knowledge.autodesk.com/ja/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2016/JPN/3DSMax/files/GUID-6C868265-792B-4553-B633-575D1895C611-htm.html

5. ビットマップページャー

3ds Max ビットマップページャーはもうあまり使用されていないツールですが、テクスチャについて話しているので、説明しておく価値はあるでしょう。

これは、RAMの使用量を約3GBに制限した32ビットシステムで非常に便利なツールです。 現在の64ビットシステムにはこの障壁がないため、大きな画像や重いテクスチャをレンダリングするためのRAMの不足はそれほど頻繁には発生しません。

ビットマップページャーを使用すると、システムは、メモリに収まらない大きなテクスチャ、多数のテクスチャ、または大きな解像度のレンダリングされた画像を小さな断片(ページ)に分割し、ハードドライブに一時的に保存できます。ページャーはメモリをディスクに入れ替えることで動作するため、レンダリングプロセスが大幅に長くなる可能性があります。

そのため、ビットマップページャーのUIは[カスタマイズ]→[設定]タブから完全に削除されました。 また、デフォルトではオフになっています。

このオプションがオフになっているかどうかを確認したい場合、またはオンにしたい場合は、次の方法でこれを行うことができます。

レンダリング→レンダリング設定→共通→ビットマップパフォーマンスとメモリオプション

ビットマップページャー

セットアップオプションでビットマップページングをオンにできます。

ビットマップページャー
  • 大きな画像をディスクにページング(メモリを節約)このスイッチを使用して、ビットマップページャーをオンにします
  • ページファイルの場所 – 一時的なページングファイルが保存されるフォルダへのパスを示します。 読み取り速度と保存速度が速いドライブにセットアップすることをお勧めします。 ここで確認できるのは既存のパスのみです。
  • OK、後でプロキシを生成 – 設定を保存して[設定]ウィンドウを閉じます
  • パスを変更する場合は、[システムパスの構成]ウィンドウで変更できます。 これは、[カスタマイズ]→[システムパスの構成]→[システム]→[ページファイル]にあります。
ビットマップページャーのシステムパスの構成

このオプションがオンになっているかどうかを確認し、アセットトラッキングツール(shift + t)→[ビットマップのパフォーマンスとメモリ]→[ビットマップページングを有効にする]でオフにすることもできます。 オプションはそこでオンまたはオフにできます。

注:ビットマップページャーを使用すると、最適化なしではレンダリングできないシーンをレンダリングできますが、レンダリングプロセスが遅くなる可能性があることに注意してください。 シーンが2倍長くレンダリングされる可能性があります。

注:通常ネットワークドライブを使用する外部レンダーファームを使用する場合、このオプションはレンダリングでエラーを発生させ、レンダリング時間を延長する可能性があります。

ビットマップページャーの詳細については、こちらをご覧ください。

https://knowledge.autodesk.com/ja/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2021/JPN/3DSMax-Manage-Scenes/files/GUID-0E24A9A7-F06F-4D7D-AA56-FECFABD2A319-htm.html

まとめ

テクスチャを最適化すると、シーンでレンダリングする必要のあるRAMの量を減らすことができ、場合によってはレンダリング時間を短縮することもできます。

圧縮ファイル形式を使用すると、プロジェクトに必要なディスク容量と、プロジェクトをノードにアップロードしてクラウドレンダリングで3Dアプリケーションで開くのに必要な時間が短縮されます。 ただし、圧縮自体は、シーンのレンダリングに必要なRAMの量を変更しません。

求めるレンダリングの品質に十分な分だけ、解像度、チャネル数、およびテクスチャのビット深度を減らすことをお勧めします。 画像編集ソフトウェアの自動ツールを使用して、このような方法でテクスチャを準備できます。

透明度/不透明度効果の場合は、マテリアル設定で不透明度スロットを使用し、ビット深度をできるだけ低くしてフィルタリングをオフにするよりも、レンダリングエンジンによって提供されるシェーダーオプションを使用することをお勧めします。

プロシージャルマップは非常に高速で、HDDスペースを使用しないため、可能な場合はそれらを使用することをお勧めします。 また、非常に簡単に調整できます。 ベクターマップに関しては、カートゥーンスタイルやシンプルなグラフィックサインの場合、高解像度のラスターテクスチャを使用する手間を省くことができます。

参考

www.wikipedia.org

https://knowledge.autodesk.com/

https://helpx.adobe.com/support.html

独自の経験とテスト

CGSociety、3Dトータルフォーラム

ThioJoeTechYoutubeチャンネル

3dsMax2016およびVray3.40.03ですべてのテストを行いました。

その他の参考

http://www.hdrlabs.com/tools/links.html –openEXRエディターへの様々なリンク

クレジット

このガイドはMichałMośによって作成され、GarageFarm.NETのチームにより編集されました。このガイドの知識は10年以上レンダーファームに従事してきた豊富な経験をもとに作成しています。 

MichałMoś

MichałMoś(別名Andrew)はGarageFarm.NETのメンバーで、アニメーションやトラブルシューティングからテクニカルライティングまで、3Dレンダリングのトピックを専門としています。彼は、CGアーティスト、デザイナー、インストラクターとして、数多くのデザインおよび建築会社に従事していた経験も持ち、主に 3ds Max、C4D、V-Ray、Octaneを使用しています。絵を描くこと、執筆、そしてテーブルRPGが趣味です。

https://michalmos.carbonmade.com

関連記事

Chat