On this page |
通常では、曲線でサーフェスの形状を定義してから、それらの曲線間にスキンサーフェスを作成します。 しかし、2つのサーフェス間にスキンサーフェスを作成することもできます。その場合、Skinは2つのサーフェスのエッジ間に4枚のサーフェスを作成します。
すべてのフェース/サーフェスのタイプは、入力にフェース/サーフェスのみを含んでいる限り有効です。 異なるフェースタイプを1枚のサーフェスにスキン化することができます。 例えば、開いた3次NURBSカーブ、ポリゴン、閉じた5次Bezierカーブが、制御頂点の数が異なっていても、スキン化することができます。 同様に、このノードは、異なるタイプ、異なる縦の列の数、異なる横の列の数など、そのようなサーフェスの境界カーブをスキン化することができます。
フェースタイプが入力の時、入力ノードの数と各入力内のフェースの数でスキン化の方法が決まります。 入力が1つしか存在しないなら、断面を通るスキンを作成することで、"線形スキニング"オペレーションが実行されます。 その結果のサーフェスは、典型的なルールドサーフェス(断面間を直線で結んで構成されるサーフェス)またはスキンサーフェスになります。 2番目の入力が存在すれば、1番目の入力(U断面)内のフェースと2番目の入力(V断面)内のフェース間で交差スキンを計算することで、"バイリニアスキニング"オペレーションが実行されます。 その結果のサーフェスは、各方向での断面の数に由来した名前のサーフェスになります。例えば、三角形、四角形、複数境界サーフェス、さらに特別な場合でスイープサーフェス、N-railsなど。 可能であれば、断面がアイソパラムとして補間されます。
スキンの接線をもっと制御したい場合は、代わりにBridgeノードを試してみてください。
Tip
どのジオメトリタイプの断面曲線にでもスキンサーフェスを作成することができます。
Tip
パラメータエディタの Preserve Shape をオンにすると、サーフェスの滑らかさが犠牲になりますが、できるだけスキン化したサーフェスが断面曲線に近くなるように合わせられます。
Tip
悪い順番が原因でスキン化したサーフェスに問題があれば、Skinノードの前にSort SOPを挿入して、法線で並べ替えます。
Loftの使い方
Skinの使い方
サーフェスのタイプ
一枚の境界サーフェス
一つの開/閉フェースをフェースの形状に正確に一致した境界のサーフェスに変換します。 基本的には、このオペレーションはフェースに対して内部領域を構築します。 サーフェスタイプはフェースのタイプと同じになります。例えば、NURBSカーブからNURBSサーフェスが生成されます。 カーブが凹状態(内角が180度を超えた状態)になるほど、期待した通りの結果にならなくなります。
パッチ
2つの境界フェースは、ルールドサーフェス(断面間を直線で結んで構成されるサーフェス)を定義します。 2つのフェース上の矢印は、必要なパラメトリック方向を意味します。この矢印が両方のフェースで同じ方向でないと、サーフェスに捻れが発生してしまいます。 Primitive SOPまたはReverse SOPを使えば、この問題を修正することができます。 サーフェスタイプは、2つの断面間で最も複雑なタイプの断面と同じタイプになります。 例えば、ポリゴンとNURBSのカーブを一緒にスキン化すると、サーフェスタイプはNURBSになります。 サーフェスは常に境界内で2つのフェースを含みます。
線形ルールドサーフェス/スキンサーフェス
2つ以上のフェースを一枚のサーフェスに線形的にスキン化します。 フェース上の矢印は、必要なパラメトリック方向を意味します。この矢印がすべてのフェースで同じでないと、サーフェスに捻じれが発生してしまいます。 Primitive SOPまたはReverse SOPを使えば、この問題を修正することができます。 サーフェスタイプは、すべての断面間で最も複雑なタイプの断面と同じタイプになります。 例えば、ポリゴンとNURBSのカーブを一緒にスキン化すると、サーフェスタイプはNURBSになります。 サーフェスは、"Preserve Shape"がオンであれば各断面を通過します(以下のパラメータを参照)。 断面がポイントを繰り返した場合や断面間でポイントを共有していれば、"Preserve Shape"がオンの時には、その結果のサーフェスの見た目はあまりよくありません。
特別なスイープサーフェス
この場合は、バイリニアスキンを実行するので2つの入力が必要です。 Uフェース(1番目の入力)をVフェース(2番目の入力)に沿わせます。 2つのフェースは、端点で接触している必要はありません。端点が同じであれば、サーフェスの境界の2つの端点が2つのフェースに正確に一致します。 サーフェスタイプは、2つのフェース間で最も複雑なタイプのフェースと同じタイプになります。 例えば、ポリゴンとBezierのカーブを一緒にスキン化すると、サーフェスタイプはBezierになります。
三角形サーフェス
この場合は、バイニリアスキン用に2つの入力が必要です。1つの入力は2つのフェースを持ちます。もう1つの入力は1つのフェースだけを持ちます。 フェースの端点を一致させる必要はありませんが、一致していれば、サーフェス境界がフェースの形状に正確に一致します。 基本的には、3つのフェースで内部領域を定義して、サーフェスを埋めます。 サーフェスタイプは、3つの境界フェース間で最も複雑なタイプのフェースと同じタイプになります。 例えば、フェースがBezierとNURBSのカーブであれば、サーフェスはNURBSプリミティブになります。
四角形サーフェス
4つのフェースがサーフェスの外側の境界を定義します。この場合は、バイリニアスキン用に2つの入力が必要です。2つのU境界(1番目の入力)をV境界(2番目の入力)で断面をスキン化します。 フェースの端点を一致させる必要はありませんが、一致していれば、サーフェス境界がフェースの形状に正確に一致します。 基本的には、4つのフェースで内部領域を定義して、サーフェスを埋めます。 サーフェスタイプは、4つの境界フェース間で最も複雑なタイプのフェースと同じタイプになります。 例えば、フェースがポリゴンとNURBSのカーブであれば、サーフェスはNURBSプリミティブになります。
特別なM-rails
1つの入力にはレールを、他の入力には断面を含めます。 その断面がレールに沿うことでサーフェスが生成されます。 フェース上の矢印は、必要なパラメトリック方向を意味します。この矢印がすべてのフェースで同じでないと、サーフェスに捻じれや反転が発生してしまいます。 Primitive SOPまたはReverse SOPを使えば、この問題を修正することができます。 サーフェスタイプは、レールと断面のうち最も複雑なタイプと同じになります。 例えば、フェースがポリゴンとNURBSのカーブであれば、サーフェスはNURBSプリミティブになります。
Multiple-Boundary Surface
N項パッチと混同しないでください。このケースでは、UV内に内部断面を増やすことで、四角形サーフェスの方法を適用します。 内部断面が存在しない場合、このサーフェスは四角形サーフェスになります。 サーフェスは、境界と内部断面をすべて補間します。 その結果、フェースが交差してもサーフェスが改善されます。 フェース上の矢印は、必要なパラメトリック方向を意味します。この矢印がすべてのフェースで同じでないと、サーフェスに捻じれや反転が発生してしまいます。 Primitive SOPまたはReverse SOPを使えば、この問題を修正することができます。 サーフェスタイプは、すべてのフェース間で最も複雑なタイプのフェースと同じタイプになります。 例えば、フェースがポリゴンとNURBSのカーブであれば、サーフェスはNURBSプリミティブになります。
パラメータ
U Cross-sections
U断面で使用するグループを選択します。
V Cross-sections
V断面で使用するグループを選択します。
Connectivity
スキンサーフェスの構築方法。
Preserve Shape
境界カーブの形状の保持を試みます。
V Wrap
V方向にサーフェスをラップします。
Use V Order
V方向のスプラインの階数(次数+1)を指定します。
V Order
V方向のスプラインの階数(次数+1)。
Skin
境界カーブを無視する方法。
N
無視する境界カーブを指定します。
Keep Primitives
入力ジオメトリを保持します。
Output Polygons
すべてのメッシュジオメトリをポリゴンに変換します。
Examples
SkinBasic Example for Skin geometry node
このサンプルでは、1つの入力の円を複数コピーして配置した円や、2つのジオメトリタイプが違う円の間を通過するサーフェスをSkin SOPで作成する方法を説明しています。
SkinCurves Example for Skin geometry node
このサンプルでは、Skin SOPを使って、1本のカーブにサーフェスを作成する方法、6本のカーブに対して2本のカーブ毎にサーフェスを作成する方法、三角状に配置された3本のカーブに対してサーフェスを作成する方法を説明しています。
SkinShip Example for Skin geometry node
このサンプルでは、宇宙船の作成でSkin SOPを使用する方法を説明しています。
最初にCurve SOPでカーブを作成します。 次に、Skin SOPで個々のカーブを指定してサーフェスを作成します。
SkinSurfaceCopies Example for Skin geometry node
このサンプルでは、Skin SOPを使って新しくサーフェスを作成する方法を説明しています。
ここでは、トーラスからサーフェスを抽出し、それを複数コピーして、それらのサーフェスを通過するスキンを作成しています。
The following examples include this node.
CopyAnimation Example for Copy channel node
このサンプルでは、Copy CHOPを使って、チャンネルをコピーして、それらのチャンネルをジオメトリに適用する方法を説明しています。
CountImpacts Example for Count channel node
このサンプルでは、Count CHOPを使って、DOPシミュレーションのインパクトを数える方法を説明しています。
このサンプルでは、Count CHOPの値を使って、ティーポットのコピーを生成します。
Lookup Example for Lookup channel node
このサンプルでは、Lookup CHOPを使って、イベントまたはトリガーに基づいてアニメーションを再生する方法を説明しています。
NoiseTransform Example for Noise channel node
このサンプルでは、Noise CHOPを使ってアニメーションを生成して、それをジオメトリに適用する方法を説明しています。
AnimationSequence Example for Sequence channel node
このサンプルでは、3つの別々のオブジェクトからアニメーションを取得して、4つ目のオブジェクトへ1つのアニメーションとしてシーケンス化させる方法を説明しています。
BridgeCollapse Example for Apply Relationship dynamics node
このサンプルでは、Apply Relationship DOPを使って、自動的に拘束を伝搬させて、崩壊する橋のRBDシミュレーションを作成する方法を説明しています。
DensityViscosity Example for FLIP Solver dynamics node
このサンプルでは、ソリッドオブジェクトと作用する異なる密度と粘度を持つ2つの流体について説明しています。
FlipColorMix Example for FLIP Solver dynamics node
このサンプルでは、Flip Solverを使って、赤の流体と青の流体のカラーを混ぜて、紫の流体を作成する方法を説明しています。
TeapotUnderTension Example for Gas Surface Tension dynamics node
このサンプルでは、ティーポットの形をした液体のブロッブを作成しています。 そして、表面張力によって、ブロッブを球状に平滑化しています。
rbdsmokesource Example for Smoke Object dynamics node
ぼんやりとした四面体がボックス内を跳ね回って、その煙の連続的な放出で臨場感を出しています。
FractureExamples Example for Voronoi Fracture Solver dynamics node
このサンプルでは、実際にHoudiniでボロノイ破壊を使う7つの方法を含んでいます。 特に、破壊シミュレーションでVoronoi Fracture SolverとVoronoi Fracture Configure Objectのノードの使い方を説明しています。 アニメーションを再生するなら、それらのサンプルのディスプレイフラグをオンにし、セットアップをテストするなら、各サンプルの中に入ってください。
TransparentShadows Example for Light object node
このサンプルでは、ディープシャドウマップを使って透明シャドウを設定する方法を説明しています。 シーンには、影を落とす透明なグリッドを配置しています。 レンダラーには、マイクロポリゴンレンダリングを使用しています。
PathPathcvWorm Example for Path object node
このサンプルでは、PathとPathCVのノードの使い方を説明しています。 Path CVは、360以上回転することが可能です。 また、ControlタブにはInitial Twistパラメータがあります。 このパラメータは、すぐに背骨を作成するのに役に立ちます。
AmbientOcclusion Example for Mantra render node
アンビエントオクルージョンは、レイトレーシングによって開いた空間内に柔らかいDiffuseライティングを高速に生成するための技術です。 これは、あるポイントを中心にどれだけの大きさの半球がシーン内の他のサーフェスで塞がるのか調べて、塞がる箇所が多い場所ほど、より暗いライティングを生成する方法で計算されます。 この技術は、完全なグローバルイルミネーションほどの負荷をかけずに、そのGI(グローバルイルミネーション)のような効果が必要な時に役に立ちます。
これに特化したサンプルとして、アンビエントオクルージョンのライトといくつかのジオメトリをデジタルアセットの形式で用意しています。 このサンプルでは、Environment Lightを使用し、そのパラメータにアクセスしやすいように、そのパラメータをプロモートしています。
サンプル数を減らすことで、レンダリングでノイズが発生する代わりにレンダリング時間を短くすることができます。 以下のレンダリングでは、上図と同じシェーダを使用していますが、サンプル数をデフォルトの256から16に減らしています。 この値は、LightのRender Optionsタブの Sampling Quality で設定しています。
環境マップ
滑らかな環境マップを持っていれば、グローバル背景カラー(ホワイト)を環境マップの値に置き換えることができます。 また、Sky Environment MapタブのSky Environment Mapも有効にすることができます。
CreepText Example for Creep geometry node
このサンプルでは、テキストジオメトリがアニメーションサーフェスに沿って這います。
サーフェスは、Sequence Blend SOPでアニメーションするカーブを2つ使ってスキンしています。Creep SOPでジオメトリを這わせるにはカーブではなくサーフェスが必要です。
EdgeCuspStairs Example for Edge Cusp geometry node
Edge Cusp SOPは、簡単にレンダリング時にモデル上に明確なエッジを作成することができます。 Edge Cuspは、共有エッジを個別化し、ポイント法線を再計算してエッジを作成します。
ParticleTube Example for Particle geometry node
Particle SOPはSOPレベルでパーティクルを作成することができ、そのパーティクルを直接ジオメトリと作用させることが可能です。 さらに、パーティクルは次々とポイントジオメトリとして扱われます。
このサンプルでは、チューブオブジェクト上を這うパーティクルとチューブオブジェクトに衝突するパーティクルがあります。 そのオブジェクトのポイント法線(パーティクルの法線を含む)を調整してSOP内のパーティクルを制御することも可能です。
PointOffsetSurface Example for Point geometry node
Point SOPを使って単純な変位を作成して、それを球のサーフェスの一部に適用しています。
Point Positionでポイント法線と数値を設定すれば、ポイントは法線方向に変位します。 そしてMergeとSkin SOPを使って、変位したサーフェスと元のサーフェスを接続しています。
BasicRail Example for Rails geometry node
このサンプルでは、Rail SOPで単純なカーブを指定して、そのカーブに基づいてサーフェスを作成しています。
単にSOPのパラメータを変えるだけで、色々なサーフェスを作成することができます。 最終的にはカーブが消えてサーフェスが残ります。
BasicRefine Example for Refine geometry node
このサンプルでは、Refine SOPを使って、たくさんのタイプのサーフェスからディテールを追加・削除する方法をいくつか説明しています。
SkinBasic Example for Skin geometry node
このサンプルでは、1つの入力の円を複数コピーして配置した円や、2つのジオメトリタイプが違う円の間を通過するサーフェスをSkin SOPで作成する方法を説明しています。
SkinCurves Example for Skin geometry node
このサンプルでは、Skin SOPを使って、1本のカーブにサーフェスを作成する方法、6本のカーブに対して2本のカーブ毎にサーフェスを作成する方法、三角状に配置された3本のカーブに対してサーフェスを作成する方法を説明しています。
SkinShip Example for Skin geometry node
このサンプルでは、宇宙船の作成でSkin SOPを使用する方法を説明しています。
最初にCurve SOPでカーブを作成します。 次に、Skin SOPで個々のカーブを指定してサーフェスを作成します。
SkinSurfaceCopies Example for Skin geometry node
このサンプルでは、Skin SOPを使って新しくサーフェスを作成する方法を説明しています。
ここでは、トーラスからサーフェスを抽出し、それを複数コピーして、それらのサーフェスを通過するスキンを作成しています。
SweepBasic Example for Sweep geometry node
このサンプルでは、Sweep SOPでジオメトリをカーブ上のポイントにコピーする方法を説明しています。
Sweep SOPは、コピーするジオメトリをコピー先のカーブ上のポイントに自動的に垂直に配置することができる独特な使い方ができます。 コピーしたジオメトリのスケールにバリエーションを加えるためにエクスプレッションを使っています。
SweepCurve Example for Sweep geometry node
このネットワークには、Sweep SOPのサンプルがあります。NURBSのカーブとNURBSの円をそれぞれSweep SOPのBackboneの入力に使用しています。
Sweep SOPのCross Sectionのスケールを制御することで色々な効果を表現することができます。 最後に、Sweep SOPで作成したジオメトリにSkin SOPを使ってサーフェスを張っています。
SweepDome Example for Sweep geometry node
このサンプルでは、Sweep SOPのBackbone(ジオメトリのコピー先)にグリッドを指定し、Cross Section(コピーするジオメトリ)にハルとして円弧(Circle SOP)を指定しています。
その結果のSweepオブジェクトに対してSkin SOPでサーフェスを張っています。
WigglyWorm Example for Sweep geometry node
このサンプルでは、Sweep SOPで簡単に変形可能なジオメトリを構築する方法を説明しています。 Sweep SOPにはBackbone(コピー先のジオメトリ)とCross Section(コピーするジオメトリ)が必要です。
sin()関数を使って、蛇のように動くBackboneのアニメーションを作っています。 Backboneの各ポイントに円をコピーして虫の骨組みを作成しています。 最後にSkin SOPで虫の体を作成して完成です。
See also |