On this page |
このノードは、色々なジオメトリタイプで球状のオブジェクトを生成します。 すべてのジオメトリタイプで、不均一に球をスケールすることができます。
入力を接続すれば、球の半径が、その入力の境界ジオメトリから自動的に決まります。
このノードは、球と楕円体を作成します。
ビューアに球を配置
To... | Do this |
---|---|
シーン内のどこかに球を配置する |
|
原点に球を配置する |
球のハンドル
球オブジェクトに対して、ジオメトリレベルで利用可能な特別なハンドルがあり、それを使えば伸縮や押し潰しをすることができます。
-
ネットワークエディタでSphereノードをダブルクリック、またはオペレーションコントロールツールバーの Jump to Operator ボタンをクリックして、ジオメトリレベルに移動します。
-
ハンドルをドラッグすることで、球を押し潰したり、伸縮させることができます。
パラメータ
Primitive Type
作成するジオメトリタイプ。
Connectivity
Rows
開いたポリゴンで水平ラインを作成します。
Column
開いたポリゴンで垂直ラインを作成します。
Rows & Cols
RowsとColumnsの両方を作成します。すべてのポリゴンは開いています。
Triangles
球の各フェースを三角形で構築します。
Quads
球の各フェースを四角形で構築します。
Alternating Triangles
別の方法の三角形で球を構築します。
Radius
球の半径。XYZフィールドの値を不均一にすれば、楕円体になります。
Center
球の位置。
Rotation
球の中心を基準とした回転。
Uniform Scale
均一スケール。
Orientation
球の向き。
Frequency
球を構成するポリゴンの数。 数を上げれば、より滑らかな球になります。ポリゴン以外のタイプでは無効です。
Rows
メッシュまたはImperfect(非有理)NURBS/Bezierの球の横方向の分割線の数。 RowsとColumnsを高くすれば、球がより丸くなります。 NURBS/Bezierの球のRowsとColumnsは、最低でも"階数-1"以上にしてください。 RowsはV方向、ColumnsはU方向に関連しています。
Columns
球の縦方向の分割線の数。
U Order
NURBS/BezierサーフェスのUスプラインの階数(次数+1)を設定します。最小階数は、2(線形)で、最高階数は11です。 デフォルトでは3次(階数が4)の球が構築されます。
V Order
NURBS/BezierサーフェスのVスプラインの階数(次数+1)を設定します。
Imperfect
NURBS/Bezier球を有理または非有理スプラインのどれで構築するのか指定します。 Perfect球は、有理トポロジー(つまり、非ユニットウェイトを頂点と関連付けられたトポロジー)を持ちます。 さらに、Perfect球は、指定したスプライン階数に対して事前に定義したCVの数と位置を持ちます。 Imperfect球は、非有理でCVの数は、厳密にその階数で決まりません。
このようにして構築された有理球は、数学的に完全な形状を生成します。 しかし、特別な定義を設定すると、Perfect球は、ポイントのモデリングで必ずしも理想的な選択になるとは限りません。 というのも、より重いジオメトリを表現した際には、CPUとRAMのどちらにも負担がかかります。 実際に、Imperfect球の方がモデリングで良い選択になる場合があります。 つまり、Perfect形状が一番良い時のみPerfect球を構築することが望ましいです。
Unique Points per Pole
メッシュタイプの球では、経線は、球の極で一致します。 これをチェック しなかった 場合、すべての経線が、球の極を共有します。 チェックした場合、球の極を共有しません。
Accurate Bounds
このノードを使って、入力ジオメトリから境界球を生成している場合、このパラメータは、その境界球の計算精度を指定します。
Triangular Poles
ポリゴンメッシュの球では、各ポリゴンが論理的に四角形です。しかし、極部では、2つのポイントが縮退しています。 Triangular Polesを有効にすると、それらの四角形が三角形に変換されます。
Examples
SphereTypes Example for Sphere geometry node
このサンプルでは、Sphere SOPが作成可能なジオメトリタイプすべてとそれらの違いを説明しています。
正しいジオメトリタイプを選択すれば、ネットワークフローとレンダリングを高速にすることができます。
The following examples include this node.
BlendPoseBasic Example for Blend Pose channel node
このサンプルでは、BlendPose CHOPでランダムなトラッカーポイントポジションを使ってジオメトリを変形させる方法を説明しています。
CopyAnimation Example for Copy channel node
このサンプルでは、Copy CHOPを使って、チャンネルをコピーして、それらのチャンネルをジオメトリに適用する方法を説明しています。
CountImpacts Example for Count channel node
このサンプルでは、Count CHOPを使って、DOPシミュレーションのインパクトを数える方法を説明しています。
このサンプルでは、Count CHOPの値を使って、ティーポットのコピーを生成します。
DynamicLights Example for Dynamics channel node
このサンプルでは、Dynamics CHOPを使って、DOPシミュレーションからインパクトデータを抽出して、そのデータを修正して、シーンのライトを制御する方法を説明しています。
ExtractTransforms Example for Dynamics channel node
このサンプルでは、Dynamics CHOPを使って、DOPシミュレーションからトランスフォーム情報を引き出し、その情報をオブジェクトに適用する方法を説明しています。
HoldLight Example for Hold channel node
このサンプルでは、Hold CHOPとDynamics CHOPを使って、新しいインパクトが発生するまで、DOPシミュレーションのインパクトの位置にライトを固定する方法を説明しています。
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シミュレーションを作成する方法を説明しています。
ConstrainedTeapots Example for Apply Relationship dynamics node
このサンプルでは、Apply Relationship DOPを使って、RBD Pin Constraintノードで複数の拘束を作成する方法を説明しています。
MutualConstraints Example for Apply Relationship dynamics node
このサンプルでは、Apply Relationshipノードを使って、2つのDOPオブジェクト間を相互に拘束する方法を説明しています。
SimpleBlend Example for Blend Solver dynamics node
このサンプルでは、Blend Solverの使い方を説明しています。 この場合、Blend Solverを使って、RBDとキーフレームの計算間をブレンドしています。
BlanketBall Example for Cloth Object dynamics node
このサンプルでは、4つの角をピン留めした毛布上を跳ね返るボールをシミュレーションする方法を説明しています。
MultipleSphereClothCollisions Example for Cloth Object dynamics node
このサンプルでは、色々な特性を使って布を球と衝突させる方法を説明しています。 Stiffness(剛性)とSurface Mass Densityを調整することで、布の挙動を変更することができます。
AnchorPins Example for Constraint Network dynamics node
このサンプルでは、異なるアンカー位置がピン拘束に影響を与える方法を説明しています。
ControlledGlueBreaking Example for Constraint Network dynamics node
このサンプルでは、Constraint Networkの接着ボンドを徐々に弱くして、ビルの崩壊を制御する方法を説明しています。
SpringToGlue Example for Constraint Network dynamics node
このサンプルでは、近くのオブジェクト間にSpring拘束を作成して、シミュレーションで、その拘束を接着拘束に変更する方法を説明しています。
AutoFracturing Example for Copy Objects dynamics node
このサンプルでは、Multi Solverと併せてCopy Object DOPを使って、他のオブジェクトと衝突した際に自動的にRBDオブジェクトを半分に割る方法を説明しています。
SimpleCopy Example for Copy Objects dynamics node
このサンプルでは、Copy Objects DOPを使う方法を説明しています。 単一のRBD Objectを100回コピーしてから、それらのオブジェクトにランダムな初期Velocityとグリッドジオメトリからの位置を割り当てています。 そして、それらの100個の球が地面に落下します。
CrowdHeightField Example for Crowd Solver dynamics node
このサンプルでは、Crowd SolverのTerrain AdaptationとBullet SolverのラグドールのコリジョンにHeight Fieldを使用する方法について説明しています。
PartialRagdolls Example for Crowd Solver dynamics node
このサンプルでは、部分ラグドールのセットアップ方法について説明しています。エージェントのジョイントのサブセットがBullet Solverによってアクティブオブジェクトとしてシミュレーションされ、残りのジョイントがアニメーションします。
CrowdTriggers Example for Crowd Trigger dynamics node
このサンプルでは、Crowd Trigger DOP用のビルトインのトリガータイプの使い方を説明しています。
FieldForceSmoke Example for Field Force dynamics node
SmokeシミュレーションからVelocityフィールドを抽出して、それをPOPシミュレーションの風のフォースとして使用します。
FromRBD Example for Field Force dynamics node
このサンプルでは、他のActive RBDオブジェクトをField Force DOPのソースとして使用する方法を説明しています。 2つのボールが立方体内を跳ね返り、それらのボールの1つが、ジオメトリに記録されたForceの値に応じて片方のボールを跳ね返すように設定しています。
SimpleField Example for Field Force dynamics node
このサンプルでは、Field Force DOPの使い方を説明しています。 RBDオブジェクトのグループが最初にフィールドに引き寄せられて、フィールドを通過して引き離されます。
fieldforce Example for Field Force dynamics node
このサンプルでは、Field Force DOPを使って、パーティクルが煙に対して吹く方法を説明しています。
CacheToDisk Example for File dynamics node
このサンプルでは、File DOPを使って、シミュレーションをディスクにキャッシュ化して、それを読み戻す方法を説明しています。
FEMSpheres Example for finiteelementsolver dynamics node
このサンプルでは、FEM Solverを使用して、球が地面と衝突した時にその球を変形させる方法を説明しています。 この球は、地面と衝突する前にパーティクルベースのアニメーションをしていて、衝突時にFEM Solverに切り替わります。
DensityViscosity Example for FLIP Solver dynamics node
このサンプルでは、ソリッドオブジェクトと作用する異なる密度と粘度を持つ2つの流体について説明しています。
FlipColorMix Example for FLIP Solver dynamics node
このサンプルでは、Flip Solverを使って、赤の流体と青の流体のカラーを混ぜて、紫の流体を作成する方法を説明しています。
FlipFluidWire Example for FLIP Solver dynamics node
このサンプルでは、Flip SolverとFluid Force DOPの使い方を説明しています。 Fluid Force DOPを使って、FLIP流体の動きに応じてワイヤーオブジェクトに力を加えています。 流体オブジェクト内に存在する流体の箇所にのみDragフォースを適用しています。
FluidWireInteraction Example for Fluid Force dynamics node
このサンプルでは、Fluid Force DOPの使い方を説明しています。 Fluid Force DOPによって流体オブジェクトの動きに応じてワイヤーオブジェクトにDrag(抵抗)フォースを加えます。 流体オブジェクト内に存在する流体の箇所にのみDragフォースを適用しています。
BallInTank Example for Fluid Object dynamics node
このサンプルでは、RBDボールを液体タンク内に投げ入れる方法を説明しています。
FillGlass Example for Fluid Object dynamics node
他のRBDオブジェクトからのシミュレーションをソースとした流体でRBDコンテナを満たします。
FluidFeedback Example for Fluid Object dynamics node
このサンプルでは、ボールをFeedback Scaleパラメータを大きくしたタンクに落としています。 RBDシミュレーションとFluidシミュレーションを併せることで、ボールは沈まずに浮きます。
VariableDrag Example for Fluid Object dynamics node
このサンプルでは、流体シミュレーションでDrag(抵抗)フォースを変化させる方法を説明しています。 指定したフィールドを高い抵抗力のある領域にして、自動的に流体サーフェスにのみDragを適用し、その領域にはマイナスのDragを適用することで、 より揮発性のある流体を作成しています。
HotBox Example for Gas Calculate dynamics node
このサンプルでは、ボリューム表現のオブジェクトを取得して、それをTemperature(温度)フィールドに追加する方法を説明しています。 オブジェクトの温度は、Smoke Densityの値の調整、またはGas CalculateマイクロソルバDOPのPre-Multフィールドを調整することで変更することができます。
DiffuseSmoke Example for Gas Diffuse dynamics node
このサンプルでは、Gas Diffuse DOPで煙シミュレーションの密度を拡散させる方法を説明しています。
EqualizeLiquid Example for Gas Equalize Volume dynamics node
このサンプルでは、Gas Equalize Volume DOPを使用して、流体シミュレーションの体積を維持する方法を説明しています。
TeapotUnderTension Example for Gas Surface Tension dynamics node
このサンプルでは、ティーポットの形をした液体のブロッブを作成しています。 そして、表面張力によって、ブロッブを球状に平滑化しています。
UpresRetime Example for Gas Up Res dynamics node
このサンプルでは、Up Res Solverを使って、既存のシミュレーションの時間を再調整する方法を説明しています。 このメリットは、シミュレーションの見た目に影響を与えずに簡単に速度を調整できることです。 Up Res Solverには、Timeタブがあり、シミュレーションの速度を変更する色々なコントロールがあります。
このサンプルでは、RBDオブジェクトで押しつぶされる草をシミュレーションしています。 Furオブジェクトで草の葉を表現し、Wireオブジェクトで動きをシミュレーションしています。 単一のFurオブジェクトで草を表現し、その近辺の草の葉がそれに合わせて動きます。 硬さが異なるオブジェクトを追加すれば、不均一な動きを表現することができます。 "Complex Mode"を有効にすると、2つのオブジェクトを使って草が表現されます。 それぞれのカーブに設定した硬さは、Wireオブジェクトの"Angular Spring Constant"と"Linear Spring Constant"パラメータで調整することができます。
MagnetMetaballs Example for Magnet Force dynamics node
このサンプルでは、メタボールのグループに対してMagnet Forceノードを使うことで、 衝撃を与えた時にオブジェクトの破片を跳ね返す方法を説明しています。
SimpleMagnets Example for Magnet Force dynamics node
このサンプルでは、一組のメタボール(プラスとマイナスのメタボール)と一緒にmagnetforce DOPを使うことで、RBDの球を引き寄せ/引き離しをする方法を説明しています。
MaskedField Example for Mask Field dynamics node
このサンプルでは、Mask Fieldによるフォースの適用範囲を定義する方法を説明するために、たくさんのRBDオブジェクトにUniform Forceを適用しています。
このサンプルでは、Particle FluidとRBDオブジェクトを組み合わせることで、相互に影響し合うようにする方法を説明しています。 その結果、球が浮きます。
FluidGlass Example for Particle Fluid Solver dynamics node
このサンプルでは、グラスに注がれた滑らかな流体の流れを作成する方法を説明しています。
ViscoelasticExample Example for Particle Fluid Solver dynamics node
このサンプルでは、パーティクルベースの流体に粘着性と伸縮性のあるフォースを加えることで、 粘弾性のある流体の挙動を生成する方法を説明しています。 その結果、変形に抵抗して形状を維持しようとする流体のようなオブジェクトになります。
ParticlesAttract Example for POP Attract dynamics node
このサンプルでは、POP Attractノードを使って、パーティクルのグループを、アニメーションする球の動きに追いかけさせる方法を説明しています。 さらに、POP InteractとPOP Dragのノードを使って、パーティクルと球の距離間での作用を制御しています。
PointAttraction Example for POP Attract dynamics node
このサンプルでは、POP AttractノードのAttraction TypeをPointに設定することで、 ポイント単位でパーティクルの引き寄せを制御する方法を説明しています。
TorusAxisForce Example for POP Axis Force dynamics node
このサンプルでは、POP Axis Forceノードを使って、パーティクルのグループを渦巻き上げさせる方法を説明しています。
RagdollExample Example for Cone Twist Constraint dynamics node
このサンプルでは、単純なぬいぐるみにRBD Cone Twist Constraintを使っています。
StackedBricks Example for RBD Fractured Object dynamics node
このサンプルでは、1個のSOPからたくさんのRBDオブジェクトを作成する方法を説明しています。 さらに、Velocity Pointアトリビュートを使って、オブジェクトの初期速度を設定する方法も説明しています。
このサンプルでは、RBD Glue Objectノードを使って、 衝突で自動的に砕けるRBDオブジェクトを作成する方法を説明しています。 さらに、モデルをこのようなシミュレーションで適切に砕くテクニックも説明しています。
このサンプルでは、RBD Stateノードを使って、接着したオブジェクトの分解を制御する方法を説明しています。
たくさんの球を接着してトーラス形状を作成し、さらに、水平に移動する平面を追加しています。 この平面が通過した後の球が分解されていきます。
このサンプルでは、RBDオブジェクトを使ってグラスを破壊する方法を説明しています。 グラスは、単純な三角形の破片を接着して構成されています。
このサンプルでは、衝突検出を実行する時にオブジェクトを限りなく薄いサーフェスとして扱うことで、ボリュームベースの衝突検出が機能しない状況を作っています。
RBDInitialState Example for RBD Object dynamics node
このサンプルでは、RBDオブジェクトのInitial Stateパラメータの使い方を説明しています。
SimpleRBD Example for RBD Object dynamics node
このサンプルでは、RBD Object DOPを使って、単純なリジッドボディダイナミクスシミュレーションを説明しています。 1個の球が地面に落下します。
popswithrbdcollision Example for RBD Point Object dynamics node
RBD形式の衝突をPOPで行なうために、POPシミュレーションにRBDシミュレーションを接続する方法を説明しています。
InheritVelocity Example for RBD State dynamics node
このサンプルでは、RBD Stateノードを使って、オブジェクトの動きからVelocityを継承して、接着したRBD破壊シミュレーション内で、他のオブジェクトと衝突させる方法を説明しています。
ReferenceFrameForce Example for Reference Frame Force dynamics node
水で満たされたRBDの花瓶を使って、花瓶の参照フレーム内で水のシミュレーションをします。
RippleGrid Example for Ripple Solver dynamics node
このサンプルでは、Ripple SolverとRipple Objectのノードの使い方を説明しています。 Bulge SOPでグリッドを変形させて、Ripple Objectの初期ジオメトリとRest Geometry(静止ジオメトリ)を作成しています。このオブジェクトは、Ripple Solverに接続しています。
ScalePieces Example for Script Solver dynamics node
このサンプルでは、Script Solverノードを使って、RBDシミュレーションで破片を時間軸に沿ってスケールさせる方法を説明しています。
2dfluid Example for Smoke Object dynamics node
2D流体をCOPにエクスポートして、それを画像シーケンスファイルとしてディスクに保存し、それをテクスチャマップ、変位マップなどに使う方法を説明しています。
Open CL smoke Example for Smoke Object dynamics node
GPUアクセラレーションのSmokeシミュレーションを最適化する上で、最初にテストで使用できる単純なOpen CLアクセラレーションのSmokeシミュレーションの使い方を説明しています。 Smoke SolverのUse OpenCLパラメータを参照してください。
高速化するには、システムはビデオカードへ、またはビデオカードからのコピーを最低限にする必要があります。 このサンプルでは、コピーを最低限にするための方法をいくつか説明しています。
-
DOPのキャッシュ化をオフにします。キャッシュ化は、フレーム毎にフィールド すべて をコピーする必要があります。これは、スクラブとランダムフィールドを検査する時に役に立ちますが、速度を速くするのには不要です。
-
SOPのDensityのみをインポートします。つまり、フレーム毎にGPUからCPUに1個のフィールドのみをコピーします。
-
バックグラウンドでディスクに保存します。これは、スループットを良くします。
-
シンプルなSmoke Solverを使います。
ビューポートでシミュレーションした出力の表示には、GPU → CPU → GPUの往復が必要ですが、これは、一般的には、ディスプレイカード以外のカードでのシミュレーションをサポートするのに必要です。
SourceVorticlesAndCollision Example for Smoke Object dynamics node
このサンプルでは、Smoke Source、キーフレームを打ったRBDオブジェクト、Gas Vorticle Geometryなどを使って、単純なSmokeシステムを説明しています。
rbdsmokesource Example for Smoke Object dynamics node
ぼんやりとした四面体がボックス内を跳ね回って、その煙の連続的な放出で臨場感を出しています。
StaticBalls Example for Static Object dynamics node
このサンプルでは、グリッドが落下して地面に当たる前に3つの球から跳ね返るRBDシミュレーションでStatic Objectノードを使用しています。
FractureExamples Example for Voronoi Fracture Solver dynamics node
このサンプルでは、実際にHoudiniでボロノイ破壊を使う7つの方法を含んでいます。 特に、破壊シミュレーションでVoronoi Fracture SolverとVoronoi Fracture Configure Objectのノードの使い方を説明しています。 アニメーションを再生するなら、それらのサンプルのディスプレイフラグをオンにし、セットアップをテストするなら、各サンプルの中に入ってください。
SimpleVortex Example for Vortex Force dynamics node
このサンプルでは、何個かのボールを使って、Vortex Force DOPで生成したフォースを可視化しています。
TurbulentSmoke Example for Wind Force dynamics node
このサンプルでは、Wind DOPを使って、乱気流を流体シミュレーションに追加する方法を説明しています。
BeadCurtain Example for Wire Solver dynamics node
このサンプルでは、Wire Solverを使ってビーズカーテンをシミュレーションする方法を説明しています。 RBDボールがカーテンを通過して、カーテンからの反応を反映して、ボールが相互に衝突で影響し合います。
BreakWire Example for Wire Solver dynamics node
このサンプルでは、ポイント単位でワイヤー拘束を壊す方法を説明しています。 Wire Solverで、'pintoanimation'という名前のアトリビュートを持つポイントを拘束するようにセットアップしています。
Pendulum Example for Wire Solver dynamics node
このサンプルでは、拘束ポイントにあるオブジェクトと振り子の玉にあるオブジェクトを相互に影響を与え合う方法を説明しています。
このサンプルで注目すべき特徴は以下の通りです:
-
ジオメトリエリアライト
-
減衰ランプ制御
-
サーフェスモデルのスペキュラーレイヤー
サンプルでは、NURBSカーブに基づいたジオメトリライトを構成しています。 ライトの減衰には、カラーキーを使うことで、異なるライトの色をライトからの距離に応じて生成することができます。 ground plane shaderは、2つのスペキュラーコンポーネント(広いコンポーネントと狭い光沢コンポーネント)でサーフェスモデルを使って、複数レイヤーの外観を生成します。
TransparentShadows Example for Light object node
このサンプルでは、ディープシャドウマップを使って透明シャドウを設定する方法を説明しています。 シーンには、影を落とす透明なグリッドを配置しています。 レンダラーには、マイクロポリゴンレンダリングを使用しています。
このサンプルでは、2 Point Muscleを使って、オブジェクト空間内で筋肉の揺れを作成する方法を説明しています。
switchcamera Example for Switcher object node
このサンプルでは、2つのカメラ間でビューを切り替え、Renderノードで出力するシーンを切り替える方法を説明しています。
このサンプルでは、Bake Animation ROPをセットアップして、リグのアニメーションを他のリグに転送すると同時にオブジェクト拘束をベイクする方法について説明しています。
AmbientOcclusion Example for Mantra render node
アンビエントオクルージョンは、レイトレーシングによって開いた空間内に柔らかいDiffuseライティングを高速に生成するための技術です。 これは、あるポイントを中心にどれだけの大きさの半球がシーン内の他のサーフェスで塞がるのか調べて、塞がる箇所が多い場所ほど、より暗いライティングを生成する方法で計算されます。 この技術は、完全なグローバルイルミネーションほどの負荷をかけずに、そのGI(グローバルイルミネーション)のような効果が必要な時に役に立ちます。
これに特化したサンプルとして、アンビエントオクルージョンのライトといくつかのジオメトリをデジタルアセットの形式で用意しています。 このサンプルでは、Environment Lightを使用し、そのパラメータにアクセスしやすいように、そのパラメータをプロモートしています。
サンプル数を減らすことで、レンダリングでノイズが発生する代わりにレンダリング時間を短くすることができます。 以下のレンダリングでは、上図と同じシェーダを使用していますが、サンプル数をデフォルトの256から16に減らしています。 この値は、LightのRender Optionsタブの Sampling Quality で設定しています。
環境マップ
滑らかな環境マップを持っていれば、グローバル背景カラー(ホワイト)を環境マップの値に置き換えることができます。 また、Sky Environment MapタブのSky Environment Mapも有効にすることができます。
MotionVector Example for Mantra render node
このサンプルでは、後でVelocityのコンポジットをするために、モーションベクトルレイヤーを生成する方法を説明しています。
サンプルを読み込んで、5フレーム分をレンダリングしてください。画像ビューアでは、C
(カラー)からmotion_vector
に切り替えると、その結果を見ることができます。
Volume Rendering - ファイル参照の煙 Example for Mantra render node
ボリュームレンダリングは、高品質な煙、雲、飛沫、炎などのボリュームエフェクトを統合したレンダリングを可能にするレンダリング手法です。
ボリュームレンダリングは、多くのタイプのボリュームエフェクトのレンダリングに適しています。Mantraボリュームによるレンダリングが特に適したシーンは以下のとおりです:
-
詳細な"hero"(メインとなる)の雲、煙、炎
-
インスタンス化した雲、煙、炎のフィールド(視界)
ボリュームレンダリングがまったく適さないシーンは以下のとおりです:
-
単一の均一なフォグを持つシーン
この特化したサンプルでは、bgeoファイル(1フレームのみ)を煙の流体シミュレーションからエクスポートして、それをFile SOPを使って参照しています。VEX Volume Cloudを使ったマテリアルを、Volume Objectのトップレベルで、このボリュームデータに割り当てています。シェーディングモードでこのシーンを見るには、環境変数の HOUDINI_OGL_ENABLE_SHADERS を1に設定します。
品質/パフォーマンスの制御
ボリュームレンダリングは、Ray Marchingを使って、ボリューム内に入り込みます。Ray Marchingは、画像内の各ピクセルに対して均一に光線に沿って入り込むことで、ボリューム内にシェーディングポイントを生成します。ボリュームのRay Marchingの品質と速度を変更する方法が2つあります:
-
Mantra ROPの Properties タブの Sampling サブタブの Pixel Samples パラメータ。 Pixel Samples を増やせば、ピクセル内にRay Marchingを増やすことができるので、品質が良くなります。さらに、ボリュームに対してアンチエイリアスとモーションブラーの品質が良くなります。
-
Mantra ROPの Properties タブの Sampling サブタブの Volume Step Rate パラメータ。 Volume Step Rate を上げれば、ボリューム内部のサンプルが増えるので、品質が良くなりますが、パフォーマンスが悪くなります。別々のシャドウ品質をシャドウに使うことができます。
変更すべきパラメータは、ピクセルのアンチエイリアスで必要な品質に依存します。 Pixel Samples を増やすよりも、 Volume Step Rate を小さくする方が良いです。なぜなら、 Volume Step Rate が小さいほど正確なレンダリングができるからです。
以下のレンダリングでは、 Pixel Samples を2×2、 Volume Step Rate を1にしています。シャドウの細部に注目してください。
以下のレンダリングでは、 Pixel Samples を4×4、 Volume Step Rate を0.25にしています。シャドウの細部が消えて、ボリュームが少し透明になっています。品質レベルは、ほぼ同じです。
このサンプルでは、Shutter Shapeパラメータで、グレースケールのランプでシャッターの開口時間を制御する方法を説明しています。
このサンプルでは、ボリュームシャドウありのAtmosphereシェーダを作成する方法を説明しています。 FogオブジェクトにはVEX Lit Fogシェーダを追加し、SpotlightのDepth Map Shadowsを有効にしています。 シーン内のオブジェクトには、matteシェーダを接続しています。
Down Hill Lava Flow Example for Material shader node
このファイルでは、傾斜が低い箇所にCrust(地殻)が集まって硬化する溶岩の流れを作成しています。このアニメーションは、シェーダで作成していて、ジオメトリそのものはアニメーションしていません。
Note
Lava(溶岩)マテリアルのパラメータのほとんどを、サーフェスノードで作成したPointアトリビュートで上書きしています。
FirePit Example for Material shader node
Note
このファイルでは、ジオメトリはアニメーションしていません。 テクスチャをアニメーションさせることで、すべてのアニメーションを表現しています。
炎は、UVテクスチャを簡単に適用できるようにグリッドで作成し、Magnet SOPを使ってメタボール周辺を歪ませています。
炎には、黄色または青のFlameテクスチャのどれかを割り当てています。
Flamesのopacity mask wrapをDecalに設定することで、テクスチャがFlameジオメトリの上部で単一ピクセルリングを繰り返して表示するのを回避しています。
また、flameOpacMap.jpg
というマスクファイルを使って、上部にFlameの形状を調整しています。
noise offsetを$T
でY軸を強くアニメーションさせることで、Flameが上昇しているように見せています。これは、Noise jitterもY軸に対して大きくなります。
炭は、変形させたグリッドにCopy Stampを適用した球で表現しています。
Attribute CreateSOPを使えば、SOPレベルでLava(溶岩)のテクスチャのパラメータを上書きしてCopy Stampすれば、$BBY
などのローカル変数を使ってテクスチャをアニメーションさせることができます。
そうすれば、テクスチャのCrust(地殻)とその値だけを使って、炭の上部の形状を修正することができます。
これは、炭の下部で使用するテクスチャのLava(溶岩)のアスペクト比を保持します。熱を発する炭の下部の残り火を表現するために、Lava(溶岩)の強度(Kd
アトリビュート)をスタンプしてアニメーションしています。
Basic RIS Shading Example Example for RIS Shader Network shader node
このファイルでは、私達はシンプルなジオメトリを作成し、そこにBxDFシェーダを割り当てています。 シェーディングネットワークは、BxDFシェーダに接続されたパターンシェーダで構成されています。
AddItUp Example for Add geometry node
このネットワークでは、Add SOPによるジオメトリの構築と操作に関するたくさんの使用方法を説明しています:
-
空間内にポイントを作成する時に使用します。そして、指定したパターンでポイントからポリゴンを作成することができます。そのポリゴンはオープンまたはクローズにすることができます。さらに、各ポイントはエクスプレッションやキーフレームを使ってアニメーションすることもできます。
-
ポイントの作成と同時に他のプリミティブからポイントを取り出す時に使用します。これらのポイントはポリゴンを作成する時に使用します。
-
Add SOPは他のポリゴンオブジェクトから抽出したポイントを使ってポリゴンを作成する時に利用します。Group SOPでは、Add SOPが参照するポイントグループを作成することができます。
-
Add SOPはアニメーションするNullオブジェクトのグループからポリゴンを作成する時に使用します。Object Merge SOPはポリゴンの生成時にAdd SOPに取り込まれているSOPの中にあるNullポイントを参照します。 Fit SOPは参照したNullポイントから順番に補間スプラインを作成する時に使用します。
-
Add SOPプリミティブを作成しないでポイントを生成する時に使用します。また、Add SOPを使って他のオブジェクトのポイントを抽出することができます。
-
最後に、Add SOPではさらに縦の列と横の列のポイントを作成することもできます。
AlignTube Example for Align geometry node
このサンプルでは、あるオブジェクトが他のサーフェスの方向を向くようにAlign SOPがどのようにしてUV情報を使用しているのか説明しています。
Align SOPのUV参照パラメータは、 AlignTubeのサンプルのようにアニメーションすることができます。
UVパラメータをアニメーションすると、ジオメトリが他のサーフェスに沿うように向きと位置が色々と変化します。
PackedFragments Example for Assemble geometry node
このサンプルでは、Assemble SOPを使用して、リジッドボディシミュレーション向けに球をパックオブジェクトに分解する方法を説明しています。
AttribPromoteSphere Example for Attribute Promote geometry node
このサンプルでは、AttribPromote SOPを使って、ポイントとプリミティブ間でアトリビュートを転送(プロモート)する方法を説明しています。
TransferColor Example for Attribute Transfer geometry node
Attribute Transfer SOPは、あるジオメトリのカラーアトリビュートを他のジオメトリに転送することができます。 Attribute Transfer SOPのパラメータを使って色々な効果を設定することができます。
FlounderBend Example for Bend geometry node
このサンプルは、新しいBendノードを使用して、魚のヒラメを曲げる方法を説明しています。
BlendColors Example for Blend Shapes geometry node
このネットワークでは、Blend Shapes SOPを使って、あるジオメトリのカラーを他のジオメトリのカラーに変化させています。
Blend Shapesに接続した入力が、モーフィーングの対象になります。
Blend Shapes SOPは、指定したアトリビュートすべてを補間します。この場合では、複数の入力間の“Cd”を補間しています。
アニメーションを再生して、その効果を確認してください。
SwissCheese Example for Block End geometry node
このノードは、1つのジオメトリのすべてのピースを反復して、元のジオメトリからボリュームを連続して減算する方法を示しています。
BoxSpring Example for Box geometry node
Box SOPは、ボックスの作成以外のことにも使用します。これは、特定の目的で既存のジオメトリを囲むこともできます。 Box SOPは、単純な六面体のポリゴンボックスを作成したり、ジオメトリの境界ボックスを計算したり、Lattice SOPと組み合わせて使用します。 box.hipファイルには、以下の事を説明するために、2つのオブジェクトがあります:
-
animated_bounding_box
animated_bounding_boxオブジェクトでは、アニメーションするオブジェクトを単純なボックスで囲む方法を説明しています。 これは、複雑なジオメトリを表示するときに、ボックスを表示フラグに設定し、複雑なジオメトリをレンダーフラグに設定したい場合に役に立ちます。
-
box_spring_lattice
これは、Box SOPとLattice SOPを組み合わせて使用したサンプルです。 Box SOPは、あるジオメトリ、この場合は球を囲む時に使用します。Box SOPのDivisionsにチェックを付けて、その値にLattice SOPの分割数を参照するように設定することで適切なジオメトリを作成します。
ボックス上面のポイントは、Group POPでグループ化しています。Spring POPは、そのグループのポイントをFixed Pointsに設定して、ボックスを変形しています。
この方法でBox SOPを使用すれば、入力のジオメトリ(この場合は、basic_sphere)が変わると、自動的にボックスとラティスもサイズが変わります。
SlowParticles Example for Cache geometry node
このサンプルでは、Particle SOPを使用してパーティクルの流れを作成しています。
Cache SOPを使用して、パーティクルを遅くさせています。Cache SOPでは、アニメーションのフレームレートを制御して、グローバルフレームレートよりも遅くアニメーションを読むことができます。
CarveExtractCurve Example for Carve geometry node
このサンプルでは、Carve SOPを使ってサーフェスジオメトリから色々なエレメントを抽出する方法を説明しています。
ジオメトリのタイプに応じて、Carve SOPはポリゴンオブジェクトからポイントを抽出したり、NURBSサーフェスからカーブを抽出します。
さらに、Carve SOPはサーフェスのUとVの情報を使って色々なエレメントを抽出し、UとVの値をアニメーションすることで、ポイントやカーブがジオメトリ上を移動するといった色々な効果を作成することができます。
CopySpikes Example for Carve geometry node
このサンプルでは、Carve SOPがサーフェスから3Dアイソパラメトリックカーブを抽出する方法と、その抽出したカーブをコピーのテンプレートとして使用する方法を説明しています。
Carve SOPを使ってプリミティブをスライスしたり、複数の断面にカットしたり、プリミティブからポイントや横断面を抽出することができます。
このサンプルでは、Extractオプションを使って3Dアイソパラメトリックカーブを抽出しています。Carve SOPは同じV方向の値を持ったサーフェス上のポイントからカーブを抽出するので、円盤のような形状が連続して作成されています。
Copy SOPは、それらのカーブ上のポイントをテンプレートとして使用して、ソースジオメトリをコピーしています。
DiscCarve Example for Carve geometry node
このサンプルでは、NURBSサーフェスからカーブを抽出して、そのカーブをアニメーションする時のCarve SOPの使用方法を説明しています。
Carve SOPはUとVのサーフェスデータを使ってジオメトリを刻みます。
このサンプルでは、他のジオメトリの入力として使用するカーブを抽出して面白い効果を作成しています。
Carve SOPで、V方向を指定して、その値を0から1までの範囲で、キーフレームやエクスプレッションを使ってアニメーションしています。
BlobbySphere Example for Channel geometry node
このサンプルでは、Channel SOPを使ってCHOPからSOPに情報を送信して、その情報をジオメトリに追加する方法を説明しています。
アニメーションする球を使用して、その球で選択した領域のアニメーションに遅延を設定しています。
CHOPネットワークでは、Geometry CHOPが球ジオメトリのポイントポジションデータを取り込み、遅延の効果を出すためにそのデータをLag CHOPに渡してします。 Channel SOPはLag CHOPを参照して、ポイントデータを元のNURBSの球の選択した領域に戻しています。
ClayBasic Example for Clay geometry node
このサンプルでは、Clay SOPの使用方法を説明しています。サンプルを見やすくするためにポイントをアニメーションしています。
Matrix - ポイントのトランスフォーメーションをMatrixで指定します。
Vector - ポイントをベクトルに沿って移動します。
Point - ポイントをオブジェクト空間の絶対XYZ座標に移動します。
Primitive - ポイントが2番目の入力のプリミティブの(U,V)にスナップします。 2番目の入力がなければ、自身の(U,V)にスナップします。
ClipVariations Example for Clip geometry node
このサンプルでは、ジオメトリに対してClip SOPの色々な使用方法を説明しています。
クリップ平面で制限したジオメトリの部分に依存して、効果が生成されています。
Clip SOPはクリップ平面でグループ境界を指定することで、グループツールとしても使用することができます。
クリップ平面はアニメーション可能です。アニメーションを再生して、その結果を確認してください。
CaptureDeform Example for Cloth Deform geometry node
このサンプルでは、Cloth CaptureノードとCloth Deformノードを使って低解像度の布のシミュレーションを高解像度の布に転送する方法を説明しています。
ConvertBasic Example for Convert geometry node
このサンプルでは、Convert SOPが単純な球を使ってジオメトリタイプを変換する色々な方法を説明しています。
この説明ではチャートを使用しています。
チャートの左側では、変換元のジオメトリタイプを説明しています。
チャートの上側では、変換先のジオメトリタイプを説明しています。
この説明で使用しているSphere SOPとConvert SOPすべては、違いを分かりやすくするためにデフォルト値を使用しています。
このサンプルでは、Cookie SOPの色々な使い方を説明しています。
このサンプルでは、Cookie SOPを使ってブーリアン演算を実行する方法を説明しています。
星の形状を作成して、それを球から減算しています。
CopyAttributes Example for Copy Stamp geometry node
Copy SOPはジオメトリをコピーするだけでなく、それ以上のこともできます。このサンプルでは、Copy SOPを使ってテンプレートジオメトリ(またはポイント)からカラーアトリビュートをコピーしたジオメトリに転送しています。
カラー情報を追加したポリゴンの球をソースジオメトリとして使用しています。球からカラーアトリビュート(Cd)付きのポイントを抽出し、それをCopy SOPでテンプレートとして使用します。Copy SOPはカラー情報をコピーしたポリゴンの円に転送します。
CopyTemplateAttribs Example for Copy Stamp geometry node
Copy SOPは、テンプレートから特定のアトリビュートを、コピーしたプリミティブに転送することができます。このサンプルでは、カラーアトリビュートを設定したポイントをテンプレートとして、球にカラーアトリビュートを追加しています。Particle SOPは球のポイントからパーティクルを生成するために使用しています。
Copy SOPは次の2つの事をしています:
-
ジオメトリをパーティクルにコピー。
-
ソースの球のポイントからカラーアトリビュートをパーティクルの位置にあるジオメトリに転送。
アニメーションを再生して、その効果を確認してください。
ParticleCopyScale Example for Copy Stamp geometry node
Copy SOPは、Particle SOPを使ったパーティクルをテンプレートとしてジオメトリをコピーすることができます。このサンプルでは、Copy SOPのScaleパラメータを使って特殊な効果を作成しています。 Copy SOPは、Scale以外にもコピーしたジオメトリのアトリビュートを制御することができます。
アニメーションを再生して、その効果を確認してください。
StampRandom Example for Copy Stamp geometry node
このサンプルでは、Copy SOPを使って、色々なオブジェクトを指定したテンプレートジオメトリにランダムにコピーしています。それをするためにCopy SOPのStamp機能を使っています。さらに、全体のプロセスがプロシージャルなので、コピーするジオメトリのタイプと数、使用するテンプレートの種類を決めるオプションがあります。
Copy SOPのStampタブ内に"switch"という名前の変数を作成しています。この変数はSwitch SOPのSelect Inputパラメータの入力値を駆動します。同様に、Copy SOPは入力ジオメトリをランダムな数だけテンプレートのポイントにコピーすることができます。
StampStars Example for Copy Stamp geometry node
このサンプルでは、Copy SOPのStampの機能のパワーを説明しています。
ここでは、Copy SOPを使って、円を球のポイントにコピーしています。 Stampタブでは、円の分割数、スケール、カラー、押出し量などの色々な調整をコピーに適用しています。その結果、色々な形の“星”がランダムに生成されています。
Stampにエクスプレッションを使えば、単純な円から色々な数の星を作成することができます。
CurveClayBasic Example for Curveclay geometry node
このサンプルでは、CurveClay SOPを使ってNURBSやBezierのジオメトリに対してエンボス加工を作成しています。
CurveClay SOPを使った2通りの方法でフォントを球面上に刻印しています。
1つ目が投影したプロファイルを使った方法、2つ目が2つのプロファイルを使った方法です。
DeltaMushDemo Example for DeltaMush geometry node
このサンプルでは、Delta Mush SOPを使用したボーン変形の平滑化の方法を説明しています。
LowHigh Example for Dop Import geometry node
このサンプルではRBDオブジェクトに対応するために低解像度と高解像度のセットアップをする方法を説明しています。 どちらの解像度もDOP Import SOPを参照して、低解像度ジオメトリでシミュレーションをして、その結果を高解像度ジオメトリに転送してレンダリングしています。
ProxyGeometry Example for Dop Import geometry node
このサンプルでは、DOP Import SOPを使って、DOPシミュレーションでプロキシジオメトリ(代用ジオメトリ)の使用を可能にするテクニックを説明しています。 1組みのジオメトリをシミュレーションに使用し、そのシミュレーション結果のトランスフォーメーション情報をもっと解像度の高いジオメトリに適用しています。
このサンプルは、Cool Within Objectシェルフツールを使用して、溶岩を冷却する方法を説明しています。
ForceBasic Example for Force geometry node
このサンプルでは、Metaball SOPとParticle SOPをForce SOPと組み合わせてダイナミックアニメーションを作成する方法を説明しています。
Force SOPのRadial Forceパラメータを使用すると、パーティクルが内側と外側に吹きつけられます。 Directional Forceパラメータを使用すると、ある軸を基準にメタボールがぐるぐるまわると、それに伴って回転する渦が作成されます。
再生ボタンを押してアニメーションを確認してください。
このサンプルでは、ForEach SOPを使って一切れのチーズに球を個々にブーリアン演算する方法を説明しています。
このサンプルでは、ForEach SOPを使って、あるオブジェクトが他のオブジェクトの各パートと交差して、結果を一緒にマージする方法を説明しています。
FractalGeoTypes Example for Fractal geometry node
このサンプルでは、Fractal SOPでジオメトリを変形してランダムで凸凹なサブディビジョンサーフェスを生成します。 これは地形、景観、岩、破片などを表現するのに役に立ちます。
Fractal SOPを各ジオメトリタイプに適用してジオメトリタイプによって変位に違いがあることを確認してください。
FurBall Example for Fur geometry node
このサンプルでは、Fur SOPがガイドカーブとスキンジオメトリに応じて髪の毛のようなカーブを作成する方法を説明しています。
FurBallWorkflow Example for Fur geometry node
このサンプルでは、Fur SOPとMantra Fur Procedural SHOPをアニメーションするスキンジオメトリに適用する方法を説明しています。 CVEXシェーダを使って、ジオメトリに割り当てられたアトリビュートに応じて髪の毛の見た目を定義しています。
FurPipelineExample Example for Fur geometry node
このサンプルでは、カスタムシェーダを使ってFur SOPで生成したファーの外観を定義する方法を説明しています。
このサンプルでは、Edge Groupを使って、オブジェクトの特徴的なエッジをPolyreduceで保持する方法を説明しています。
TransferProximity Example for Group Transfer geometry node
このサンプルでは、Group Transfer SOPによって、グループのプリミティブの近接度から、グループを新しいジオメトリセットに転送する方法を説明しています。
BallBounce Example for Lattice geometry node
このサンプルでは、Lattice SOPを使って跳ね返るボールの作成方法を説明しています。
DeformLattice Example for Lattice geometry node
Lattice SOPは、ソースジオメトリを囲んだ単純なジオメトリを操作することでアニメーションする変形を作成することができます。
このサンプルでは、Lattic SOPでアニメーションするBOX SOPを使用してソースジオメトリを変形する方法を説明しています。 このケースでは、ソースジオメトリは球を使用しています。
LatticePerChunk Example for Lattice geometry node
このサンプルでは、ForEach SOPを使ってLattice SOPを球の各セグメントに適用する方法を説明しています。
このサンプルでは、Layer SOPを使って複数のテクスチャを1つのオブジェクト上に重ねる方法を説明しています。
このサンプルでは、Layer SOPとVEX Layered Surface SHOPを使用することで、別々のUVセットに複数のシェーディングレイヤーを持たせる方法を説明しています。
MagnetDistortion Example for Magnet geometry node
このサンプルでは、Magnet SOPの色々な使い方を説明しています。 Magnet SOPを使ってポイントの位置・カラー・法線・Velocityに影響を与えることができます。
MatchTopologySphere Example for Match Topology geometry node
このサンプルでは、Match Topology SOPを使ってポイント番号とプリミティブ番号を揃える方法を説明しています。
Tracking Points、Reference Points、Assume Primitives Matchの機能は、完全な一致を得るために使用します。
MeasureArea Example for Measure geometry node
このサンプルでは、Measure SOPを使って、プリミティブの面積に基づいて、グループを作成する方法を説明しています。
MergeAttributes Example for Merge geometry node
Merge SOPは入力のアトリビュートすべてを入力のジオメトリすべてに適用します。各入力ジオメトリが独自のアトリビュートを持っている場合があります。
3つの球をMerge SOPに接続しています。1番目の球にはアトリビュートがありません。2番目の球にはPoint SOPでカラーアトリビュート(Cd
)が追加されています。 3番目の球には別のPoint SOPで法線アトリビュート(N
)が追加されています。
Merge SOPはアトリビュートを構築する方法を 知りません が、アトリビュートを追加することができます。その結果、Merge SOPで追加されるアトリビュートすべてはゼロに設定されます。 1番目と2番目の球はそれぞれカラー値が白(1,1,1)、青(0,0,1)にも関わらず黒になっています。これは法線アトリビュートが追加されて、値がゼロに設定されているからです。
アトリビュートの値を指定するなら、Merge SOPに頼らないようにしてください。
PScale Example for Particle geometry node
このサンプルでは、Particle SOPを使って指定したパーティクルのデフォルトサイズを設定する方法を説明しています。
単純なグリッドを使って風で流されて行くパーティクルの動的シミュレーションを作成することができます。 パーティクルがグリッドから離れるほど、パーティクルがゆっくりと消えていきます。
ParticleExamples Example for Particle geometry node
このサンプルでは、Particle SOPの色々な使い方を5つの説明しています。
-
Creep Creep SOPを使ってサーフェス沿いにパーティクルを這わせます。
-
Group サーフェス上のポイントのグループからパーティクルを発生します。
-
Bounce パーティクルを跳ね返らせます。
-
Split 接触時にパーティクルを分割します。
-
Collide 衝突オブジェクトからパーティクルを発生します。
-
Moving Object 移動オブジェクトからパーティクルを発生します。
-
Force メタボールを使ってパーティクルに力を加えます。
ParticlePusher Example for Particle geometry node
このサンプルでは、Metaball SOPとForce SOPを使って、Particle SOPで生成したパーティクルの流れを左右に押し出す方法を説明しています。
パーティクルは球から広がって発生すると同時に、メタボールが左右に動いてパーティクルを押し出します。
アニメーションを再生して全体の効果を確認してください。
PartitionBall Example for Partition geometry node
このサンプルでは、Partition SOPによってDOPオブジェクトを決定して、DOPシミュレーション内のジオメトリを分解する方法を説明しています。
PointBorrowing Example for Point geometry node
このサンプルでは、Point SOPで他の入力に応じてジオメトリを変形する方法を説明しています。
球を作成して、そのポイントをランダムに変形しています。 そして、Point SOPに元の球と変形した球の両方を入力に接続して、元の球と変形した球の平均値となる球を作成しています。 これには、単純な数式によってポイント毎に2つの球の位置を平均化しています。
PointExamples Example for Point geometry node
Point SOPは非常に汎用的なオペレータです。 このサンプルでは、Point SOPを使ってポイントのウェイト、カラー、法線、UVのアトリビュートを制御する方法を説明してます。
さらに、Point SOPによってPointアトリビュート間に色々な関係を作成することができます。
PointNormals Example for Point geometry node
このサンプルでは、Point SOPを使って法線をジオメトリに追加する方法を説明しています。
また、ポイント法線をコピーしたジオメトリの向きとシェーダの外観に影響を与える方法も説明してます。
PointOffsetSurface Example for Point geometry node
Point SOPを使って単純な変位を作成して、それを球のサーフェスの一部に適用しています。
Point Positionでポイント法線と数値を設定すれば、ポイントは法線方向に変位します。 そしてMergeとSkin SOPを使って、変位したサーフェスと元のサーフェスを接続しています。
このサンプルでは、PolyKnit SOPによるポリゴンの結合の色々なオプションを説明しています。 PolyKnit SOPは穴や隙間を塞いだり、ポリゴンのエッジを再定義するのに役に立ちます。
PolyKnitを使って手動で既存のポリゴン間にポリゴンを縫い合わせることができます。 新しいポリゴンを"縫い合わせる"ための入力ポイントのリストを指定してポリゴンを作成します。
PolyKnitはポイントの選択順やリストのパターンによって結果が異なります。 PolyKnit SOPによる新しいポリゴンの作成方法に関する詳細はヘルプを参照してください。
PolyPatchDNA Example for PolyPatch geometry node
このサンプルでは、Poly Patch SOPを使ってプロシージャルに複雑なモデルを作成する方法を説明しています。
ここではDNAモデルを作成しています。
このサンプルでは、POP Merge SOPを使って、パーティクルシミュレーションを参照する方法を説明しています。
PrimCenter Example for Primitive geometry node
このサンプルでは、Primitive SOPを使って正しくプリミティブをカーブに沿わせる方法を説明しています。
Sweep SOPはデフォルトでは、プリミティブの原点をカーブ上に配置します。 プリミティブの重心が原点から離れていると、プリミティブもカーブから離れて配置されます。
正しくプリミティブの重心をカーブに配置するには、その重心を原点にしなければなりません。 それをするために、Primitive SOPを使用しています。
PrimitiveColors Example for Primitive geometry node
このサンプルでは、Primitive SOPでカラーアトリビュートをプリミティブに追加する方法を説明しています。
rand()関数をRGBフィールドに使用することで、各プリミティブに別々のランダムなカラーを生成しています。
prim()関数はSOPのアトリビュート値を参照するために使用し、他のSOPのアトリビュート値を駆動しています。
PrimitiveExplode Example for Primitive geometry node
このサンプルでは、Primitive SOPでオブジェクトの個々のプリミティブを制御できることを説明しています。
Translateパラメータにエクスプレッションを使用して、プリミティブが重心から離れる アニメーションを作成しています。 さらに、他のエクスプレッションによってプリミティブをランダムに回転したり、各プリミティブにランダムなカラーを設定しています。
それらのパラメータによって元の球を破壊する爆発を表現しています。
RayWrap Example for Ray geometry node
Ray SOPは、あるサーフェスを他のサーフェス上に投影します。
これは、投影元のサーフェスの法線と投影先のサーフェスとの衝突を計算しています。
このサンプルでは、Ray SOPでGridサーフェスをSphereサーフェス上に投影しています。 Facet SOPは、投影したGridの法線を修正しています。
BasicRest Example for Rest Position geometry node
Rest Position SOPは、変形するサーフェスにシェーダを密着させるために、サーフェス法線に基づいたアトリビュートを作成します。
すべてのプリミティブがrest
アトリビュートをサポートしていますが、二次曲線/曲面のプリミティブ(円、チューブ、球、メタボール)に関しては、Rest Position(静止位置)の移動のみサポートしています。
つまり、Rest Normal(静止法線)は、それらのプリミティブタイプでは正しく動作しません。
ジオメトリを変形したり、ボリュームまたはソリッドのマテリアル/パターンをシェーダに割り当てる時のみ、Rest Position SOPを使用してください。
Mantraでポリゴンやメッシュに対してFeathering(境界ぼかし)を使う場合は、Rest Normal(静止法線)が必要になります。 NURBS/Bezierは、Rest Position(静止位置)を使って正しいRest Normal(静止法線)を計算します。
その効果を確認するために、レンダリングをセットアップする必要があります。
Rest適用なし Rest適用あり
BlendPUsingv Example for Sequence Blend geometry node
このサンプルでは、Sequence Blend SOPを使って、Velocityを考慮しながらポイント位置をブレンドする方法を説明しています。
BlendPrimitiveAttributes Example for Sequence Blend geometry node
このサンプルでは、Sequence Blend SOPを使ってPrimitiveアトリビュートをブレンドする方法を説明しています。
SphereTypes Example for Sphere geometry node
このサンプルでは、Sphere SOPが作成可能なジオメトリタイプすべてとそれらの違いを説明しています。
正しいジオメトリタイプを選択すれば、ネットワークフローとレンダリングを高速にすることができます。
BoundLattice Example for Spring geometry node
このネットワークでは物理シミュレーションでよく利用される3つのSOP(Bound, Spring, Lattice)を使用しています。
ソースジオメトリとして単純なポリゴンの球を作成しています。変形する参照として動作するBound SOPに球を接続しています。 また、Bound SOPは変形するオブジェクトを補強します。
境界ボックスを衝突オブジェクトのグリッドのグループと一緒にSpring SOPに接続しています。 Spring SOPは、他のオブジェクトと衝突した際のソースジオメトリの変形と挙動を適切に計算して物理運動をシミュレーションします。 Spring SOPは、オブジェクトの変形に影響を与える色々なアトリビュート(質量、摩擦などの特性)と一緒に外部の力を追加できる場所です。
最後にLattice SOPがSpring SOPから変形情報を受取、それをソースジオメトリの球に追加しています。
SpringExamples Example for Spring geometry node
このサンプルでは、Spring SOPの3つの主な機能を説明しています。
Spring SOPで2つのオブジェクト間に相互作用が働くようにして、動きを定義し、力を加えることで入力のジオメトリを変形すれば、布のような効果を作成することができます。
アニメーションを再生してSpring SOPの動作を確認してください。
SpringHair Example for Spring geometry node
このサンプルでは、Spring SOPで動的な髪の毛を作成する方法を説明しています。
ラインを球のポイント上にコピーして、それらをソースとしてSpring SOPに接続しています。 そして、Metaball SOPとForce SOPを髪の毛のモーションエフェクトとして接続しています。
SurfsectBasic Example for Surfsect geometry node
このサンプルでは、Sursect SOPのブーリアン演算の使い方を説明しています。
球からボックスを減算して、6つの円盤を残し、ボックスから球を減算して、角だけを残しています。
UnpackWithStyle Example for Unpack geometry node
このサンプルでは、アンパックと同時にスタイルシート情報を評価することができるUnpack SOPの機能について説明しています。 Nested Packed Primitiveでは、スタイル情報を維持しつつも部分的にアンパックできることを説明しています。 このサンプルでは、Python SOPを使って、プリミティブ単位でスタイルシートから情報を抽出する方法も説明しています。
ProjectionTypes Example for UV Project geometry node
このサンプルでは、UV Project SOPでサポートされている色々な投影タイプを説明しています。
VertexTexture Example for Vertex Split geometry node
このサンプルでは、Vertex Split SOPを使って頂点テクスチャ座標をポイントポジションにコピーするのに十分なポイントを追加する方法を説明しています。
volumefeather Example for Volume Feather geometry node
このサンプルでは、Volume Feather SOPでシャープなボリュームを単純に外側または内側方向に平滑化する方法を説明しています。
volumefromattrib Example for Volume from Attribute geometry node
このサンプルでは、Volume From Attrib SOPでPointアトリビュートをボリュームボクセルに転送する方法を説明しています。
DetectOverlap Example for Volume Merge geometry node
このサンプルでは、Volume SOPとVolume Merge SOPをプロシージャルに使って、たくさんの入力のボリュームの重複した領域を検出する方法を説明しています。
volumemerge Example for Volume Merge geometry node
このサンプルでは、Volume Merge SOPで複数のインスタンス化したボリュームを1台のカメラの視界領域のボリュームに平坦化する方法を説明しています。
ImportVolumes Example for Volume VOP geometry node
このサンプルでは、複数のボリュームをVolume VOP SOPに取り込む方法を説明しています。
ModulusTransform Example for Transform geometry node
このサンプルでは、Transform SOP、Group SOP、剰余演算(%)を使って、周期的なアニメーションを作成する方法を説明しています。
VOPpointgroup Example for Add Point to Group VOP node
1つおきにポイントを新しいグループに追加するVOP SOPのサンプルを説明しています。
ポイントグループのみがVOPでサポートされています。
ここで使用しているVOPは、Add Point To Group VOP、Create Point Group VOP、Point In Group VOPです。
CrinkleSphere Example for Inline Code VOP node
このサンプルでは、Inline Codeノードを使って、VEXコードを直接シェーダやオペレータ定義に記述する方法を説明しています。
PointCloudWrite Example for Point Cloud Write VOP node
このサンプルでは、pcwrite VOPを使って、ポイントクラウドファイルにポイントを書き出す方法を説明しています。 mantra1 ROPをレンダリングして、ポイントクラウドを生成し、gplayコマンドでポイントクラウドを閲覧してください。 ポイントの分布は、Mantraシェーダを実行した場所に依存します。 この場合では、Mantra ROPは、非表示にしたサーフェスをシェーディングして、球のバックフェースからポイントを生成できるように設定しています。
RaytraceVopShader Example for Ray Trace VOP node
このサンプルでは、VOP VEXネットワークを使って、単純なレイトレースシェーダについて説明しています。 シェーダプロパティを修正するには、マテリアル内にPropertiesシェーダを作成して、Outputシェーダノードに接続します。 そして、レンダリングパラメータをPropertiesノードに追加します。 例えば、反射の数を制御するには、reflect limitパラメータを追加します。
SensorDeform Example for Sensor Panorama Create VOP node
このサンプルでは、Sensor Creationに関する説明とConeコマンドを使って深度情報を抽出する方法を説明しています。 これは、中心の球を観測した球で変形させることができます。