付録 > 

メモリとパフォーマンスに関するベスト プラクティス

 
 
 

Mudbox ではお使いのコンピュータの CPU 速度、RAM、およびグラフィックス カード メモリを利用して、非常に解像度の高いポリゴン モデルを処理し、高品質のレンダリングや視覚効果をリアルタイムに生成できます。

以下のセクションでは、Mudbox で最適なパフォーマンスを得るために、メモリ使用量を最適化できる領域について説明します。

CPU および RAM の最適化

タスク メモリとパフォーマンスを最適化するには

他の 3D モデリングおよびスカルプト アプリケーションからポリゴン モデルを読み込む(CPU のパフォーマンス)

Mudbox は、高解像度のモデルを扱う場合にディスプレイとインタラクティブなパフォーマンスを最適化する独自の機能を備えています。これらの機能は、読み込まれたモデルのポリゴン数が少ない場合に最もよく機能します。

ZBrush など、別のスカルプト アプリケーションからモデルを読み込む場合にシステムのパフォーマンスを最適にする方法については、「ZBrush からモデルを読み込む」を参照してください。

さらに、モデルの複雑度が高まると、インタラクティブなパフォーマンス(タンブル、トラック、ドーリー)が低下します。

複数のモデルを使用する(CPU のパフォーマンス)

[3D ビュー]でモデル(およびマテリアル)の数を増やすと、インタラクティブなパフォーマンスが全体的に低下する場合があります。

.obj ファイルとして書き出す前に、3D モデリング アプリケーションで別個のメッシュを 1 つのモデルに結合することができます。Mudbox では、結合されたモデルに 1 つのマテリアルが割り当てられます。

UV が設定されたモデルの場合、個別のモデル コンポーネントを結合して Mudbox に書き出すには、あらかじめ UV を UV スペースで区切り、オーバーラップしないようにレイアウトしておく必要があります。

サブディビジョン レベル(RAM)

モデル上のサブディビジョン レベルの数は、ポリゴン フェースの数と、必要な RAM に直接的に影響します。モデルを不必要にサブディバイドしてポリゴン数が過大になると、RAM が急速に消費され、追加できるスカルプト レイヤと、モデル上での他の作業が制限されます。

レイヤ上でスカルプトする(RAM)

スカルプト レイヤの数と相対的な複雑度は、関連付けられているサブディビジョン レベルに応じて、必要な RAM のサイズに影響します。スカルプト レイヤ上で修正される頂点の数が増えるほど、多くの RAM が必要になります。上位のサブディビジョン レベルのスカルプト レイヤでは(多数の頂点が修正されている場合には)、影響される頂点の数が少なくなるため、下位のサブディビジョン レベルの同等のスカルプト レイヤよりも多くの RAM が必要になります。たとえば、スカルプト レイヤの[フラッド]操作を行うと、レイヤ全体のすべての頂点の位置に影響するため、その情報の保存に必要な RAM の量が増大します。

スカルプト ツールのサイズを大きくする(CPU のパフォーマンス)

スカルプト ツールのサイズは、特に上位のサブディビジョン レベルで高密度のモデルをスカルプトする場合などに、インタラクティブなパフォーマンスに影響します。そのような場合には、ストロークによって膨大な数のポリゴンの位置を更新するために、サイズの大きいスカルプト ツールが必要になります。

より効率的に処理するには、下位のサブディビジョン レベルでは(モデルに対して粗い調整を行うために)大きなスカルプト ストロークを行い、インタラクティブなパフォーマンスを向上させます。

UV テクスチャ座標をサブディバイドする(RAM)

UV を使用すると、モデルの全体的な RAM 要件が増大します。UV は、スカルプトの完了後に[ファイル]>[UV を読み込み]を選択して読み込むことができます。既定では、モデルがサブディバイドされても UV はサブディバイドされません。Mudbox では、[メッシュ]>[新しいサブディビジョン レベルの追加]>[UV のサブディバイド]オプションがオンになっている場合のみ、UV がサブディバイドされます。特定のサブディビジョン レベルで UV をサブディバイドする必要がある場合は、[PageUp]または[PageDown]キーを押してそのレベルを表示し、[メッシュ]>[レベル UV を再作成]を選択します。

スタンプとステンシルを編成する(RAM)

Mudbox を起動すると、スタンプ トレイおよびステンシル トレイの内容が RAM にロードされます。トレイに保存するステンシルとスタンプの数を減らすと、必要な RAM の量が軽減されます。

その他のソフトウェア アプリケーション(RAM)

お使いのコンピュータで多量の RAM を消費するソフトウェア アプリケーションが実行されていると、Mudbox を実行するときに使用可能なメモリの量が少なくなる場合があります。必要がないアプリケーションを終了します。

グラフィック メモリの最適化

Mudbox では、お使いのコンピュータのグラフィックス カードのグラフィックス処理ユニットを利用して、高品質のレンダリングと視覚効果をリアルタイムで生成します。

一般的に、グラフィックス カード(GPU)のメモリ低減に関連するパフォーマンス上の問題としては、表示の更新が低速化する、黒いテクスチャ マップが表示される、インタラクティブなパフォーマンスが低速化するなどがあります。

説明されているすべてのグラフィックス関連機能を同時に使用すると、強力なコンピュータ グラフィックス カードでも過負荷になる場合があります。Mudbox を使用する場合にコンピュータ ハードウェアの最適なパフォーマンスを得るには、(特定のワークフローに関連して) GPU メモリ使用量に対する以下の項目の影響を考慮してください。

タスク メモリとパフォーマンスを最適化するには

大量のテクスチャ データをペイントする

Mudbox では、Gigatexel エンジンを使用してタイルのロード、アンロード、およびプロキシ処理を自動的に行うようにして必要なメモリの量を減らすことにより、大量のテクスチャ データを操作することができます。ただし、グラフィックス カードや CPU のメモリ容量を超えると、テクスチャ データはハードディスクに書き出されるようになり、インタラクションが遅くなる場合があります。

特に大きなシーンを扱うときは、CPU メモリやソリッド ステート ハード ドライブ(SSD)を増強することにより、このプロセスにおける速度を大幅にアップすることができます。これらのハード ドライブには可動部分がないため、データのアップロードやダウンロードをより高速に行えます。

レイヤ上でペイントする

Mudbox には、ペイント レイヤを表示する際にグラフィックス カード(GPU)メモリ要件を最小化する独自の機能があります。モデル上のペイント レイヤの数、およびそれらのイメージの解像度とビット深度は、GPU メモリ要件に影響します。

必要な GPU メモリを軽減するには、ビット深度が低い低解像度のペイント レイヤを作成し(可能な場合)、不要なペイント レイヤの表示をオフにします。詳細については、「イメージ ビット深度およびテクスチャ抽出」を参照してください。

複数のタイルがあるモデル上でペイントする

Mudbox では、複数のタイルがあるモデル上でペイントすることで、極めて高解像度のテクスチャ マップを作成できます。多数の高解像度のイメージをモデルにロードすると、必要な GPU メモリの量に影響します。

必要な GPU メモリを取り扱うために、Mudbox Gigatexel エンジンはバックグラウンドで動作して、現時点でカメラの前にあるテクスチャ タイルのロードとアンロードを行います。

Gigatexel エンジンをオフにする場合は、その時点の[3D ビュー]で不要な UV タイルに関連付けられたテクスチャを手動でロードおよびアンロードします。その際にはモデル上にカーソルを置いて上矢印キーを押します。詳細については、「モデルで UV タイルの表示と非表示を切り替える」を参照してください。

UV テクスチャ座標およびUV タイル境界

UV タイル境界を超える UV セットを含むモデルが読み込まれると、インタラクティブ面のパフォーマンスが低下したり、アプリケーションの安定性に影響してしまう場合があります。ログ ファイルに、この状況が発生したことを示すエラー メッセージが表示されます。

最良の結果を得るには、UV セットを除去または編集して状況を修正し、メッシュを再度読み込みます。

高解像度のモデル上でペイントする

下位のサブディビジョン レベルでペイントすることで、GPU メモリの使用量を軽減できます。

詳細な上位のサブディビジョン レベルから法線マップを抽出して、下位のサブディビジョン レベルに適用することで、下位のサブディビジョン レベルで高解像度の詳細をテクスチャ マップとして表示し、GPU メモリの使用量を軽減できます。

スタンプとステンシル

スタンプまたはステンシルをスカルプト ツールまたはペイント ツールにロードすると、さらに多くの GPU メモリが必要になります。スタンプ イメージまたはステンシル イメージの解像度は、GPU メモリ要件に影響します。つまり、解像度の高いステンシルでは、解像度の低いステンシルよりも多くのメモリが必要になり、ロードに時間がかかります。

スタンプやステンシルを独自に作成する場合は、プロダクションの要件に応じて、イメージの解像度とカラーのビット深度を下げてください。解像度が低いイメージほど、トレイ上にあるときの RAM のメモリ使用量が少なくなり、使用時に必要な GPU メモリも少なくなります。詳細については、「イメージ ビット深度およびテクスチャ抽出」を参照してください。

ビューポート フィルタを使用する

[ビューポート フィルタ]をオンにする場合には、[3D ビュー]の表示を更新するたびにこれらの効果も更新されるため、GPU に割り当てるテクスチャ メモリを追加する必要があります。

必要がない場合は、ビューポート フィルタをオフにしてください。詳細については、「視覚効果を適用する」を参照してください。

反射(環境)マップ

反射マップで使用されるイメージは、解像度とビット深度によっては、多量の GPU メモリが必要になる場合があります。イメージ精度の制約と合わせて、可能な限りサイズの小さい環境マップを使用するようにしてください。

シャドウを使用する

それぞれのディレクショナル ライトについて[影付け]オプションがオンの場合は、シャドウ デプス マップが作成されます。シャドウ デプス マップの解像度は、シャドウの品質と必要な GPU メモリの量に影響します。

[深度マップの解像度]の値を下げると、GPU メモリ要件が軽減されます。

シャドウを必要としないライトについては、シャドウをオフにしてください。詳細については、「ディレクショナル ライトのプロパティ」を参照してください。

イメージ ベースド ライトを使用する

イメージ ベースド ライトを使用すると、ライティング環境のためにテクスチャ マップ イメージが参照されるため、必要な GPU メモリの量が増大します。

その場合には、イメージ ベースド ライトで使用されるハイ ダイナミック レンジ イメージ(HDRI)の解像度を最小にすると、GPU メモリ要件が軽減されます。ディレクショナル ライトとポイント ライトは、多量の GPU メモリを消費することがありません。

マテリアル

シーン内のマテリアル数(およびそれらのマテリアル上の関連するテクスチャ マップ)を増やすと、必要な GPU メモリが増大します。

シーン内のマテリアル数を可能な限り制限し、マテリアルでは、ビット深度が低いテクスチャ マップについては解像度の低いイメージを使用するようにしてください。

GPU メモリ使用量を追跡する

Mudbox では、使用中の GPU メモリの量が追跡され、[ステータス ライン][GPU メモリ]の値として表示されます。この値(MB)は、Mudbox で使用されている GPU メモリだけを示しています。他のアプリケーションで使用されているメモリは反映されません。