OpenSubdiv モディファイヤ

OpenSubdiv モディファイヤは、メッシュ オブジェクトの再分割とスムージングを実行します。また、下にあるスタック エントリから折り目値を読み込み、それらを修正されたオブジェクトに適用します。

[一般コントロール](General Controls)ロールアウト

反復
メッシュを再分割する回数。指定できる範囲は 0 ~ 6 です。
レンダリングの反復
レンダリング時にメッシュを再分割する回数。設定を反映させるには、このチェックボックスをオンにする必要があります。指定できる範囲は 0 ~ 10 です。
Iso ラインを表示
オンになっていて、エッジが表示されている場合(エッジ面がアクティブとして表示されているなど)は、元のオブジェクトのエッジのみが表示されます。オフにした場合は、再分割によって生成されたエッジを含めて、すべてのエッジが表示されます。
操作モード
修正されたオブジェクトをシェーディングされたビューポートに表示する方法が指定されます。レンダリングされた出力には影響しません。
  • [メッシュ出力](Mesh Output) サブディビジョンの処理に CPU のみを使用して、サブディバイドされたオブジェクトを標準メッシュとしてビューポート内に表示します。
  • [GPU 表示](GPU Display) 互換性がある場合、ディスプレイカードの GPU を使用して、サブディバイドされたオブジェクトをビューポートに表示します。再分割されたモデルが非常に高い解像度で、ビューポートのフィードバックを遅くしている場合は、[GPU 表示](GPU Display)を使用します。

    この[GPU 表示](GPU Display)オプションを使用すると、大抵の場合、[メッシュ出力](Mesh Output)モードよりも大幅に高速になります。特に、このモードを使用すると、[アダプティブ サブディビジョン](Adaptive Subdivision)オプションが有効になり、非常に細かく分割されたメッシュを使ってインタラクティブなモデリングが可能になります(以下を参照)。考えられる制限事項をいくつか次に示します。

    [GPU 表示](GPU Display)モードの使用に関する制限:

    • 変更されたオブジェクトのシャドウやテクスチャ マップの表示はサポートされていません。
    • 変更されたオブジェクトは、OpenSubdiv モディファイヤのスタック レベルでメッシュを使用して表示されます。OpenSubdiv モディファイヤより上のオブジェクト ジオメトリ(ベンドやツイストなど)を変更するモディファイヤの出力は、ビューポートに表示されません。
    • ディスプレイカードが DirectX 11 をサポートしていて、適切な能力を備えている必要があります。GPU が低速である場合、[GPU 表示](GPU Display)モードを使用しても、期待された速度が実現しない可能性があります。また、たとえばビット マップの表示など、シーンが GPU リソースを共有している場合も、パフォーマンスが低下する可能性があります。

[OpenSubdiv コントロール](OpenSubdiv Controls)ロールアウト

頂点
境界エッジとコーナー頂点の補間方法をコントロールします。
  • [補間済みエッジ](Interpolated Edges) エッジはスムージング後もシャープなままです。コーナーはすべてスムーズ化されます。
  • [補間済みエッジとコーナー](Interpolated Edges and Corners) エッジと 2 エッジ コーナーはスムージング後もシャープなままです。

左: 補間済みエッジ、右: 補間済みエッジとコーナー

UV 境界
境界 UV にスムージングを適用する方法をコントロールします。次の図に、[UVW アンラップ]モディファイヤ エディタでスムージングされた上記のメッシュを示します。
  • [バイリニア(なし)](Bilinear (None)) UV はスムージングされません。
  • [スムーズ(エッジのみ)](Smooth (Edge Only)) UV およびコーナーがスムージングされます。エッジはスムージング後もシャープなままです。
  • [スムーズ(エッジおよびコーナー)](Smooth (Edge & Corner)) UV がスムージングされます。エッジおよび 2 エッジ コーナーはスムージング後もシャープなままです。
  • [スムーズ(常にシャープ)](Smooth (Always Sharp)) オンにした場合は、不連続な境界上にない頂点の近くの面が変化するデータ(UV とカラーセット)がスムージングされます。不連続な境界上の頂点は、シャープ ルールで再分割されます(それでも補間はされます)。
コーナーを伝達
オンにした場合は、元のメッシュからの面が変化するデータ(UV とカラー セット)が、スムーズ メッシュ プレビューのコーナーに適用されます。
三角形をスムーズ
オン(既定値)にした場合は、三角形をよりスムーズに再分割するメッシュにサブディビジョン ルールが適用されます。
折り目
再分割中に折り目がどのようにスムージングされるかをコントロールします。
  • [標準](Normal) 折り目にスムージングが適用されません。
  • [Chaikin] インシデント エッジのシャープネスを補間し、セミシャープな折り目を生成します。折り目のエッジを再分割した後、作成されたエッジのシャープネスは、Chaikin のアルゴリズムを使用して決定されまます。

    この方法では、エッジの重みが異なる複数のエッジの折り目の外観が向上します。

次の図では、6 つのエッジの[折り目](Crease)の値が左側の 0.1 から右側の 1.0 に値に増加しています。上のイメージは[折り目](Crease)を[標準](Normal)に設定してレンダリング、下は[折り目]を[Chaikin]に設定してレンダリングしたものです。後者のオプションは階段状のギザギザを効果的にスムージングします。

アダプティブ サブディビジョン グループ

アダプティブ サブディビジョンは、ビューポート内のメッシュを表示距離またはズームレベルに基づいてインタラクティブにサブディバイドするモデリング ツールです。[GPU 表示](GPU Display)操作モードでのみ動作し、基本的には、より大きい距離で少ないサブディビジョンを使用して、メッシュのクローズアップを表示する際により優れたサブディビジョンを提供します。そのため、大きい複雑なメッシュをモデリングしている場合、作業中の部分の解像度だけを向上して、その他の部分の解像度を上げないことで、コンピュータの速度をできる限り遅くならないようにします。

アダプティブ サブディビジョンは GPU を使用しているため、通常のサブディビジョンを使用するよりもはるかに高速です。そのため、アダプティブ サブディビジョン モードを使用してメインの[反復](Iterations)値を 1 に設定して、リアルタイムのフィードバックのためのクローズアップ モデリングを実行できます。その後、レンダリングするときに、アダプティブ サブディビジョンでビューポート内に取得した結果に合わせてメインの[反復](Iterations)値を増やすことができます。

次のビデオは、アダプティブ サブディビジョンを使用例を示します。前半部分では、[アダプティブ サブディビジョン](Adaptive Subdivision)をオフにして、OpenSubdiv モディファイヤによって適用されたサブディビジョンが一定になるように、ビューポートが拡大/縮小ズームされています。後半部分では、[アダプティブ サブディビジョン](Adaptive Subdivision)をオンにして、ズーム レベルの変更に応じてサブディビジョン レベルがインタラクティブに変化する様子を確認することができます。同じことが視距離の変更にも適用されます。

アダプティブ
オンにすると、メッシュはアクティブなビューポートを視距離および[最大反復](Max. Iterations)の値に基づく範囲でサブディバイドします。[一般コントロール](General Controls)ロールアウトで[GPU 表示](GPU Display)がアクティブになっている場合にのみ使用できます。
最大反復
アダプティブ サブディビジョンで取得可能なサブディビジョンの最大レベル。サブディビジョンの実際のレベルは、オリジナル メッシュの サブディビジョン、[一般コントロール](General Controls)ロールアウトの[反復](Iterations)の値、視距離またはズーム レベルなど、複数の追加の要因によって決まります。

[メッシュ コントロール](Mesh Controls)ロールアウト

更新オプション
[反復](Iterations)などの設定を変更した後に、再分割されたメッシュをいつ更新するかを指定します。
  • [常時](Always) 設定を変更した後、即座にメッシュが更新されます。
  • [レンダリング時](When Rendering) シーンをレンダリングしたときにメッシュが更新されます。
  • [手動](Manually) [更新](Update)ボタンをクリックしたときにのみメッシュが更新されます。
更新
前回の更新以降の変更を反映するためにメッシュを更新します。[レンダリング時](When Rendering)と[手動](Manually)の設定に適用されます(上記参照)。