レンダー > NURBS テッセレーションの設定(Render > Set NURBS Tessellation) > を選択したときの動作を確認するには、これらのオプションを使用します。
オプションを設定する結果:
この方法は、カメラとオブジェクト間の距離が変化するシーン(アニメーション)の中で非常に効果を発揮します。オーバーテッセレーションが避けられるので、メモリ(および時間)を節約し、パフォーマンスを向上させることができます。
この機能は Maya ソフトウェアの NURBS テッセレーション設定のみをサポートします。mental ray のテッセレーション設定はサポートしません。
次のオプションの 1 つを選択します。
選択したサーフェス(Selected Surfaces)またはすべてのサーフェス(All Surfaces)に対して、一度にテッセレーション アトリビュートを変更することができます。既定では選択したサーフェス(Selected Surfaces)がオンに設定されています。
Maya では、レンダー可能なカメラからオブジェクトまでの距離に基づいて自動的に(または手動で)最適なテッセレーション設定が実行されます。
テッセレーション設定を調整するには、手動(Manual)モードに切り替える必要があります。
自動(Automatic)テッセレーション モードを使用する前に、レンダー設定(Render Settings)ウィンドウで適切な解像度を設定します。Maya は解像度(Resolution)の設定を使用して、ニッケリングを避けるのに必要なテッセレーションのレベルを定義します。
テッセレーションは、サーフェスの範囲とカメラからサーフェスまでの距離、自動(Automatic)モード設定に基づいて行われます。
カメラに近いかまたは大きな画面空間を占めているオブジェクトは、自動的に多数の三角形を使ってテッセレーションが追加されます。カメラから離れているかまたは比較的小さいオブジェクトは、三角形の数が少なくなります。
Maya は、サーフェスまたはカメラがアニメートされていると時間の経過に伴って距離が変化することを考慮するため、フレーム レンジの使用(Use frame range)で設定したフレーム範囲に応じてテッセレーションを計算します。テッセレーションはフレーム単位で評価と最適化が行われ、最悪のテッセレーション シナリオ要件が判断されて適用されます。
自動モードでは、テッセレーションが現在のフレームまたはレンダー設定(Render Settings)やタイム スライダからのフレーム範囲に対して計算される可能性があります。
テッセレーションは、手動(Manual)モードで基本(Basic)と詳細設定(Advanced)のどちらを選択しているかによって変わります。これは、各サーフェスでアトリビュート エディタ(Attribute Editor)を開いて設定することもできます。
以下の設定の一部は、手動(Manual)モードの基本(Basic)設定にも表示され、機能します。
自動(Automatic) (既定)モード(Mode)でのみ使用可能です。
自動(Automatic)テッセレーションによって計算されるテッセレーションは、カメラからのサーフェスの距離に応じて異なります。サーフェスまたはカメラがアニメートされる場合、このリレーションシップは時間の経過と共に変化します。
一般には、サーフェスがカメラに最も近いときに、最高のテッセレーション(つまり、三角形の数が最大)が必要になります。カメラに最も近づくのがどのフレームになるかが分かっている場合は、現在のフレーム(Current Frame)を使用します。それ以外の場合は、指定されたフレーム範囲のアニメーションを実行することによって計算が行われ、フレームごとにテッセレーションが評価されて、最適なテッセレーションが得られるようにアトリビュートが設定されます。
Maya のウィンドウの一番左下にあるプログレス バーは、ランナップの進捗状況を表示します。ESC キーを押せば、テッセレーション チェックのためのランナップを中断することもできます。この中断中でも、中断されたフレームまでのテッセレーションの値は設定されており、有効になります。
レンダー設定(Render Settings)ウィンドウ内のフレーム範囲設定が使用されます。
必要に応じタイム スライダを使ってフレーム範囲を調整します。
現在のフレームにとっての最適なテッセレーションをチェックします。
自動(Automatic) (既定)モードでのみ使用可能です。
既定。レンダー可能なすべてのカメラの視点から自動テッセレーションを計算します。
現在選択しているビューからのみ自動テッセレーションを計算します。
テッセレーションのニッケリングをどの程度スムーズにする必要があるかを定義することができます。この設定を調整すると、Maya は弦の高さの比率(Chord Height Ratio)を自動的に設定します。これは、非表示の詳細設定(Advanced)ですが、自動(Automatic) (既定)モードと手動(Manual)モードの両方で自動的に設定されます。
多くの小さなオブジェクトを含むもっと複シーンの場合は、ある程度小さなオブジェクトを低精度(Low Quality)に設定します。(この表は手動モードにだけ適用します。自動モードはカメラからの距離に応じて弦の高さ(Chord Height)を設定します)。
弦の高さの比率(Chord Height ratio) = 0.987。
ニッケリングが発生する可能性がありますが、ポリゴン数が大幅に減少します。弦の高さの比率(Chord Height ratio) = 0.990。
弦の高さの比率(Chord Height ratio) = 0.994。
結果はニッケリングのない非常にスムーズなエッジになります。弦の高さの比率(Chord Height ratio) = 0.995。
ニッケリングをスムーズにせず、テッセレーション用の初期サンプリングだけが行われます。
適切な結果を得るには、これらの設定を調整する前に、曲率許容値(Curvature Tolerance)を調整します。
この設定を調整するときに、Maya は自動的にこの値を 3Dでのサーフェス単位のアイソパラム数(Per Surf # of Isoparms in 3D)で乗算します。これは、非表示の詳細設定(Advanced)ですが、自動(Automatic) (既定)モードと手動(Manual)モードの両方で自動的に設定されます。
この値を大きくすると、作成されるポリゴン数が増えます。U 分割係数(U Division Factor)アトリビュートと V 分割係数(V Divisions Factor)アトリビュートには、ほぼ等しい値を入力する必要があります。
これを使って、オブジェクトの境界に沿った部分のみ、三角形の数を増加させます。これによって、オブジェクト全体のテッセレーション(レンダリング時間が長くなる)を行わずに、エッジをスムーズにしたり、隣接サーフェスが共有するカーブ間のクラックを防ぐことができます。
この比率を大きくすると、エッジがスムーズになり、ポリゴン数が増えます。
エッジに近いサーフェスのカーブ部分に沿ったハイライトでアーティファクトが目立つ場合は、このアトリビュートを使用しないようにしてください。
三角形をサーフェスのエッジに沿ったカーブの領域に追加します。このエッジは NURBS サーフェスの境界であり、U パラメータと V パラメータのどちらかが限界値になっています (この領域は必ずしも、オブジェクトをカメラから見た場合のシルエット エッジとは限りません)。
追加の三角形は基本的にエッジに沿って追加されますが、サーフェス内の T 接合部のクラックを防ぐためにサーフェス内部に追加される場合もあります。
この比率は、テッセレーションされた三角形の長さと境界のカーブの比率です。
三角形の作成に使用される四辺形の 2 つの頂点を入れ替えて、四角形のサーフェス スパンを最適な三角形に分割します。 これは補助的なものですが、リソースが最小限ですみます。
次のオプションの 1 つを選択します。
このオプションを選択すると基本(Basic)設定が表示されます。この設定については、自動(Automatic)モード設定を参照してください。
基本(Basic)設定を調整するとき、Maya は自動的に詳細設定(Advanced) (簡素にするために非表示になっている)を以下のように設定します(詳細については、高度テッセレーション(Advanced Tessellation)設定を参照してください)。
このオプションを選択すると詳細設定(Advanced)が表示されます。この設定については、高度テッセレーション(Advanced Tessellation)設定を参照してください。
手動(Manual)モードで詳細設定(Advanced)オプションが選択されている場合にだけ使用可能です。自動(Automatic) (既定)モードまたは手動(Manual)基本(Basic)モードの曲率許容値(Curvature Tolerance)を最高値に設定したにもかかわらずオブジェクトがまだ十分にスムーズになっていない場合は、これらの設定を使用してテッセレーションをより細かく制御します。
これらは、一次テッセレーション(Primary Tessellation)アトリビュート(一次テッセレーション パスと二次テッセレーション パスを参照)です。これらの設定によって、サーフェスをテッセレーションする方法が Maya に指示されます。U 値と V 値は、NURBS サーフェスの U パラメータと V パラメータの寸法を表わします。これらの値を別々に設定して、サーフェスのそれぞれの方向にテッセレーションを生成することができます。
サーフェス上にあるスパンの数を無視して、1 つのサーフェス上で作成するサブディビジョンの数を指定します。その結果、サーフェス上のアイソパラムの数がスパンの数よりも少なくなります。基本的に、この設定ではすべてが均等に配置されているかのように設定されます。
サーフェス単位のアイソパラム数(Per Surf # of Isoparms)モードと同じですが、(2 次元空間内ではなく) 3 次元空間内でアイソパラムを均等に配置します。このモードは、NURBS をポリゴンに(NURBS to polygons)変換する場合に適しています。このモードでは、他のモードに比べて、三角形がより均等に分散されます。
これが最も一般的なモードです。各スパンをサイズにリレーションシップなく同じ数に細分割します。非常に小さいスパンも非常に大きいスパンと同じ数に細分割されます。レンダー パスの既定設定は 3 です。スパンごとに設定することによって、スパンが一致する結合されたサーフェス間のクラックを防ぐことができます。特に、複数サーフェスでキャラクタを構築する場合に重要です。
NURBS サーフェスの周囲にバウンディング ボックスを作成し、それをスクリーン空間に投影して、スクリーン空間内のピクセル数を計算します。Maya では、この数値に基づいて、サーフェスごとのアイソパラムの数(per surface # of isoparms)を推定します。最大値は 40 です。オブジェクトがスクリーンを占める割合が大きくなるほど、このモードで設定される値も大きくなります。
これは、常にバウンディング ボックスが変化するようにカメラまたはオブジェクトが移動しているアニメーションには適しません。このようにバウンディング ボックスが変化する場合は、結果的にテッセレーションとテクスチャ ジッタが発生します (同様に、ハイライトによる問題も発生する可能性があります)。
複雑な NURBS サーフェスが含まれていてレンダー テッセレーションの表示(Display Render Tessellation)がオンの場合は、この設定では画面の更新に時間がかかる可能性があり、辛抱強く待たなければならないかもしれません。
モード U (Mode U)とモード V (Mode V)に関連する実際値です。
オンにすると、弦の高さ(Chord Height)スライダの値が有効になります。
弦の高さ(Chord Height)、弦の高さの比率(Chord Height Ratio)、最小スクリーン(Min Screen)のいずれかのオプションを使用しますが、これらを組み合わせて使用することはできません。
弦の高さ(Chord Height)は、オブジェクト空間単位を基準にした物理的な長さで、三角形の 1 辺の中心からサーフェスを定義するカーブまでの垂直距離を指します。実際に測定した距離が弦の高さ(Chord Height)値よりも大きい場合は、三角形が再分割されます。三角形が分割されてからもう一度同じ条件でチェックされ、条件が満たされるまで処理が続行されます。弦の高さ(Chord Height)はオブジェクト空間(Object Space)内で測定されます。既定値は 0.1 です。
弦の高さ(Chord Height)は既定の単位を基準にしますが、小さなモデル上の弦の高さ値はもっと小さくなる可能性があるため、非常に小さなモデルの場合は必ずしもうまく機能するとは限りません。
弦の高さ(Chord Height)が計算されるときに 0.1 を超える大きさのものについては、Maya が三角形を分割して再計算します。すべての三角形がこの条件を満たすまで、同様の分割が行われます。弦の高さが小さくなるほど、サーフェス上のカーブに対する三角形の近似精度は高くなります (このオプションは、プロトタイプに対するモデルの近似精度が重視される工業デザインなどに適しています)。
モデルのサイズをあまり小さくしないでください。弦の高さ(Chord Height)はオブジェクト空間(Object Space)内で測定されます。非常に小さいスケールで作成したモデルを拡大しても、弦の高さはワールド空間(World Space)ではなく常にオブジェクト空間を基準として計算されます。したがって、小さいオブジェクトの場合は、弦の高さの条件を満たすための処理(三角形の分割)コストが非常に高くなる可能性があります。小さいオブジェクトやスケールされたオブジェクトの場合は、弦の高さの比率(Chord Height Ratio)を選択してください。
実際の NURBS サーフェスからテッセレーションされたスパンの中心までの最大距離を指定します。
オンにすると、弦の高さの比率(Chord Height Ratio)スライダの値が有効になります。
スパンの中心から実際の NURBS サーフェスまでの距離(弦の高さ(Chord Height) =d)と、そのスパンの長さ(D)との比(d/D)を計算し、1 からその比を差し引いた値(1 - d/D)の最大許容値を指定します。
弦の高さ(Chord Height) (d)と、三角形がサーフェスと交差する 2 点間の距離(D)との比(d/D)を計算し、1 からその比を差し引きます(次の式を参照)。
Chord Height Ratio = 1 - d/D
弦の高さの比率(Chord Height Ratio)の値を 0.997 以上にすると、非常にスムーズなサーフェスが作成されます。既定値は 0.9830 で、D と比べて d が非常に小さくなっています(0.9830 = 1 - d/D)。この値が 1 に近くなるほど、三角形はサーフェスにフィットします(アニメーションではこれが最もよく使用されます)。
オンにすると、最小スクリーン(Min Screen)ボックスが有効になります。
テッセレーションの基準を最小画面サイズ(既定は 14 ピクセル)にします。テッセレーション中に作成されるすべての三角形が、この画面サイズに収まるようにする必要があります。収まらなければ、収まるまで再分割されます。このオプションは、静止画に対し て 11.0 未満の設定が適しています。このオプションをアニメーションに使用することはお勧めできません。これは、オブジェクトの移動に伴ってテッセレーションが変化し続けると、特定のピクセルに対するシェーディングがフレームごとに異なるテッセレーションを処理することになり、テクスチャのジッタやジャンプを引き起こすためです。
複雑な NURBS サーフェスが含まれていてレンダー テッセレーションの表示(Display Render Tessellation)がオンの場合は、この設定では画面の更新に時間がかかる可能性があり、辛抱強く待たなければならないかもしれません。
サーフェスのカメラからの距離に基づき、必要なテッセレーションの量を画面空間を使用して判断しながら、テッセレーションを実行します。
すべての三角形が、指定した領域内にぴったり収まっていなければなりません。既定は 14 ピクセルですが、これはすべての三角形が画面上の 14X14 ピクセル領域内にピッタリと収まらなければならないことを意味します。この条件を満たしていない三角形は、指定された領域内に収まるまで繰り返し分割されます。この値を小さくするほど、条件に合致する三角形は小さくなります。この値を小さくすると、メモリの使用量が大幅に増加する可能性がありますので注意してください。