ビューポート 2.0 では、Maya のすべての一般的なワークフローをサポートしています。また、ビューポート 2.0(Viewport 2.0)には旧式の既定ビューポート(Legacy Default Viewport)では利用できない機能があります。たとえば、アンビエント オクルージョンやアンチエイリアシングなどのビューポート エフェクトです。ビューポート 2.0 ではライティングとマテリアルの忠実度も大幅に改善されています。また、ポリゴンとテッセレーションのパフォーマンスが向上し、頂点アニメーション キャッシュや GPU インスタンス化などの機能を使用したときのパフォーマンスも向上しています。
このシーンでは、海洋シェーダ(Ocean Shader)がプレーンに適用されています。旧式の既定ビューポート(Legacy Default Viewport)とビューポート 2.0(Viewport 2.0)の作業の違いを以下に説明します。
ビューポート 2.0 は、Maya ワークスペースの既定のレンダラです。
他のレンダラに切り替えるには、レンダラ(Renderer)パネル メニューから旧式の既定ビューポート(Legacy Default Viewport)オプションまたは旧式の高精度ビューポート(Legacy High Quality Viewport)オプションを選択することができます。
ワークスペースのヘッドアップ ディスプレイで「ビューポート 2.0」を参照するには、表示 > ヘッドアップ ディスプレイ > ビューポート レンダラ(Display > Heads Up Display > Viewport Renderer)を有効化します。
ワークスペースの既定のビューポート レンダラを設定することができます。旧式の既定ビューポート(Legacy Default Viewport)かビューポート 2.0(Viewport 2.0)を選択します。
これを実行するには、プリファレンス(Preferences)ウィンドウの表示(Display)カテゴリで、ビューポート 2.0(Viewport 2.0)セクションの下の既定のビューポート(Default viewport)を設定します。
ビューポート 2.0 用 Maya の要件一覧は、http://www.autodesk.co.jp/hardware を参照してください。
ビューポート 2.0 を実行するには、正しいグラフィックス設定およびグラフィックス ドライバのバージョンである必要があります。グラフィックス ドライバが最新でない場合は、http://www.autodesk.co.jp/hardware にアクセスして、ドライバをダウンロードして更新する必要があります。
大量のテクスチャ、ジオメトリ、またはキャッシュされたアニメーションを含むシーンでは、ビデオカードで使用可能な GPU RAM の容量を確認することが重要です。
GPU RAM の使用量が、ビデオカードの GPU RAM 制限に非常に近い場合、テクスチャはロードされない可能性があり、シーンがシェーディング モードで表示されます。テクスチャの RAM 制限を超えていることを示し、テクスチャの最大解像度(Max Texture Resolution)クランプを減らすことを提案するエラー メッセージが表示されます。詳細については、「テクスチャの最大解像度のクランプ」を参照してください。
カードの GPU メモリ使用量(MB)を確認するには、コマンド ogs -gpu を使用します。
カードの GPU RAM 制限を確認するには、Maya の出力ウィンドウ(Output Window of Maya)を参照します。
次に、メモリ使用量を低減するためのガイドラインを示します。
複数の Maya セッションを実行しているか、別の 3D プログラムと Maya を同時に実行するときは、追加の GPU メモリが必要になります。Maya を別の 3D アプリケーションとともに実行している場合は、自動的にその別のアプリケーションとメモリを共有する必要があることを検出しません。したがって、誤って GPU メモリ制限を超える可能性があります。
ビューポート 2.0 のメモリ検出をオーバーライドし、手動でメモリの下限を設定して別の 3D アプリケーションに対して GPU メモリを予約するために、MAYA_OGS_GPU_MEMORY_LIMIT 環境変数を設定することができます。MAYA_OGS_GPU_MEMORY_LIMIT に MB 単位でメモリ制限を設定します。たとえば、ビューポート 2.0 が 2GB のカードで 1GB のみを使用するように制限するには、この環境変数を 1024 に設定します。出力ウィンドウが、メモリの制限が意図的に設定されていることを確認します。
これは、3D アプリケーションを同時に実行しているインスタンスでのパフォーマンスを向上させることがありますが、それ以外の場合はパフォーマンスを低下させるため、慎重に使用する必要があります。
GPU インスタンス化は、使用される GPU メモリの量を少なくします(インスタンスの数が多い場合)。
複雑なシェーダ ネットワークを含むシーン、たとえば、ShaderFX ネットワークが複雑な場合、または DirectX 11 の Ubershader を多用する場合、スクリーン スペース アンビエント オクルージョンや被写界深度などのビューポート エフェクトが発動し、グラフィックス カードの速度がパフォーマンスに影響する可能性があります。
大きくて複雑なシーンでは、GPU キャッシュ ワークフローの使用を検討してください。詳細は「GPU キャッシュ」を参照してください。
スクリーン スペース アンビエント オクルージョン、マルチサンプル、アンチエイリアシング、モーション ブラーなどのビューポート エフェクトがシーンに多数含まれている場合、GPU メモリ制限に近づいたときに表示に問題が生じる可能性があります。この問題を回避するには、ビューポート エフェクトのいくつかを無効にするか、より多くの GPU メモリを持つグラフィックス カードで Maya を実行します。
2 つのレンダリング エンジン、OpenGL と DirectX 11 があります。
ウィンドウ > 設定/プリファレンス > プリファレンス(Window > Settings/Preferences > Preferences)を選択して、プリファレンス(Preferences)ウィンドウを開きます。表示(Display)カテゴリを選択し、次に、ビューポート 2.0(Viewport 2.0)セクションの下のレンダリング エンジン(Rendering engine)を選択します。
レンダリング エンジンとしてDirectX 11を選択すると、DX11 ハードウェア シェーダをビューポートでリアルタイムにレンダーすることができます。このオプションを実行するには、dx11Shader.mll プラグインを有効にする必要があります(ウィンドウ > 設定/プリファレンス > プラグイン マネージャ(Window > Settings/Preferences > Plug-in Manager))。また、Windows 64 ビットおよび DirectX 11 互換のグラフィックス カードを使用する必要があります。詳細については、「ビューポート 2.0 で DirectX 11 を使用する」を参照してください。
ビューポート 2.0 は次の制限事項を例外として、Maya のすべての一般的なワークフローをサポートしています。
制限事項:
次のシェーダはベイク処理としてサポートされています。
制限事項:
ビューポート 2.0では、旧式の既定ビューポートでの次のパフォーマンスの向上も実現されました。
GPU メモリに収まらない、大量のジオメトリまたはキャッシュされたアニメーションを含むシーンについて、ビューポート 2.0 で、パフォーマンスが大幅に向上します。
独自のプラグインを作成するときに、このパフォーマンスの向上のメリットを活用するために、MPxSubSceneOverride クラスを使用することができます。
詳細については、『Maya 開発者ヘルプ』を参照してください。
また、ビューポート 2.0 の API クラスを使用せずにユーザ定義シェイプ ノード(MPxSurfaceShape)としてカスタム シェイプを実装したプラグインも、パフォーマンス向上の恩恵を受けます。
ビューポート 2.0 でさまざまなエフェクトを描画、シェード、作成するプラグインを作成するには、Maya API を使用します。Maya 開発者ヘルプの「ビューポート 2.0 API」のセクションには、ビューポート 2.0 で使用できるクラスとメソッドに関する情報と、旧式のビューポート API の使用からビューポート 2.0 API の使用に変更してプラグインを更新する方法に関する情報が記載されています。
ビューポート 2.0 のパフォーマンスを最適化する方法のヒントについては、「ビューポート 2.0 を最適化する」を参照してください。
ビューポート 2.0 のトラブルシューティングのヒントについては、「ビューポート 2.0 のトラブルシューティング」を参照してください。