On this page |
概要 ¶
このノードは、入力サーフェスと同じ形状で四角形(4辺のポリゴン)メッシュを構築しますが、四角形として、もっとエッジの流れが良い感じになるようにします。
ポリゴンのターゲット数が多いほど、出力の形状は入力の形状により近く一致するようになります。 下図の例では、左側の入力モデルは1,600万ポリゴン、右側の出力は15,000枚の四角形です。
要するに、ターゲットの四角形の数を増やすと、四角形メッシュの解像度が上がります。
Note
このノードは、ターゲットの四角形の数に応じて動作するので、モデル内のポリゴン数も 増やしてしまう 場合があります。
内部の挙動 ¶
このノードが内部で行なっている事を理解しておくと、このノードのオプションと出力を使用するのに役立ちます。 技術的な観点で言うと、このノードは、入力ジオメトリ全体に対してグローバルパラメータリゼーションを計算し、そのグローバルパラメタリゼーション内で整数格子線を引くことで、四角形メッシュを抽出しています。
-
内部的には、このノードは、サーフェス上のエッジの流れの方向を表現した
方向フィールド
を構築します。これは、何かしらの制約が適用される前の出力内でエッジがどのようにレイアウトされるのかを示した下書きです。 このフィールド内の方向がグローバルパラメタリゼーション内の整数ラインに平行になっている領域は、滑らかな正四角形として出力されます。ビューアの上部にあるこのノードのオペレーションツールバーの Field トグルを有効にすると、その方向フィールドを表示することができます。
-
サーフェス全体が滑らかなることはあり得ないです。いくつかのポイントで、異なるエッジの流れがお互いにぶつかり、その周辺の方向が収束したり、発散したり、交差したりするポイントがサーフェス上に現れることになります。 このようなポイントのことを 特異点(Singularity) と呼びます。
ビューアの上部にあるこのノードのオペレーションツールバーの Field Singularities を有効にすることで、その特異点を表示することができます。
-
特異点は、このノードがサーフェスをUV平面上に展開(Unwrap)した時にできるコーナーを指しています。このノードは、それらの特異点間に 継ぎ目(Seam) を作成します。この継ぎ目は、その展開されたUVサーフェスの境界をカットします。
ビューアの上部にあるこのノードのオペレーションツールバーの Seams を有効にすることで、その継ぎ目を表示することができます。
-
このノードは、UV空間全体に線を引いて、新しい四角形メッシュレイアウトを作成します。このノードがどのようにエッジをレイアウトし、そのレイアウトがどの程度まで変更できるのか、その最大の制約の1つは、エッジの流れが継ぎ目(UV空間に展開されたサーフェスの境界)に沿って連続していなければならないことです。
方向フィールドのビジュアライゼーションと最終出力の四角形を比較すれば、違いが生じる主な原因は通常では、継ぎ目全体で連続性が維持されている必要があることが分かります。
-
通常では、特異点は出力メッシュでは 異常な頂点 (接続されたエッジの数が4より少ない、または、多い頂点)になります。
出力の調整 ¶
このノードは、最終結果に対してあまり多くのコントロールをすることができませんが、以下のパラメータを使用して出力を調整することができます。
-
Decimation Level(間引きレベル) を調整すると、異なる結果を得ることができます。入力の解像度が高い場合、削減レベルを高くすることで、よい結果が得られます。
-
Alignment Weight パラメータは、より滑らかなエッジの流れを得たいのか、それとも、エッジの流れにおけるサーフェスの曲率を維持したいのか、どちらを優先にするのか決めることができます。 Alignment Weight を上げると、特異点の数が増えます。
-
出力のトポロジーに影響を与えるオプションがいくつかあります。例えば、Symmetryタブ上のパラメータやGuide Attributeパラメータは、このノードによるパラメータリゼーションの検索を制限します。 もっと制約を追加したり、ガイドのウェイトを下げると、すべての制約を満たす解を求めるのが難しくなり、結果の四角形メッシュに与える影響が弱くなります。
-
一度このノードが内部的にパラメタリゼーションを生成してしまえば、出力の解像度を変更するのが非常に高速になります。
-
Symmetry タブ上のパラメータは、入力モデルの対称平面を指定することができます。このノードは、その対称平面の片側のみをリメッシュし、(オプションで)その反対側にそのリメッシュしたサーフェスをミラーします。
制限事項 ¶
このノードは、まだ開発段階にあります。 このノードは特定の用途で役に立ちますが、現在の“ベータ”段階では制限事項がいくつかあります。
-
現在のところ、エッジの流れに対して(例えば、ブラシングやラインの描画で)インタラクティブに影響を与える方法がありません。 ただし、手動でポリゴン上にベクトルアトリビュートをセットアップすることで、エッジの流れに何かしらの影響を与えることはできます。 Alignment タブ上のGuide Attributeパラメータを参照してください。
-
現在のところ、このノードは、鋭いエッジを持つハードサーフェスに弱く、有機的な形状に強いです。 このノードは、出力においてその鋭いエッジを丸めてしまいます。
-
現在のところ、 Symmetry オプションを使用すると、対称平面沿いの継ぎ目は、3D空間内で直線になりますが、UV空間では必ずしも直線になるとは限りません。 これが原因で、エッジがその対称線に平行にならずぶつかってしまう可能性があります。 Symmetry Plane Alignment パラメータを上げることで、エッジの流れを対称平面近くに寄せることができます。
-
このノードで生成される平坦化されたUVが非常に複雑になる可能性があります。これが原因で出力にアーティファクトが発生する可能性があります。
-
現在のところ、このノードは、小さなディテールをもっと上手くキャプチャできるように四角形のサイズを調整するというのはしなくて、均一サイズの四角形を生成します。
ツールバー ¶
ネットワークエディタ内でQuad Remeshノードを選択し、ビューアの左側にある Handlesツールをクリック、または、ビューポート内でEnterを押すると、Quad Remeshツールを利用することができます。
現在のところ、このツールはビューポート操作に対応していません(パラメータエディタを使用してノードの挙動を変更します)が、ビジュアライゼーションの設定をすることができます。 このビジュアライゼーションの設定によって、このノードがどのように出力を生成するのか、このノードが処理で困難な入力モデル内の箇所を把握するのに役立ちます。
オペレーションツールバーのコントロールを使用して、ビジュアライゼーションオプションを制御することができます これらのビジュアライゼーションに関する情報は、内部の挙動を参照してください。
オプション |
説明 |
Global Parameter |
有効にすると、このノードは、モデル全体にグローバルパラメータラインを暗い線で描画します。 このグローバルパラメータラインは、出力サーフェスのエッジループの方向に影響を与えますが、出力解像度に依存しません。 |
Seams |
有効にすると、このノードは、モデル全体にグローバルパラメータリゼーションの継ぎ目を明るい色の線描画します。 |
Field Singularities |
それぞれの特異点のおおよその位置にドットを表示します。 赤いドットは、プラスのインデックスを持つ特異点を示し、 青いドットは、マイナスのインデックスを持つ特異点を示します。 |
Field |
このノードのビューポートステートが有効な時、ジオメトリ上にフィールドを表示します。 マルチベクトルフィールドを表示する時、最初のインスタンスのベクトルフィールドが赤、他のベクトルフィールドが青で表示されます。 |
Field Scale |
フィールドベクトルの現在のビューイングスケールを任意の係数で再スケールします。 デフォルト値は |
Guides |
アトリビュートで指定されている非ゼロのガイドベクトルを表示します。 これは、このQuad Remeshで使用されている生成フィールドとガイドを比較するのに役立ちます。 |
Guide Scale |
ガイドベクトルの現在のビューイングスケールを任意の係数で再スケールします。 デフォルト値は |
パラメータ ¶
Group
このノードが影響を与えるジオメトリを選択するグループの名前、または、プリミティブ番号のリスト/パターン。 ここを空っぽのままにすると、このノードは、入力内の閉じたポリゴンすべてに影響を与えます。
Topology ¶
Decimation Level
このノードの入力は、通常では、スキャンデータなどの高解像度サーフェスであり、このノードが必要とする以上の情報を含んでいます。
このパラメータは、再メッシュ化する前にその入力のポリゴン数を削減します。
入力ポリゴンを削減することで、再メッシュ化が大幅に高速化され、その削減された入力はノイズが少なくなるので、たいていの場合では、その出力のエッジの流れが改善されます。
デフォルトは2
です。
この値を上げるほど、ポリゴン数が削減されます。
( Alignment タブにある) Guide Attribute または Mask Attribute を指定すると、このノードは、そのアトリビュート値がゼロでないフェースを削減しなくなります。
Output
このノードの出力を制御します。
Extracted Mesh は、リメッシュされた四角形サーフェスを出力します。
Global Parameterization は、パラメータリゼーションが格納されたuv
頂点アトリビュートを持つ三角形メッシュを出力します。
この三角形メッシュは、 Decimation Level によって、後で削減されます。
Resolution Mode
四角形メッシュの解像度とグローバルパラメタリゼーション全体のスケールを制御するのに使用するメソッドを選択します。
Target Quad Count: 出力サーフェスに持たせたいポリゴン数を指定します。
Target Quad Area: 平均の四角形面積が指定した面積測定値よりも小さい箇所に四角形メッシュを生成します。
Target Tolerance: 四角形プリミティブの中心から入力メッシュまでの平均距離が指定した許容値よりも小さい箇所に四角形メッシュを生成します。
Relative Scale と Absolute Scale: Decimation Levelで間引かれたメッシュ内の三角形の平均面積を基本解像度として四角形メッシュを生成します。 入力が複数の非接続コンポーネントで構成されていた場合、 Relative Scale モードでは、それぞれのコンポーネントから三角形の平均面積が計算されるのに対して、 Absolute Scale モードでは、すべてのコンポーネントから三角形の平均面積が計算されます: Relative Scale または Absolute Scale のどちらかを使用する時、 Resolution Scale によって、画像サイズを均一に増減させるのと同様に、メッシュ解像度を増減させることができます。 また、これは四角形メッシュのグローバルサブディビジョンリファインメントと同様です。
Resolution Source
Resolution Mode で Absolute Scale を使用した場合、三角形の面積がグローバルパラメタリゼーションのスケールの基準として使用されます。
Auto: 適切な三角形の面積の採択を試みます。
Triangle Area: 独自に三角形の面積を指定することができます。三角形のサイズに影響を与える Decimation Level などのパラメータを変更すると入力メッシュが変更されるので、解像度を安定させるには、 Triangle Area を指定した方が良いです。
Triangle Area
Resolution Source に Triangle Area オプションを選択した場合、ここではその三角形の面積を指定します。
Note
Triangle Area パラメータには、底が2の対数でないと解像度が変わりません。
Symmetry ¶
Center
入力モデル内の対称平面(s)の原点。
X
モデルをX軸に対称なモデルとして扱います。 ( Center を基準に)入力の+X側または-X側のどちらをリメッシュするのか選択することができます。
Y
モデルをY軸に対称なモデルとして扱います。 ( Center を基準に)入力の+Y側または-Y側のどちらをリメッシュするのか選択することができます。
Z
モデルをZ軸に対称なモデルとして扱います。 ( Center を基準に)入力の+Z側または-Z側のどちらをリメッシュするのか選択することができます。
Mirror Output
Symmetry Direction セクションのどれかのパラメータが有効な時、これは、出力においてその対称平面の反対側にリメッシュされた片側モデルを自動的にミラーリングします。 無効にすると、出力には、その対称平面のリメッシュされた片側モデルのみが含まれます。 リメッシュされたモデルをさらに処理した後に手動でミラーリングしたい場合、または、ミラーリングする必要がまったくない場合は、これを無効にすると良いでしょう。
Consolidate Seam
Mirror Output が有効な時、このノードは、対称平面に沿って片側ともう片側の2つのモデルのポイントがこの距離より近い場合は、それらのポイントを結合します。 ポイントは、ミラーリングに呼応するポイントとのみ結合されます。
Alignment ¶
このノードは、接線フィールドを使用して、四角形メッシュのエッジの流れをガイドします。 以下のパラメータを使用して接線フィールドを制御することで、生成されるエッジの流れの整列具合をカスタマイズすることができます。 何も整列用ガイドがなかった場合(すべてのAlignment系パラメータが0に設定されている場合)、このノードは、サーフェス上に最も滑らかなフィールドを生成します。 整列基準は、サーフェス曲率、境界方向、オプションでユーザ指定のガイドベクトルを表現したプリミティブ毎のベクトルのウェイトによる組み合わせです。 これら3つのベクトルコンポーネントは、独立したチャンネルであり、それらが混合されます。
Include Boundary Edges
出力される四角形メッシュの境界を維持します。
Field
フィールドをポリゴンフェースまたはポリゴンエッジのどちらから生成するのか决めます。
Weight
整列基準と接線フィールドの全体的な滑らかさのバランスを指定したウェイト。 このウェイトを上げるとフィールドがより整列するようになるのに対して、下げるとフィールドがより滑らかになります。 使用する値の範囲は0から1です。
Note
フィールドをより整列させることで、四角形メッシュ内には飛び抜けた頂点が多く取り込まれてしまいます。
Mask
接線フィールドをより密接に整列させたいエレメントのウェイトを示した浮動小数点のアトリビュートを指定します。 使用する値の範囲は0から1です。
Symmetry Plane Alignment
対称平面を使ってエッジの流れの整列を制御します。 値が大きいほど、対称平面方向がエッジの流れに与える影響力が強くなります。 使用する値は、0以上です。
Enable
整列基準全体に対する曲率寄与を有効にします。
Weight
生成されるフィールドに影響を与える曲率方向の強さ。 使用する値は0以上です。
Mask
生成されるフィールドに影響を与える際に曲率フォースとして適用されるプリミティブ毎のスカラーウェイト。 値が大きいほど、曲率方向に整列するようになるのに対して、値が小さいほど曲率方向への整列が緩くなります。 使用する値は0以上です。
Rotation
フィールド整列のすべての曲率寄与に適用されるオプションの回転。 使用する値の範囲は-180度から180度です。
Enable
整列基準全体に対する境界寄与を有効にします。
Mode
境界寄与を包含的または排他的のどちらで適用するのか定義します。
Add: 境界ベクトルが曲率ベクトルとガイドベクトルに結合されます。
Over: 境界ベクトルが曲率ベクトルを上書きします。
Weight
生成されるフィールドに影響を与える境界接線の強さ。 使用する値は0以上です。
Mask
生成されるフィールドに影響を与える際に境界フォースとして適用されるプリミティブ毎のスカラーウェイト。 値が大きいほど、境界方向に整列するようになるのに対して、値が小さいほど境界方向への整列が緩くなります。 使用する値は0以上です。
Rotation
フィールド整列のすべての境界寄与に適用されるオプションの回転。 使用する値の範囲は-180度から180度です。
Enable
整列基準全体に対するカスタムガイド寄与を有効にします。
Mode
ガイド寄与を包含的または排他的のどちらで適用するのか定義します。
Add: ガイドベクトルが曲率ベクトルとガイドベクトルに結合されます。
Over: ガイドベクトルが曲率ベクトルと境界ベクトルを上書きします。
Weight
生成されるフィールドに影響を与えるガイドベクトルの強さ。 使用する値は0以上です。
Mask
生成されるフィールドに影響を与える際にガイドフォースとして適用されるプリミティブ毎のスカラーウェイト。 値が大きいほど、ガイド方向に整列するようになるのに対して、値が小さいほどガイド方向への整列が緩くなります。 使用する値は0以上です。
Attribute Name
ガイドアトリビュートの名前。 このガイドアトリビュートは、フィールドをガイドするポイントまたはプリミティブに非ゼロベクトルを割り当てるvector3型のアトリビュートでなければなりません。 このノードは、ゼロベクトル値を無視します。 ガイド値がゼロでないポイントまたはプリミティブに割り当てられる出力方向は、入力値と完全に一致しない場合があり、その大きさも異なります。
Note
Quad Remeshステートでは、生成されたフィールドとガイドベクトルを比較することができます。
Examples ¶
QuadRemeshBasicExample Example for Quad Remesh geometry node
このサンプルでは、プロシージャルにモデリングされたボリュームメッシュに対してQuad Remeshノードを使用してリトポロジーをする方法を説明しています。
QuadRemeshGuidingExample Example for Quad Remesh geometry node
このサンプルでは、Quad Remeshノードでエッジフローをガイドするためのいくつかの方法を説明しています。
See also |