On this page |
このノードは、変換行列を使って"オブジェクト空間"でソースジオメトリをトランスフォームします。
選択したプリミティブすべてが同じトランスフォームを受け取ります。Pointアトリビュートでトランスフォームに変化を加えるには、Transform By Attribute SOPを使用します。
Note
Vector VDBsは、intrinsicデータ内のtransformヒントに応じて内部値をトランスフォームさせます。
SDF VDBsは、たとえ均一スケールを実行しても、内部値を更新しません。 これは、VDB Combineを使ってA Multiply値をスケール量に設定することで更新することができます。
パラメータ
Group
トランスフォームするジオメトリのサブセット。
Group Type
Groupフィールドで参照されるエレメントのタイプ。
Transform Order
トランスフォームの順番。
Rotate Order
回転の順番。
Translate
XYZ軸毎の移動量。
Rotate
XYZ軸毎の回転量。
Scale
XYZ軸毎の不均一スケール。
Shear
シアー(傾斜)の度合い。3つの値は、それぞれXY平面上のX、XZ平面上のX、YZ平面上のYを意味しています。
Pivot
トランスフォームのローカルピボットポイント。
Uniform Scale
均一スケール。
Attributes
これらのアトリビュートがトランスフォームとしてマークされていれば、トランスフォームされます。
Attribute Createを使用して、それらのアトリビュートのトランスフォームタイプを Position, Vector, Normal, Quaternion, Transform Matrix に設定します。
アトリビュートを非トランスフォームにする場合は、そのタイプを None に設定するか、このリストから除去します。
もしP
のみがトランスフォームされる場合は、プリミティブのトランスフォームが影響を受けます。
Recompute Point Normals
法線アトリビュートが存在すれば、すべての法線をポイント法線として再計算します。
Recompute Affected Normals
トランスフォームされたポイントとトランスフォームされていないポイントの両方を使用したポリゴンから影響を受ける法線を再計算します。
フルジオメトリや完全に繋がったコンポーネントをトランスフォームする時、その結果は、このオプションをオフにした時と同じになるはずです。
つまり、法線がトランスフォームされるだけで再計算されません。もしP
がトランスフォームされない場合は、これは何もしません。
Preserve Normal Length
法線長さを保持します。
Invert Transformation
変換行列を逆行列にします。これは、指定したトランスフォーメーションを元に戻すトランスフォーメーションです。 このパラメータ以外のパラメータすべてが同じ2つのTransform SOPは、お互いのトランスフォーメーションを打ち消し合います。
Output Attribute
このフィールドが空っぽでない場合、このノードは、適用するトランスフォームを意味した4×4マトリックスの Detail アトリビュートをこの名前で作成します。 例えば、このアトリビュートを使用することで、他の場所で同じトランスフォームを適用したり、後のチェーンで逆トランスフォームをかけることができます。
Combine
既に Output Attribute が存在すれば、これは、このノードによるその既存のアトリビュート値と新しいトランスフォーム値の結合方法を制御します。 "Post-Multiply"は、複数のトランスフォームノードをネットワーク内で相互に接続するのと同じ方法でトランスフォームを適用します。
ローカル変数
CEX, CEY, CEZ
入力の重心。
GCX, GCY, GCZ
入力グループの重心。
XMIN, XMAX
入力の境界ボックスのX座標の範囲。
YMIN, YMAX
入力の境界ボックスのY座標の範囲。
ZMIN, ZMAX
入力の境界ボックスのZ座標の範囲。
SIZEX, SIZEY, SIZEZ
入力の境界ボックスのサイズ。
Examples
ModulusTransform Example for Transform geometry node
このサンプルでは、Transform SOP、Group 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の値を使って、ティーポットのコピーを生成します。
DelayPosition Example for Delay channel node
このサンプルでは、オブジェクトの位置を取得して、Delay CHOPを使って、アニメーションを遅延させる方法を説明しています。
DynamicLights Example for Dynamics channel node
このサンプルでは、Dynamics CHOPを使って、DOPシミュレーションからインパクトデータを抽出して、そのデータを修正して、シーンのライトを制御する方法を説明しています。
ExpressionLine Example for Expression channel node
このサンプルでは、Expression CHOPでエクスプレッションを使う方法を説明しています。
GeometryMethods Example for Geometry channel node
このサンプルでは、Geometry CHOPのAnimatedとStaticの別々の使い方を説明しています。
HoldLight Example for Hold channel node
このサンプルでは、Hold CHOPとDynamics CHOPを使って、新しいインパクトが発生するまで、DOPシミュレーションのインパクトの位置にライトを固定する方法を説明しています。
Lookup Example for Lookup channel node
このサンプルでは、Lookup CHOPを使って、イベントまたはトリガーに基づいてアニメーションを再生する方法を説明しています。
Keyboard Example for MIDI Out channel node
このサンプルでは、MIDI Out CHOPを使ってMIDIデータを書き出し、MIDI In CHOPを使ってMIDIデータを読み込む方法を説明しています。 書き出したMIDIは、ジオメトリベースになっていて、読み込んだMIDIは他のジオメトリを制御しています。
NoiseTransform Example for Noise channel node
このサンプルでは、Noise CHOPを使ってアニメーションを生成して、それをジオメトリに適用する方法を説明しています。
AnimationSequence Example for Sequence channel node
このサンプルでは、3つの別々のオブジェクトからアニメーションを取得して、4つ目のオブジェクトへ1つのアニメーションとしてシーケンス化させる方法を説明しています。
ClipLayerTrigger Example for Agent Clip Layer dynamics node
このサンプルでは、Agent Clip Layer DOPを使って、エージェントの上半身にクリップを適用する方法を説明しています。 このクリップは、そのエージェントが境界ボックス内にある時にアクティブになります。
ApplyRelationship Example for Apply Relationship dynamics node
このサンプルでは、Apply Relationship DOPを使って、Pin拘束をワイヤーオブジェクトに追加する方法を説明しています。
BridgeCollapse Example for Apply Relationship dynamics node
このサンプルでは、Apply Relationship DOPを使って、自動的に拘束を伝搬させて、崩壊する橋のRBDシミュレーションを作成する方法を説明しています。
MutualConstraints Example for Apply Relationship dynamics node
このサンプルでは、Apply Relationshipノードを使って、2つのDOPオブジェクト間を相互に拘束する方法を説明しています。
AnimatedClothPatch Example for Cloth Object dynamics node
このサンプルでは、1枚の布を4つの角でピン留めする方法を説明しています。その4つの角は、アニメーションジオメトリに拘束されています。
ClothFriction Example for Cloth Object dynamics node
このサンプルでは、布オブジェクトの物理特性であるFriction(摩擦)パラメータの使い方を説明しています。
ClothUv Example for Cloth Object dynamics node
このサンプルでは、UV座標を使って、三角形化した布のWarped(縦糸)とWeft(横糸)の方向を指定する方法を説明しています。
UV方向がグリッドのXY方向に揃っているので、メッシュを三角形化していても、四角形グリッドとほぼ同様の見た目になります。
青と黄の線で布の折り目の方向を可視化しています。これは、布オブジェクトのVisualizationタブで有効にすることができます。
MultipleSphereClothCollisions Example for Cloth Object dynamics node
このサンプルでは、色々な特性を使って布を球と衝突させる方法を説明しています。 Stiffness(剛性)とSurface Mass Densityを調整することで、布の挙動を変更することができます。
PanelledClothPrism Example for Cloth Object dynamics node
このサンプルでは、形状を維持した開口部のある角柱を作成する布の作成方法を説明しています。
BreakingSprings Example for Constraint Network dynamics node
このサンプルでは、SOP Solverを使用して、遠くに引き伸ばされたConstraint Network内のスプリング拘束を切る方法を説明しています。
SpringToGlue Example for Constraint Network dynamics node
このサンプルでは、近くのオブジェクト間にSpring拘束を作成して、シミュレーションで、その拘束を接着拘束に変更する方法を説明しています。
AutoFracturing Example for Copy Objects dynamics node
このサンプルでは、Multi Solverと併せてCopy Object DOPを使って、他のオブジェクトと衝突した際に自動的にRBDオブジェクトを半分に割る方法を説明しています。
AnimatedStaticAgents Example for Crowd Solver dynamics node
このサンプルでは、Crowd Solver向けに"アニメーションする静的な"エージェントをセットアップする方法を説明しています。 このようなエージェントは、SOPレベルのアニメーションに追従し、これを障害物として使用したり、ラグドールに変換することができます。
CrowdHeightField Example for Crowd Solver dynamics node
このサンプルでは、Crowd SolverのTerrain AdaptationとBullet SolverのラグドールのコリジョンにHeight Fieldを使用する方法について説明しています。
FootLocking Example for Crowd Solver dynamics node
このサンプルでは、エージェントの足をロックさせる方法について説明しています。
PartialRagdolls Example for Crowd Solver dynamics node
このサンプルでは、部分ラグドールのセットアップ方法について説明しています。エージェントのジョイントのサブセットがBullet Solverによってアクティブオブジェクトとしてシミュレーションされ、残りのジョイントがアニメーションします。
PinnedRagdolls Example for Crowd Solver dynamics node
このサンプルでは、ラグドールを外部オブジェクトに取り付ける拘束のセットアップ方法と、モーターを使ってアニメーションクリップを持つアクティブラグドールを駆動させる方法について説明しています。
Formation Crowd Example Example for Crowd Solver dynamics node
変化する編成のセットアップを説明した群衆サンプル
このセットアップではエージェントの部隊を作成しています。ここでは2つのパスが作成されています。 部隊の中央部分から動き始め、2つの編成に分かれます。 1つが左側に、もう1つが前方に行進して、ゆっくりとその編成が、くさび形に変わります。
エージェントを編成内に維持させるために、独自のジオメトリ形状を使用しています。 その形状は、個々のエージェントに対してゴールとして使用されるポイントです。 その形状をブレンドシェイプさせることで、別の編成に変化させることが可能です。 crowdsourceオブジェクトの中に入って、その構造を確認してください。
Note
アニメーションクリップは、シーンを再生する前にベイクするのに必要です。これは、サンプルをCrowdsシェルフから作成した場合に自動的に行なわれます。 そうでない場合は、シーンファイルを希望の場所に保存し、'/obj/bake_cycles' ROP NetworkのRenderをクリックして、ファイルを書き出します。 それらのファイルのデフォルトのパスは、${HIP}/agentsです。
Stadium Crowd Example Example for Crowd Solver dynamics node
スタジアムのセットアップを説明した群衆サンプル。
このセットアップは、スタジアムの群衆を作成します。 回転するcheer_bboxオブジェクトをエージェントの境界ボックスとして使用しています。 エージェントがそのオブジェクトの中に入ると、座っている状態から応援している状態へ推移します。 数秒後には、応援している群衆がまた座っている状態に戻ります。
Note
アニメーションクリップは、シーンを再生する前にベイクするのに必要です。これは、サンプルをCrowdsシェルフから作成した場合に自動的に行なわれます。 そうでない場合は、シーンファイルを希望の場所に保存し、'/obj/bake_cycles' ROP NetworkのRenderをクリックして、ファイルを書き出します。 それらのファイルのデフォルトのパスは、${HIP}/agentsです。
Tip
群衆の一部だけをもっと高速にプレビューしたいのであれば、/obj/crowdsource/switch_all_subsectionにSwitchノードがあります。 そのスイッチを0に設定すると、すべてのエージェントが表示され、1に設定すると、一部のみが表示されます。
Street Crowd Example Example for Crowd Solver dynamics node
2つのエージェントグループによるストリートのセットアップを説明した群衆サンプル。
このセットアップは、2つのエージェントグループを作成します。 黄色のエージェントがゾンビで、ストリートのパスに沿います。青色のエージェントがぶらついている歩行者で、ゾンビが近づくと走ります。
エージェントの状態を変更するトリガーは、crowd_sim DOPNETでセットアップします。 ゾンビのグループは、信号との距離と信号の色を使用し、信号が赤になると停止状態に変わります。 生存者のグループは、ゾンビが近づくと走行状態に変わります。
Note
アニメーションクリップは、シーンを再生する前にベイクするのに必要です。これは、サンプルをCrowdsシェルフから作成した場合に自動的に行なわれます。 そうでない場合は、シーンファイルを希望の場所に保存し、'/obj/bake_cycles' ROP NetworkのRenderをクリックして、ファイルを書き出します。 それらのファイルのデフォルトのパスは、${HIP}/agentsです。
DensityViscosity Example for FLIP Solver dynamics node
このサンプルでは、ソリッドオブジェクトと作用する異なる密度と粘度を持つ2つの流体について説明しています。
SpinningFlipCollision Example for FLIP Solver dynamics node
このサンプルでは、ジオメトリのVelocityベクトルに基づいて、 ジオメトリ上に撒き散らしたポイントから新しいパーティクルを生成して FLIP流体を作成する方法を説明しています。 また、流体用の衝突オブジェクトとして動作するように、 ジオメトリをセットアップする方法も説明しています。
CombinedSmoke Example for Gas Embed Fluid dynamics node
このサンプルでは、Gas Embed Fluid DOPを使って、2つのSmoke Volumeを結合し、ボリューム間を滑らかにぼかしています。
TeapotUnderTension Example for Gas Surface Tension dynamics node
このサンプルでは、ティーポットの形をした液体のブロッブを作成しています。 そして、表面張力によって、ブロッブを球状に平滑化しています。
MagnetMetaballs Example for Magnet Force dynamics node
このサンプルでは、メタボールのグループに対してMagnet Forceノードを使うことで、 衝撃を与えた時にオブジェクトの破片を跳ね返す方法を説明しています。
このサンプルでは、Particle FluidとRBDオブジェクトを組み合わせることで、相互に影響し合うようにする方法を説明しています。 その結果、球が浮きます。
このサンプルでは、パーティクルベースの流体に粘着性と伸縮性のあるフォースを加えることで、 粘弾性のある流体の挙動を生成する方法を説明しています。 その結果、変形に抵抗して形状を維持しようとする流体のようなオブジェクトになります。
このサンプルでは、パーティクルベースの流体によって高い粘度の流れを作成する方法を説明しています。 この流体によって、溶岩や泥のような遅い流れの流体をシミュレーションすることができます。
この少し複雑なサンプルでは、パーティクル流体のシミュレーション、保存、サーフェス化、レンダリングの単純なワークフローを説明しています。 サンプルにある3つのジオメトリノードの名前は、それぞれ使用する順番としてStep 1、Step 2、Step 3という名前にしています。 各ノードは、パーティクルジオメトリをディスクに書き出したり、ディスクからジオメトリを読み込んだり、ディスクからサーフェス化したジオメトリを読み込みます。 このサンプルでは、さらにシェーダとカメラを組んでいるので、簡単にレンダリングすることができます。
このシーンでアニメーションする流体は、高い弾力を持つゼラチンのようなブロッブです。
ParticleCollisions Example for POP Collision Detect dynamics node
このサンプルでは、POP Collision Detectノードを使って、 変形しながら回転するトーラスと衝突するパーティクルをシミュレーションする方法を説明しています。
CurveForce Example for POP Curve Force dynamics node
このサンプルでは、POP Curve Forceノードを使って、パーティクルシミュレーションとFLIP流体シミュレーションの流れを制御する方法を説明しています。
BaconDrop Example for POP Grains dynamics node
このサンプルは、ベーコンをトーラス上に落とすデモです。 これは、テクスチャマップから2Dオブジェクトを抽出し、同じ肉の筋目をしたオブジェクトをDOPへ繰り返しで追加する方法を説明しています。
TargetSand Example for POP Grains dynamics node
このサンプルでは、モデルの表面上のポイントに引き寄せられる粒のシミュレーションを説明しています。
BillowyTurbine Example for Pyro Solver dynamics node
このサンプルでは、Pyro SolverとSmoke Objectを使って、 タービン(RBDオブジェクト)を通過した煙を渦巻くように放出させる方法を説明しています。 タービンの羽は、Copy、Circle、AlignのSOPでプロシージャルにモデリングしています。
このサンプルでは、RBD Glueオブジェクトからアニメーションキーフレームデータを取り込んで、 それを立方体のシミュレーションにブレンドして、衝撃によって複数の破片に砕く方法を説明しています。
AnimatedObjects Example for RBD Packed Object dynamics node
このサンプルでは、RBD Packed Objectのアニメーションパックプリミティブを使用して、 後にシミュレーションのアクティブオブジェクトへ推移させる方法を説明しています。
Chainlinks Example for RBD Pin Constraint dynamics node
このチェーンシミュレーションでは、個々のチェーンリンクが、RBDシミュレーションでお互いに反応しています。
InheritVelocity Example for RBD State dynamics node
このサンプルでは、RBD Stateノードを使って、オブジェクトの動きからVelocityを継承して、接着したRBD破壊シミュレーション内で、他のオブジェクトと衝突させる方法を説明しています。
ScalePieces Example for Script Solver dynamics node
このサンプルでは、Script Solverノードを使って、RBDシミュレーションで破片を時間軸に沿ってスケールさせる方法を説明しています。
SourceVorticlesAndCollision Example for Smoke Object dynamics node
このサンプルでは、Smoke Source、キーフレームを打ったRBDオブジェクト、Gas Vorticle Geometryなどを使って、単純なSmokeシステムを説明しています。
rbdsmokesource Example for Smoke Object dynamics node
ぼんやりとした四面体がボックス内を跳ね回って、その煙の連続的な放出で臨場感を出しています。
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で生成したフォースを可視化しています。
CompressedSpring Example for Wire Object dynamics node
このサンプルでは、ワイヤーオブジェクトに初期姿勢を指定する方法を説明しています。
Pendulum Example for Wire Solver dynamics node
このサンプルでは、拘束ポイントにあるオブジェクトと振り子の玉にあるオブジェクトを相互に影響を与え合う方法を説明しています。
PortalBox Example for Environment Light object node
このサンプルでは、窓の形状を使って、ポータルライトを作成する方法を説明しています。 ボックスをモデリングして、窓と壁の2つのSOPに分割しています。 環境光のPortal Geometryパラメータに窓を指定して、壁をレンダリングします。 Portal Geometryパラメータをオン・オフして、Render Viewでのレンダリング品質の違いを確認してみてください。
extracttransform Example for Extract Transform object node
このサンプルでは、ジオメトリを、事前にベイクした.bgeoシーケンスで定義された移動するジオメトリの子にする方法を説明しています。
このサンプルで注目すべき特徴は以下の通りです:
-
ジオメトリエリアライト
-
減衰ランプ制御
-
サーフェスモデルのスペキュラーレイヤー
サンプルでは、NURBSカーブに基づいたジオメトリライトを構成しています。 ライトの減衰には、カラーキーを使うことで、異なるライトの色をライトからの距離に応じて生成することができます。 ground plane shaderは、2つのスペキュラーコンポーネント(広いコンポーネントと狭い光沢コンポーネント)でサーフェスモデルを使って、複数レイヤーの外観を生成します。
TransparentShadows Example for Light object node
このサンプルでは、ディープシャドウマップを使って透明シャドウを設定する方法を説明しています。 シーンには、影を落とす透明なグリッドを配置しています。 レンダラーには、マイクロポリゴンレンダリングを使用しています。
IndirectLightBox Example for Indirect Light object node
このサンプルでは、間接Diffuse照明用の間接光オブジェクトをセットアップする方法を説明しています。 シーンは、何回も押し出して作成したボックスと、光源とカメラで構成されています。 カメラの範囲に入るすべてのライトが、カメラに到達する前にシーン内で2度以上跳ね返るようにライトを配置しています。 間接光オブジェクトは、100万個のフォトンを生成するように設定されています。 フォトンマップを可視化するには、ライトのレンダリングモードを"Direct Global Photon Map"に変更します。 サンプリング品質を調整するには、Mantra ROPのPixel SamplesまたはRay Samplesを修正します。 このサンプルで使用するレンダリングエンジンは、PBRです。
TubeCaustic Example for Indirect Light object node
このサンプルでは、コースティクスのフォトンマップ生成用の間接光オブジェクトをセットアップする方法と、ライトマスクとフォトンターゲットの使い方を説明しています。 シーンは、反射するチューブとポイントライトと環境ライトで構成されています。 各ライトには、コースティクスを生成する間接光があり、ライトマスクによって指定したライトからのみフォトンを生成しています。 フォトンターゲットを使って、フォトンを反射するチューブに向かってのみ送信しています。 Mantra ROPは、ライト単位でdirect_diffuseコンポーネント用のディープラスター平面を生成し、2つのライトからのDiffuse照明とコースティクスを別々の平面に分けます。
環境ライト
ポイントライト
switchcamera Example for Switcher object node
このサンプルでは、2つのカメラ間でビューを切り替え、Renderノードで出力するシーンを切り替える方法を説明しています。
AlembicLayer Example for Alembic render node
このサンプルでは、Alembic ROPノードを使ってAlembicレイヤーを作成する方法について説明しています。
FetchROP Example for Fetch render node
このサンプルでは、Fetch ROPを使って、異なるネットワークにあるROPノードにレンダー依存関係を構築する方法を説明しています。 noise COPを使って、Mantraでレンダリングするサーフェスに対してJust-In-Timeでテクスチャを生成します。
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でそのままボリュームとしてレンダリングすることが可能です。メタボールのレンダリングを有効にするには、ジオメトリオブジェクトの Render タブの Geometry サブタブの Metaballs as Volume パラメータをチェックします。メタボール上のPointアトリビュートは、Pointアトリビュートがメタボールサーフェスに対して補間されるのと同様に、シェーディングポジションで補間されます。
以下に、ランダムなポイントカラーアトリビュートを使ったサンプルを載せています:
シャドウ品質とパフォーマンスの制御
シャドウマップの生成には、 Pixel Samples と Shadow Step Size パラメータ(Mantra ROP内)を使って、サーフェスに対して使用するのとまったく同じ方法で、品質とパフォーマンスを制御します。ほとんどのボリュームは、柔らかいDiffuseシャドウを落とすので、ボリュームレンダリングの時は、低解像度のディープシャドウマップを使ってレンダリング時間を短くすることがほとんどです。シャドウマップの 解像度 は、Houdiniのライトの Shadow タブで変更することができます。
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にしています。シャドウの細部が消えて、ボリュームが少し透明になっています。品質レベルは、ほぼ同じです。
Volume Rendering - プリミティブからのボリュームレンダリング Example for Mantra render node
ボリュームレンダリングは、高品質な煙、雲、飛沫、炎などのボリュームエフェクトを統合したレンダリングを可能にするレンダリング手法です。
ボリュームレンダリングは、多くのタイプのボリュームエフェクトのレンダリングに適しています。Mantraボリュームによるレンダリングが特に適したシーンは以下のとおりです:
-
詳細な"hero"(メインとなる)の雲、煙、炎
-
インスタンス化した雲、煙、炎のフィールド(視界)
流体ソルバを呼び出さなくても、プリミティブからボリュームを簡単に作成することができます。
この特化したサンプルでは、プリミティブのトーラスを使って、煙のボリュームをレンダリングしています。IsoOffset SOPを使えば、トーラス内部を充たすボリュームが生成されます。そして、VEX Volume Cloudを使ったマテリアルを、トーラスの形状をしたボリュームデータに割り当てています。 Smoke Cloud Density を5に、 Smoke Shadow Density を10に設定すれば、煙のような見た目を作成することができます。
以下の画像は、 Volume Quality (Mantra ROP)、 Shadow Quality (スポットライトの Shadow タブの Depth Map Shadows タイプ)、 Sampling Divs (IsoOffset SOPの Dimensions タブの Uniform Sampling を"Non Square"に設定)を調整してレンダリングしたトーラスです。煙のDiffuseカラーも調整しています。
このサンプルでは、アニメーションするランプと参照ランプの使い方を説明しています。
このサンプルでは、Shutter Shapeパラメータで、グレースケールのランプでシャッターの開口時間を制御する方法を説明しています。
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
アトリビュート)をスタンプしてアニメーションしています。
StyleDisplacement Example for Material shader node
このサンプルファイルでは、2つの四角形で構成されたオブジェクトに対して、片方の四角形にはバンプマップを、もう片方の四角形にはTrue Displacementが適用されています。 そのオブジェクトが複製されており、2番目のコピーでは、スタイルシートを使用して、それらの2つの四角形に対してマテリアルの割り当てを逆にしています。
Basic RIS Shading Example Example for RIS Shader Network shader node
このファイルでは、私達はシンプルなジオメトリを作成し、そこにBxDFシェーダを割り当てています。 シェーディングネットワークは、BxDFシェーダに接続されたパターンシェーダで構成されています。
VolumeNoiseIso Example for Mantra: VEX Volume Procedural shader node
このサンプルでは、Mantraのボリュームレンダリング機能を使って、CVEXシェーダで定義したアイソサーフェスをレンダリングする方法を説明しています。 noiseフィールドをCVEXシェーダで生成し、それをVEX Volume Proceduralに接続しています。 密度が0のサーフェスを見つけて、法線を表示するSimple Surfaceシェーダを使ってシェーディングすることで、ボリュームをシェーディングします。
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ではさらに縦の列と横の列のポイントを作成することもできます。
PackedFragments Example for Assemble geometry node
このサンプルでは、Assemble SOPを使用して、リジッドボディシミュレーション向けに球をパックオブジェクトに分解する方法を説明しています。
BlendAttr Example for Attribute Composite geometry node
このサンプルでは、Attribute Composite SOPを使ってアトリビュートをブレンドする方法を説明しています。
CopyUsingOrient Example for Attribute Reorient geometry node
このサンプルでは、Attrib Reorient SOPを使って、方向アトリビュート名の"orient"をポイントに追加する方法を説明しています。 それらのアトリビュートをCopy SOPを使って各インスタンスに適用しています。
RandomMaterial Example for Attribute String Edit geometry node
このサンプルでは、Attrib String Edit SOPを使って、文字列Primitiveアトリビュートの修正と、
プリミティブ単位でグリッドのカラーをランダム化する方法を説明しています。
サンプルでは、material_override
Primitiveアトリビュートの文字列値にdiff_int
を修正しています。
CapTubeExamples Example for Cap geometry node
このサンプルでは、円柱の穴を埋める方法をタイプ別で説明しています。
NURBS、メッシュ、Bezierの3つのジオメトリに対して穴を埋めています。
ジオメトリのタイプ別にfaceted, shared, rounded, tangentialの穴埋めのタイプのサンプルを用意しています。
穴埋めのタイプの詳細は、Cap SOPのヘルプを参照してください。
CopySpikes Example for Carve geometry node
このサンプルでは、Carve SOPがサーフェスから3Dアイソパラメトリックカーブを抽出する方法と、その抽出したカーブをコピーのテンプレートとして使用する方法を説明しています。
Carve SOPを使ってプリミティブをスライスしたり、複数の断面にカットしたり、プリミティブからポイントや横断面を抽出することができます。
このサンプルでは、Extractオプションを使って3Dアイソパラメトリックカーブを抽出しています。Carve SOPは同じV方向の値を持ったサーフェス上のポイントからカーブを抽出するので、円盤のような形状が連続して作成されています。
Copy SOPは、それらのカーブ上のポイントをテンプレートとして使用して、ソースジオメトリをコピーしています。
CircleExamples Example for Circle geometry node
このサンプルでは、Circleのジオメトリタイプと円弧タイプの違いを説明しています。
ジオメトリタイプには、primitives, polygons, NURBS, Beziersがあります。
円弧タイプには、closed circle, open arc, closed arc, sliced arcがあります。
サンプルの円弧は、アニメーションするので、アニメーションを再生して、その円弧が開いていることを確認してください。
ClipVariations Example for Clip geometry node
このサンプルでは、ジオメトリに対してClip SOPの色々な使用方法を説明しています。
クリップ平面で制限したジオメトリの部分に依存して、効果が生成されています。
Clip SOPはクリップ平面でグループ境界を指定することで、グループツールとしても使用することができます。
クリップ平面はアニメーション可能です。アニメーションを再生して、その結果を確認してください。
ConvertBasic Example for Convert geometry node
このサンプルでは、Convert SOPが単純な球を使ってジオメトリタイプを変換する色々な方法を説明しています。
この説明ではチャートを使用しています。
チャートの左側では、変換元のジオメトリタイプを説明しています。
チャートの上側では、変換先のジオメトリタイプを説明しています。
この説明で使用しているSphere SOPとConvert SOPすべては、違いを分かりやすくするためにデフォルト値を使用しています。
CurveToPrimCircle Example for Convert geometry node
このサンプルでは、カーブをプリミティブの円に変換する方法を説明しています。
NURBSまたはBezierの閉じたカーブをプリミティブの円に変換するには、最初にポリゴンに変換する必要があります。
閉じたポリゴンカーブに変換してしまえば、カーブをプリミティブの円に変換することが可能です。
このサンプルでは、Cookie SOPを使ってブーリアン演算を実行する方法を説明しています。
このインスタンスでは、ポイントをFacet SOPを使って結合し、Divide SOPを使ってサーフェスを滑らかにして、Cookie SOPで円柱で減算して穴を空けています。
このサンプルでは、Cookie SOPを使ってブーリアン演算を実行する方法を説明しています。
星の形状を作成して、それを球から減算しています。
ParticleCopyScale Example for Copy Stamp geometry node
Copy SOPは、Particle SOPを使ったパーティクルをテンプレートとしてジオメトリをコピーすることができます。このサンプルでは、Copy SOPのScaleパラメータを使って特殊な効果を作成しています。 Copy SOPは、Scale以外にもコピーしたジオメトリのアトリビュートを制御することができます。
アニメーションを再生して、その効果を確認してください。
StampStars Example for Copy Stamp geometry node
このサンプルでは、Copy SOPのStampの機能のパワーを説明しています。
ここでは、Copy SOPを使って、円を球のポイントにコピーしています。 Stampタブでは、円の分割数、スケール、カラー、押出し量などの色々な調整をコピーに適用しています。その結果、色々な形の“星”がランダムに生成されています。
Stampにエクスプレッションを使えば、単純な円から色々な数の星を作成することができます。
CreaseBasic Example for Crease geometry node
このサンプルでは、Crease SOP, Vertex SOP, Attribute Create SOP, Subdivide SOPの4つの方法を使って、creaseweightアトリビュートをポリゴンジオメトリに追加しています。
また、MantraとRenderManでレンダリングした際にも違いが出てきます。Mantraは著作権の問題でcreaseをレンダリングできないことを知っておいてください。
Note
Mantraでcreaseをレンダリングするには、そのジオメトリを計算できるようにSubdivision SOPを追加する必要があります。オブジェクトレベルでRenderタブのGeometryパラメータをGeometry As Isに設定してください。
RenderManを使用していれば、Subdivide SOPは単なる結果のプレビュー用にすぎません。RenderManはレンダリング中にcreaseを計算します。オブジェクトレベルでRenderタブのGeometryパラメータをPolygons as Subdivision Surfacesに設定してください。
CreepSpiral Example for Creep geometry node
このサンプルでは、Creep SOPを使ってラインをチューブの上に螺旋状に巻きつける方法を説明しています。
CreepWeave Example for Creep geometry node
このサンプルでは、ジオメトリを受け取り、それをアニメーションするサーフェスに這わせる方法を説明しています。
織物の形をしたfabric.bgeoをFile SOPで取り込んでいます。 NURBSグリッドはsinとnoise関数を使って、波のように揺れるアニメーションを表現しています。
fabric.bgeoがCreep SOPでアニメーションするサーフェス上を這うことで、織物が波のように揺れているように見えます。
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を参照して、低解像度ジオメトリでシミュレーションをして、その結果を高解像度ジオメトリに転送してレンダリングしています。
ReferenceGeometry Example for Edit geometry node
このサンプルでは、アニメーションするジオメトリにEdit SOPを適用した時にEdit SOPのReference Geometryの入力を接続した場合と接続しない場合の違いを説明しています。
ExtractAnimatedTransform Example for Extract Transform geometry node
このサンプルでは、剛体の動きを表現した変形ジオメトリから、トランスフォームがアニメーションされたパックプリミティブを作成する方法を説明しています。 この結果は、リジッドボディシミュレーションのColliderに適しています。
PackedPoints Example for File geometry node
このサンプルでは、File SOPを使って、ディスクのパックプリミティブの遅延ロードを実行して、 モーションブラーのレンダリングでフレーム毎に複数ジオメトリのサンプリングを行なう方法を説明しています。 パックジオメトリをディスクに保存すると、参照付きでポイントジオメトリのみがディスクファイルに保存されます(ディスクファイルは非常に軽いです)。
PackedSamples Example for File geometry node
このサンプルでは、File SOPを使って、パックプリミティブの遅延ロードを実行して、 モーションブラーのレンダリングでフレーム毎に複数ジオメトリのサンプリングを行なう方法を説明しています。
GridFillet Example for Fillet geometry node
Fillet SOPを使えば、2つのNURBSサーフェス間にパラメータ付きでブリッジを作成することができます。 フィレットは元のサーフェスのUV情報をブリッジに使用します。
フィレットのタイプには、Freeform、Convex、Circularがあります。Freeformは通常では自然とした滑らかな形状を生成します。 左右のUV、Width、Scale、Offsetなどのパラメータを使ってサーフェス間のフィレットの位置を制御します。
DirectedEdgesPath Example for Find Shortest Path geometry node
このサンプルでは、FindShortestPath SOPを使って、指向性のエッジを持つジオメトリから最短パスを見つける方法を説明しています。 指向性のエッジは、1方向にしか移動できません。
SOPがどのように間違えた方向を回避するのか、なぜ出力方向のエッジのみではポイントに到達できないのかを調べるために、指向性のエッジだけでなく、開始/終了点も変更してみてください。
PathAnalysis Example for Find Shortest Path geometry node
これは、FindShortestPathとAttribWrangleによる測定に基づいた"中心軸"パスを優先にする高度なサンプルです。これは、壁への近接を回避するのに役に立ちます。
空間内でもっと簡単に確認するには、Display OptionsダイアログのOptimizationタブにあるCulling > Remove Backfacesをオンにします。 Switchノードを使って別の中心軸測定を可視化してみてください。パスの中心軸を考慮しない同じサンプルを、違いがわかるようにSOPネットワーク内の端に置いています。
FitCurves Example for Fit geometry node
このサンプルでは、Fit SOPを使ってNURBSカーブを基本ポリゴンカーブにフィットさせる方法を説明しています。
Fit SOPは、入力ジオメトリのポイントを通過するNURBSまたはBezierカーブを新しく構築します。
フィッティングには方法が2通りあります:
Interpolationは、入力カーブ(元のポリゴンカーブ)と同じCVの数を出力します。
Approximationは、CVの数を減らすと同時に、入力ポイントを通過するカーブを近似します。
アニメーションを再生して、これら2つの方法がカーブに与える影響の違いを確認してください。
FitSurfaces Example for Fit geometry node
このサンプルでは、Fit SOPを使ってポリゴンメッシュをNURBSサーフェスにフィットさせる方法を説明しています。フィッティングには方法が2通りあります:
-
Approximationは、データポイントのパスに従っておおまかにプリミティブを生成します。
-
Interpolationは、データポイントすべてを通過するプリミティブを生成します。
このサンプルでは、Fluid Source SOPを使って、新しいボリュームの色を煙のシミュレーションに加えて移流させる方法を説明しています。
BubblyFont Example for Font geometry node
Font SOPを使ってシーン内に3Dテキストジオメトリを作成することができます。
ジオメトリはポリゴン、Bezier、またはその2つを組み合わせて設定されます。
カーブを含んだ文字にはBezier、直線のエッジにはポリゴンという組み合わせが使われます。
デフォルト以外のフォントはFontパラメータで指定します。
ForceBasic Example for Force geometry node
このサンプルでは、Metaball SOPとParticle SOPをForce SOPと組み合わせてダイナミックアニメーションを作成する方法を説明しています。
Force SOPのRadial Forceパラメータを使用すると、パーティクルが内側と外側に吹きつけられます。 Directional Forceパラメータを使用すると、ある軸を基準にメタボールがぐるぐるまわると、それに伴って回転する渦が作成されます。
再生ボタンを押してアニメーションを確認してください。
FurBallWorkflow Example for Fur geometry node
このサンプルでは、Fur SOPとMantra Fur Procedural SHOPをアニメーションするスキンジオメトリに適用する方法を説明しています。 CVEXシェーダを使って、ジオメトリに割り当てられたアトリビュートに応じて髪の毛の見た目を定義しています。
HoleBasic Example for Hole geometry node
このサンプルでは、Hole SOPの使い方を説明しています。
そこにはHole SOPを使ったサンプルが4つあり、サーフェスに穴を追加したり、穴を削除する方法を説明しています。
BasicJoin Example for Join geometry node
このサンプルでは、Join SOPが複数のパーツのジオメトリをフェースとサーフェスで接続する方法を説明しています。
Join SOPは個々のパーツのジオメトリをアトリビュートを引き継いで1つのプリミティブに結合します。
NURBS、Bezier、メッシュのサーフェスをJoin SOPで使用します。
ポリゴンはJoin 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とVEX Layered Surface SHOPを使用することで、別々のUVセットに複数のシェーディングレイヤーを持たせる方法を説明しています。
LsystemBuilding Example for L-System geometry node
このサンプルは、L-System SOPを使って窓のあるビルを生成する方法を説明しています。
MagnetDistortion Example for Magnet geometry node
このサンプルでは、Magnet SOPの色々な使い方を説明しています。 Magnet SOPを使ってポイントの位置・カラー・法線・Velocityに影響を与えることができます。
このサンプルでは、MDD SOPとMDD File Writer ROPの使い方を説明しています。
BoxNormals Example for Normal geometry node
このサンプルでは、Normal SOPを使用して、5つのタイプのボックスと押し出されたテキストに対して、ポイント法線と頂点法線の見た目の違いを説明しています。
このサンプルでは、Particle SOPを使って、ひらひらと舞う葉っぱのシミュレーションの作成方法を説明しています。
また、Point SOPでポイント法線を修正することで、パーティクルの速度と方向に影響を与える方法を説明しています。 パーティクルとは実際には空間内のポイントなので、パーティクルのアトリビュートを制御するにはPoint SOPを使用するのが効果的な方法です。
再生ボタンを押してシミュレーションを確認してください。
このサンプルでは、パーティクルのソースにグリッドを使い、MetaballとForce SOPを組み合わせてParticle SOPを使うことで物理アニメーションを作成しています。
メタボールの船が航跡沿いからパーティクルを外側に弾き出しながら突き進んで行きます。 Force SOPを使うことでパーティクルが船に反応するようになっています。
アニメーションを再生して全体の効果を確認してください。
このサンプルでは、いくつかのParticle SOPと基本モデルから噴水を作成する方法を説明しています。
法線オフセット、速度の多様化、衝突時の動作を設定して、パーティクルの動きと見た目を設定する方法がわかります。
Particle SOPはSOPレベルでパーティクルを作成することができ、そのパーティクルを直接ジオメトリと作用させることが可能です。 さらに、パーティクルは次々とポイントジオメトリとして扱われます。
このサンプルでは、チューブオブジェクト上を這うパーティクルとチューブオブジェクトに衝突するパーティクルがあります。 そのオブジェクトのポイント法線(パーティクルの法線を含む)を調整してSOP内のパーティクルを制御することも可能です。
PartitionBall Example for Partition geometry node
このサンプルでは、Partition SOPによってDOPオブジェクトを決定して、DOPシミュレーション内のジオメトリを分解する方法を説明しています。
PointExamples Example for Point geometry node
Point SOPは非常に汎用的なオペレータです。 このサンプルでは、Point SOPを使ってポイントのウェイト、カラー、法線、UVのアトリビュートを制御する方法を説明してます。
さらに、Point SOPによってPointアトリビュート間に色々な関係を作成することができます。
PointNormals Example for Point geometry node
このサンプルでは、Point SOPを使って法線をジオメトリに追加する方法を説明しています。
また、ポイント法線をコピーしたジオメトリの向きとシェーダの外観に影響を与える方法も説明してます。
PointSpiral Example for Point geometry node
このサンプルでは、Point SOPを使って直線を螺旋に変換する方法を説明しています。
ここでは2つの方法があります。 1つ目が直線のポイント番号を使ってエクスプレッションで定義する方法です。 2つ目が直線の境界ボックスのポイントの位置を使ってエクスプレッションで定義する方法です。
AlphaOmega Example for Points from Volume geometry node
このサンプルでは、Points From Volume SOPでFLIPシミュレーション用のターゲットゴールを作成して、指定したジオメトリを満たすようにします。
BridgeCurvesandPrims Example for Poly Bridge geometry node
これには、Bridge SOPの使用方法を説明したサンプルが2つ入っています。
最初のサンプルでは、カーブをNURBSに投影して、そのカーブでトリムしたNURBSにBridge SOPを使用する方法を説明しています。2番目のサンプルでは、2つに離れたプリミティブにBridge SOPを使用する方法を説明しています。
再生ボタンを押してBridge_ Two_Carvesオブジェクトのアニメーションを確認してください。
PolyreduceBatwing Example for PolyReduce geometry node
このサンプルでは、Polyreduce SOPを使って、ジオメトリのポリゴン数を減らす方法を説明しています。
PrimitiveColors Example for Primitive geometry node
このサンプルでは、Primitive SOPでカラーアトリビュートをプリミティブに追加する方法を説明しています。
rand()関数をRGBフィールドに使用することで、各プリミティブに別々のランダムなカラーを生成しています。
prim()関数はSOPのアトリビュート値を参照するために使用し、他のSOPのアトリビュート値を駆動しています。
FlagProfiles Example for Profile geometry node
このサンプルでは、Project SOPでサーフェス上のプロファイルを作成する方法する方法を説明しています。
Profile SOPでサーフェスからプロファイルを抽出したり、プロファイルをサーフェスに再マップしています。 プロファイルをサーフェスに合わせてアニメーションさせたり、サーフェス内をアニメーションさせています。
BasicRail Example for Rails geometry node
このサンプルでは、Rail SOPで単純なカーブを指定して、そのカーブに基づいてサーフェスを作成しています。
単にSOPのパラメータを変えるだけで、色々なサーフェスを作成することができます。 最終的にはカーブが消えてサーフェスが残ります。
RayWrap Example for Ray geometry node
Ray SOPは、あるサーフェスを他のサーフェス上に投影します。
これは、投影元のサーフェスの法線と投影先のサーフェスとの衝突を計算しています。
このサンプルでは、Ray SOPでGridサーフェスをSphereサーフェス上に投影しています。 Facet SOPは、投影したGridの法線を修正しています。
BasicRefine Example for Refine geometry node
このサンプルでは、Refine SOPを使って、たくさんのタイプのサーフェスからディテールを追加・削除する方法をいくつか説明しています。
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適用あり
BasicRevolve Example for Revolve geometry node
このサンプルでは、Revolve SOPに指定した軸でカーブやサーフェスを回転させてジオメトリを作成する方法を説明しています。 トーラスや花瓶のような単純なオブジェクトはRevolve SOPとユーザー定義の入力で生成します。
ここでは、ジオメトリタイプ毎のRevolve SOPのパラメータの違いを確認してください。
DoorWithPolkaDots Example for Scatter geometry node
このサンプルでは、入力ジオメトリを再修正したり壊すことでトポロジーが変わってしまっても、整合性を保つようにポイントをばら撒くScatter SOPの使い方を説明しています。 これは、テクスチャ空間にポイントをばら撒くオプションで実現しています。
SpottedSoccerBalls Example for Scatter geometry node
このサンプルでは、Scatter SOPを使用して、別々の破片が追加または削除されても、整合性を保つようにポイントをばら撒く方法を説明しています。 これは、プリミティブ毎に独自の乱数シードを使用するオプションで実現しています。
SkinCurves Example for Skin geometry node
このサンプルでは、Skin SOPを使って、1本のカーブにサーフェスを作成する方法、6本のカーブに対して2本のカーブ毎にサーフェスを作成する方法、三角状に配置された3本のカーブに対してサーフェスを作成する方法を説明しています。
このサンプルでは、Spring SOPの3つの主な機能を説明しています。
Spring SOPで2つのオブジェクト間に相互作用が働くようにして、動きを定義し、力を加えることで入力のジオメトリを変形すれば、布のような効果を作成することができます。
アニメーションを再生してSpring SOPの動作を確認してください。
このサンプルでは、Spring SOPで動的な髪の毛を作成する方法を説明しています。
ラインを球のポイント上にコピーして、それらをソースとしてSpring SOPに接続しています。 そして、Metaball SOPとForce SOPを髪の毛のモーションエフェクトとして接続しています。
このサンプルでは、Spring SOPで直線をラバーバンドのような特性を追加しています。 Xform SOPと組み合わることで、ラバーバンドが床の上を跳ねます。
SurfsectBasic Example for Surfsect geometry node
このサンプルでは、Sursect SOPのブーリアン演算の使い方を説明しています。
球からボックスを減算して、6つの円盤を残し、ボックスから球を減算して、角だけを残しています。
SweepBasic Example for Sweep geometry node
このサンプルでは、Sweep SOPでジオメトリをカーブ上のポイントにコピーする方法を説明しています。
Sweep SOPは、コピーするジオメトリをコピー先のカーブ上のポイントに自動的に垂直に配置することができる独特な使い方ができます。 コピーしたジオメトリのスケールにバリエーションを加えるためにエクスプレッションを使っています。
PlateBreak Example for TimeShift geometry node
このサンプルでは、TimeShift SOPを使って破壊シミュレーションでスローモーションのエフェクトを表現する方法を説明しています。
このサンプルでは、Twist SOPの柔軟性を説明しています。 Twist SOPでは、twist, bend, shear, taper, linear taper, squashなどのたくさんの処理ができます。
ここでは、Twist SOPのPolygon, Mesh, NURBs, NURBs Perfect, Bezier, Bezier Perfectの別々のジオメトリタイプへの影響の違いを説明しています。
UnpackWithStyle Example for Unpack geometry node
このサンプルでは、アンパックと同時にスタイルシート情報を評価することができるUnpack SOPの機能について説明しています。 Nested Packed Primitiveでは、スタイル情報を維持しつつも部分的にアンパックできることを説明しています。 このサンプルでは、Python SOPを使って、プリミティブ単位でスタイルシートから情報を抽出する方法も説明しています。
ResolutionTarget Example for Vellum Solver geometry node
このサンプルでは、詳細な皺のままモーション全体を維持できるように、高解像度のVellum Clothシミュレーションを前の低解像度シミュレーションに合わせる方法について説明しています。
volumemerge Example for Volume Merge geometry node
このサンプルでは、Volume Merge SOPで複数のインスタンス化したボリュームを1台のカメラの視界領域のボリュームに平坦化する方法を説明しています。
barycenter Example for Volume Reduce geometry node
このサンプルでは、Volume Reduce SOPで3Dオブジェクトの重心を計算する方法を説明しています。
Wireblend Example for Wire Blend geometry node
このサンプルでは、Wire Blend SOPで入力のカーブをブレンドする方法を説明しています。 ここでは、モーフィングのターゲットとなる3つカーブをWire Blend SOPに接続し、Differencingオプションにチェックを付けています。 入力のモーフィングのブレンド値をキーフレームして、特定のエフェクトを表現しています。 アニメーションを再生して、結果を確認してみてください。
ModulusTransform Example for Transform geometry node
このサンプルでは、Transform SOP、Group SOP、剰余演算(%)を使って、周期的なアニメーションを作成する方法を説明しています。
example_top_ffmpegencodevideo Example for FFmpeg Encode Video TOP node
このサンプルでは、FFmpeg Encode Videoノードを使って、画像シーケンスを動画ファイルに変換する方法について説明しています。
example_top_ffmpegextractimages Example for FFmpeg Extract Images TOP node
このサンプルでは、FFmpeg Extract Imagesノードを使って、動画ファイルから画像を抽出する方法について説明しています。
example_top_renderifd Example for Render IFD TOP node
このサンプルでは、Render Ifdノードを使ってIFDファイルを書き出す方法について説明しています。
example_top_ropcomposite Example for ROP Composite Output TOP node
このサンプルでは、PDGデータを入力としたROP Compositeノードを使って、COPネットワークを実行する方法について説明しています。
WornMetal Example for Curvature VOP node
このサンプルでは、Curvature VOPをシェーダネットワークに追加して、マテリアルに剥げやアンティーク調の見た目を追加する方法を説明しています。
Fuzzy Logic Obstacle Avoidance Example Example for Fuzzy Defuzz VOP node
このサンプルでは、Fuzzy Logicコントローラを使用して実装されたエージェントの障害物回避とパスへの追従を説明しています。
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パラメータを追加します。
See also |