アニメーションのパフォーマンスの向上

このリリースにより、複雑なリグでアニメーションを再生する場合などに、アニメーションのパフォーマンスが大幅に向上します。

このリリースでは、GPU デフォメーション ワークフローが強化されました。これらの強化機能の 1 つにより、GPU 評価用のグラフが頻繁に再構築(または再パーティショニング)される問題は解消され、大規模なシーンで変更が発生した場合に問題が生じることはなくなりました。現在は、キーを作成および削除しても不要な再パーティショニングは発生しません。また、新しいスケジュール モードにより、ディスプレイ レイヤ(Display Layers)または選択項目の分離(Isolate Select)を使用してオブジェクトの表示/非表示を切り替えるときに、再パーティショニングの発生を大幅に抑えることができます。

もう 1 つの大きな変更点は、評価マネージャで GPU のノードをスケジュールするときに、少数の大きなクラスタとしてスケジュールするのではなく、より詳細な方法でスケジュールできるようになったことです。これにより、グラフを効率的に削減できます。

エバリュエータは、GPU での評価対象となる、完全に確認および検証されたノードだけでなく、GPU に存続する可能性のあるノードも要求するようになりました。GPU 評価が有効な場合、エバリュエータは再パーティショニング後に GPU または CPU で評価されるノードを動的に決定するようになりました。これにより、動的な変更にすばやく対応できるようになり、再パーティショニングの必要性は大幅に減ります。

GPU ダウンロード

GPUダウンロード/リビルドの最適化: 3 層フェイシャル リグと 115 個のジョイントを含む、約 25 万個の頂点を備えたキャラクタ

たとえば、上の図のキャラクタには uvPin ノードを含むネックレスがあり、このノードからリボンにリジッドなペンダントがアタッチされています。リボン自体は、ボディのジオメトリによって変形されています。以前は、uvPin または毛根が GPU に存続することはできなかったため、キャラクタ全体が GPU に存続することもできませんでした。

この特定のケースでは、ペンダントの存在によってネックレスが GPU 上に存続することは禁止されるため、キャラクタのボディ全体が GPU に存続することはできませんでした。この問題を回避するには、通常、低解像度で並列デフォメーション構造を導入していました。

現在は、GPU ダウンロードまたはリードバックがサポートされています。GPU が CPU メッシュにデフォメーションされた後、リボンのジオメトリは自動的に変換されます。このようにして、CPU でコンストレイントが計算されます。(この処理が行われると、ビジュアライゼーション グラフの矢印が緑から青に変わります)。

GPU ダウンロードの例: 上図では、GPU ダウンロードが無効になっています。下図では、GPU ダウンロードが有効になっていて、GPU で実行される緑色のノードが増えています。

注: GPU ダウンロードは評価マネージャの新機能です。この機能は常にオンになっていますが、評価ツールキットのデバッグ オプションとして一時的にオフにすることができます。また、ブロック ポリシーとして、GPU アウトライナで接続済みのノード グループごとに GPU ダウンロードをブロックすることもできます。

評価ツールキット

現在の状況を分析するために、評価ツールキット(Evaluation Toolkit)に複数の UI およびデバッグ ツールが追加されました。たとえば、ビューポートで、エバリュエータが要求しているノードの数と、GPU で評価されているノードの数を確認できます。

例として、次のイメージには「351k [46/184]」と表示されています。これは、シーンの頂点の数が約 351 000 で、deformerEvaluator の 184 個のノードのうち 46 個 が GPU 上にあることを示しています。
また、機能強化により、評価ツールキットから生成されたビジュアライゼーション グラフに表示される情報量が増えました。緑色のノードは GPU で評価されていますが、青色のノードは CPU で評価されています。グレーのノードは、エバリュエータの外部入力および外部出力となるノードです。
エバリュエータ内のすべてのノード、ノードの評価方法、GPU にノードが存続しないできない理由、およびノードのグループ化方法を示す新しいアウトライナもあります。

GPU アウトライナ

このオプションを使用してデフォメーション グラフの一部を視覚化し、シーンの一部に焦点を当てることもできます。

注:

GPU 評価の効率は利用可能なハードウェアに大きく依存するため、ノードが GPU 上に存続しないよう手動でコントロールしなければならない場合があります。

アウトライナを使用して、ノード(またはノード セット)が GPU に存続しないようブロックする各種モードを設定します。

新しいグラフィカル出力オプション
多数のノードを含む大きなシーンで作業する場合、生成されたグラフが大きすぎて読みにくくなります。評価ツールキット(Evaluation Toolkit)グラフィカル出力(Graphical Output)領域(6) GPU のオーバーライド(GPU Override)内)にオプションが追加され、必要な出力を選択できるようになりました。

評価ツールキットの GPU アウトライナ(Outliner)セクションの新しいグラフィカル出力(Graphical Output)セクション

GPU グラフの作成の改善点
  • 隣接ノードが GPU 上にある場合のみ、通過ノードは GPU 上に存在するようになった

  • 十分な数の頂点とノードがある場合にのみ、ダウンロード ポリシーによってダウンロードが許可され、速度低下が防止されるようになった

  • メッシュだけでなく、すべての要求可能なノードからグラフが作成されるようになった

  • groupDownload ブロック ポリシーで特定のグループのダウンロードがブロックされるようになった

  • 通過ノードが除外されるようになった(groupParts 以外)

ダウンロード拒否

ダウンロード拒否ポリシーを無効にする、または無視する 2 つの新しいデバッグ オプション(ダウンロードを許可(Allow Downloads)およびダウンロード拒否を許可(Allow Download Rejectations))が、評価ツールキット(Evaluation Toolkit)デバッグ(Debug)領域(6) GPU オーバーライド(GPU Override)セクション内)に追加されました。

新しい GPU アウトライナ

deformerEvaluator 内のノードを示すアウトライナ(Outliner)ウィジェットが、評価ツールキット(Evaluation Toolkit)6) GPU オーバーライド(GPU Override)セクションに追加されました。

GPU アウトライナ(Outliner)には次の機能があります。
  • エバリュエータ内のノードと、これらのノードをグループ化する方法を表示できます。
  • GPU で評価するノード、CPU へのダウンロードの原因となったノード、および CPU で評価するノードを表示できます。
  • フィルタを使用して、次の条件と一致するノードが表示されるよう制限できるようになりました。
    • ワイルドカード名と一致する
    • メッシュのみに属する
    • GPU でのみ評価する
    • 通過ノードを除外する
    • アップロード/ダウンロードの両方のステータスを表示する
    • ブロック ポリシーが設定されている
    • グループにターゲット メッシュの名前が使用されている
    • ファイルのオープン、新規作成、参照、または読み込みを行うときに更新されるようになりました
右クリックメニューで、ノードの選択、グラフとしてのノードの表示、またはブロック ポリシーの設定を行うことができます。

HUD の更新

ヘッドアップ ディスプレイ(HUD)の GPU オーバーライド情報の精度を高める作業が行われ、GPU 上にある deformerEvaluator のノード数が表示されるようになりました以前は、HUD にはシーン内の頂点の数のみが表示されていました。

新しいデータ ポイントでは、シーン内の頂点の数を示す GPU のオーバーライド(GPU Override)エントリに加えて、GPU 上のノード数とシーン内のノードの総数をスラッシュ(/)で区切って表示しています。例として、上のイメージには「351k [46/184]」と表示されています。これは、シーンの頂点の数が約 351 000 で、deformerEvaluator の 184 個のノードのうち 46 個 が GPU 上にあることを示しています。

並列評価モードの動作の更新

チャネル ボックス アトリビュートをミュートするとシーン グラフの再構築がトリガされる問題を解決しました。

アトリビュート エディタ(Attribute Editor)からのフリーズ(Frozen)オプションの削除

フリーズ(Frozen)は、アトリビュート エディタ(Attribute Editor)ノードの動作(Node Behavior)オプションから除外されました。ノード評価のトラブルシューティングとテストのツールについては、「評価ツールキット(Evaluation Toolkit)」を参照してください。