ビューポート 2.0 のトラブルシューティング

ビューポート 2.0 で予想した結果を得ることができなかった場合は、次の説明を参照して、解決策と回避策を確認してください。

パフォーマンス

問題 考えられる解決方法

ビューポートが動作を停止するか、応答しなくなりました。

ヒント: ヘッドアップ ディスプレイ(Heads Up Display) (HUD)オプションマテリアルのロード時の詳細(Material Loading Details)をオンにすると、マテリアルおよびテクスチャのロードの進行状況を表示することができます。
  • グラフィックスの設定およびグラフィックス ドライバのバージョンが正しいことを確認してください。グラフィックス ドライバが最新でない場合は、Autodesk Knowledge Network の「Maya 認定ハードウェア」にアクセスして、詳細を確認してください。

    詳細については、「ビューポート 2.0 の GPU メモリを管理する」を参照してください。

  • 並列 評価モード(Parallel > Evaluation mode)を無効にします。この操作を行うには、アニメーション(設定)(Animation (Settings))プリファレンス評価モード(Evaluation mode)DG に設定します。
  • マテリアルのロード モード(Material Loading Mode)遅延(Deferred)に設定します。

    この操作を行うにはプリファレンス(Preferences)ウィンドウ(ウィンドウ > 設定/プリファレンス > プリファレンス(Window > Settings/Preferences > Preferences))で、表示(Display)カテゴリを選択します。パフォーマンス(Performance)マテリアルのロード モード(Material Loading Mode)遅延(Deferred)に設定します。

  • ステータス ラインで一時停止アイコン をクリックして、ビューポート 2.0 を一時停止にします。こうすると、シーン内で変更を加えるときに、ビューポートが更新されるまで待機しなければならなくなります。これは複雑なシーンを作業するときに特に役立ちます。
    ヒント: 複雑なシーンのロード時間を短縮するには、プリファレンス(Preference)ウィンドウの表示(Display)カテゴリでビューポート 2.0 を一時停止(スタートアップ)(Pause Viewport 2.0 (startup))オプションを有効にします。

ビューポート内のシーンの内容が更新されないか、正しくないマテリアルまたはインスタンスが表示されています。たとえば、テクスチャ、ジオメトリ、またはキャッシュされたアニメーションが表示されません。

  • ビューポート 2.0 でシーンを強制的にリセットします。この操作を行うには、MEL コマンドラインで ogs-reset; と入力します。
  • ビューポート 2.0 オプション(Viewport 2.0 Options)ウィンドウのパフォーマンス(Performance)統合ワールド(Consolidate World)を無効にします。
  • ビューポート 2.0 オプション(Viewport 2.0 Options)ウィンドウのパフォーマンス(Performance)GPU インスタンス化(GPU Instancing)を無効にします。既定では、オフに設定されています。
GPU RAM の使用量がビデオ カードの GPU RAM の制限を超過したか、または非常に近づいています。テクスチャの RAM 制限を超過したことを示すエラー メッセージが表示されます。
  • GPU RAM を使用する他のビューポート 2.0 エフェクトをオフにします。

    該当するのは、GPU RAM を大量に使用するスクリーンスペース アンビエント オクルージョン(Screen-space Ambient Occlusion)マルチサンプル アンチエイリアシング(Multisample Anti-aliasing)などです。

  • ビューポート 2.0 オプション(Viewport 2.0 Options)浮動小数点レンダー ターゲット(Floating Point Render Target)を無効にします。
  • テクスチャ解像度のクランプ(Clamp Texture Resolution)を有効にして、テクスチャをダウンスケールし、GPU RAM の使用量を小さくします。

    この操作を行うには、ビューポート 2.0 オプション(Viewport 2.0 Options)テクスチャの最大解像度のクランプ(Maximum Texture Resolution Clamping)テクスチャ解像度のクランプ(Clamp Texture Resolution)をオンにして、テクスチャの最大解像度(Max Texture Resolution)自動(Automatic)に設定します。ビューポートはパフォーマンスを上げるために、すべてのテクスチャの解像度を自動的に下げます。

    あるいは、テクスチャの最大解像度(Max Texture Resolution)カスタム(Custom)に設定して、最大解像度を平均のテクスチャ解像度よりも小さい値に設定します。品質とメモリ使用量のバランスを取るには、値に 1024 を使用することをお勧めします。

    詳細については、「ビューポート 2.0 の GPU メモリを管理する」を参照してください。

UV エディタ(UV Editor)を開いたまま、および並列(Parallel)マテリアルのロード モード(Material Loading Mode)に設定したままシーンをロードしている場合は、「GPU テクスチャ RAM の上限を超えました」というエラー メッセージが継続的に表示されます。

UV エディタ(UV Editor)でテクスチャのロードを停止するには、シーン内のすべてのオブジェクトを選択解除します。

また、ベイク処理されたテクスチャの解像度を低くする方法でも(UV エディタ(UV Editor)イメージ > UV テクスチャ エディタにベイク処理(Image > UV Texture Editor Baking)メニューから)、GPU テクスチャ RAM の上限超過を回避することができます。

シェーディングおよびライティング

問題 考えられる解決方法

ビューポートでは、ポリゴン オブジェクトのマテリアルは黒色のみで表示されます。

この問題は、スクリーンスペース アンビエント オクルージョン(Screen-space Ambient Occlusion)を使用している場合も発生することがあります。

ポリゴン オブジェクトのフェースは法線が逆向きになっています。法線の向きを変更します。「ポリゴン法線を反転する」を参照してください。

法線を反転できない場合は、次のいずれかの操作を行います。
  • オブジェクトを両面にします。この操作を行うには、polygonShape ノード アトリビュートのレンダリング詳細(Render Stats)セクションで両面(Double Sided)をオンにします。
  • ライティング(Lighting)パネル メニューで両面ライティング(Two Sided Lighting)をオンにします。
シーンにオブジェクト/リファレンスを追加すると、テクスチャがさらにぼやけて見えます。

これは、テクスチャの最大解像度のクランプ(Maximum Texture Resolution Clamping)が有効になっていて機能しているため、使用可能な GPU メモリを超過することができないことを示しています。この問題の影響を緩和するには、シーンから不要なテクスチャを削除するか、または GPU メモリを消費している可能性のある他のアプリケーションを閉じて、GPU メモリを解放してから、ビューポート 2.0 オプション(Viewport 2.0 Options)テクスチャの最大解像度のクランプ(Maximum Texture Resolution Clamping)に移動して、すべてのテクスチャを再ロード(Reload All Textures)をクリックします。

シーンに表示されないライトがあります。

ビューポート 2.0 オプション(Viewport 2.0 Options)ウィンドウのパフォーマンス(Performance)ライトの制限数(Light Limit)の値を大きくします。既定のライト数は 8 で最大数は 16 です。

エイリアシングまたはフラッシュのアーティファクトがシーン ビューに表示されます。

カメラのニア クリップ プレーン(Near Clip Plane)値を大きくします。この操作を行うには、該当するカメラを選択し、カメラ アトリビュート(Camera Attributes)ニア クリップ プレーン(Near Clip Plane)値を大きくします。

バンプ マップおよびディスプレイスメント マップが正しく表示されません。

ファイル テクスチャ ノードのカラー スペースの設定が、誤って未処理(Raw)以外の値に設定されています。「テクスチャおよびその他のイメージの入力用のカラー スペースを指定する」を参照してください。

ヒント: 可視のカラー データを含まないテクスチャは、未処理に設定する必要があります。

HLSL シェーダを使用すると、GLSL シェーダを使用した場合とは異なるカラー グラディエントが表示されます。

これは、カラー補間の実装が異なることが原因です。この問題を解決するには、シェーダが適用されるオブジェクトのサブディビジョン数を大きくします。

DX11 シェーダを使用している場合に、ライトを操作すると、ディスプレイスメントされたサーフェス上のシャドウが表示されなくなります。

dx11shader アトリビュート エディタ(Attribute Editor)のディスプレイスメント クリップ バイアス(Displacement Clipping Bias)を大きくします。

アルファ チャネルを使用するフリー イメージ プレーンをハードウェア レンダーすると、黒のバックグラウンドとブレンドされます。

ビューポート 2.0 のワークスペースと、既定が黒のバッチ レンダリングでは、既定のグラディエント バックグラウンド値が同じになりません。

両方のレンダーから同じ結果を得る必要がある場合は、シーン ビューのバックグラウンド カラーを黒に設定して、両方のバックグラウンド カラーを一致させる必要があります。シーン ビューで黒にサイクルさせるには、+ B キーを使用します。

頂点カラー ペイント ツール(Paint Vertex Color Tool)を使用してペイントしている場合に、ジオメトリの一部の領域が誤って透明に表示されます。

ブラシ シェイプのフォール オフで一部のアルファが選択されています。この問題を解決するには、アルファ値を修正するか、深度ピーリング(Depth Peeling) の透明度のアルゴリズム(Transparency Algorithm)を選択します。

表示モード(Display Mode)が RGBA に設定されている透明なイメージ プレーンは、他のテクスチャとブレンドされます。

イメージ プレーンの表示モード(Display Mode)RGB に設定します。

重なり合う透明なオブジェクト、またはフェース単位でシェーディングが割り当てられている透明なオブジェクトは、正しく描画されません。

透明度のアルゴリズム(Transparency Algorithm)アルファ カット(Alpha Cut)または深度ピーリング(Depth Peeling)に設定されていることを確認してください (「ビューポート 2.0 オプション(Viewport 2.0 Options)」を参照)。

透明なオブジェクト(AutodeskUberShader でシェーディングされたオブジェクトなど)の上部にグリッドが描画されます。

透明度のアルゴリズム(Transparency Algorithm)アルファ カット(Alpha Cut)または深度ピーリング(Depth Peeling)に設定されていることを確認してください (「ビューポート 2.0 オプション(Viewport 2.0 Options)」を参照)。

一般

問題 考えられる解決方法

サードパーティのプラグイン オブジェクトがビューポートに表示されません。

レンダリング エンジンを OpenGL - 旧式(OpenGL - Legacy) モードに切り替えます。

この操作を行うにはプリファレンス(Preferences)ウィンドウ(ウィンドウ > 設定/プリファレンス > プリファレンス(Window > Settings/Preferences > Preferences))で、表示(Display)カテゴリを選択します。ビューポート 2.0(Viewport 2.0)で、レンダリング エンジン(Rendering engine)OpenGL - 旧式(OpenGL - Legacy)に設定します。

フレーム レート インジケータ(HUD) に、スタティック フレームの fps 値として小さな値が表示されます。

これは予想どおりの結果です。ビューポート 2.0 のフレーム レートは、前回のインタラクションまたは再生イベントに基づいて表示されます。タンブル、画面移動、またはタイム スライダの再生など、次の再生が行われるまで、スタティック フレームにはこの値が表示されます。

後面にある UI 要素とオブジェクトが前面にあるオブジェクトを通じて表示される z ファイティングの問題が発生します。

カメラのファー クリップ プレーン(Far Clip Plane)ニア クリップ プレーン(Near Clip Plane)の比率をできるだけ小さくします。つまり、ニア クリップ プレーン(Near Clip Plane)を大きくするか、ファー クリップ プレーン(Far Clip Plane)を小さくするか、あるいは両方を行います。

ファー クリップ プレーン(Far Clip Plane)を大きくすると、以前のファー クリップ プレーン(Far Clip Plane)の距離の背後にあるオブジェクトが追加で表示されるようになりますが、表示される z ファイティングのアーティファクトは増大します。

別のコンテンツ作成アプリケーションからシーンを読み込みましたが、オブジェクトのサイズが正しく表示されません。または、時間が経つにつれて、ジオメトリのジグリングという不具合が発生します。

  • 読み込まれたオブジェクトがシーンの原点から離れすぎています。
    • 読み込まれたオブジェクトのスケールを小さくします。
    • 上記のトラブルシューティング方法に従って、ニア クリップ プレーン(Near Clip Plane)およびファー クリップ プレーン(Far Clip Plane)の値を調整します。
  • Maya の 4 ビュー正投影ビューポートでは、使用しているオブジェクトが表示しようとしている読み込み済みオブジェクトの内部にあるため、正しく表示されないことがあります。カメラを原点から遠ざけます。

イメージ プレーンが移動中のオブジェクトの真後ろにある場合、ビューポートのモーション ブラーは効果がなくなります。

この問題を回避するには、MAYA_VP2_OFF_NON_PE_FRAGMENT 環境変数を 1 に設定します。

この環境変数を設定すると、イメージ プレーンが SSAO、被写界深度、モーション ブラーなどのすべてのシーンのポスト エフェクトの計算に含まれるようになります。

選択してタンブルする、または選択解除してからタンブルするなどのアクションを行うと、その直後にオブジェクトはビューポートに異なる方法で描画されるようになります。

ビューポート 2.0 オプション(Viewport 2.0 Options)統合ワールド(Consolidate World)を無効にします。

このトラブルシューティング セクションに記載されていない理由により、ビューポート 2.0 を使用できません。または、ビューポート 2.0 で機能しないサードパーティ製のプラグインまたはカスタム開発機能を使用しています。

MAYA_ENABLE_LEGACY_VIEWPORT 環境変数を使用して旧式のビューポートを有効にします。「レンダリング変数」を参照してください。

注: 旧式のビューポートを有効にすると、スムーズされた openSubdiv メッシュを含むシーンに対するビューポート 2.0 のメモリ使用量が増えます。ビューポート 2.0 のパフォーマンスを維持するには、旧式のビューポートを使用していないときに、この環境変数をオフにして旧式のビューポートを無効にします。

関連項目