On this page |
Attribute Renameノードは、手動でPoint/Primitiveアトリビュートの名前変更と削除をすることができます。 RenderManタブでは、RenderManレンダラーで使用する.ribデータストリームの作成に特化したアトリビュートを再マップすることができます。
再マップ、名前変更、削除は、すべてのタイプのジオメトリをサポートしています。
Rendermanの例
Cd Cs "vertex color" 0
|
Diffuseカラーを頂点カラー毎にRIBとしてマッピングします。 |
uv s "varying float" 0
|
テクスチャ座標をRIB "s"座標に単一の可変floatとしてマッピングします。 |
uv t "varying float" 1
|
テクスチャ座標をRIB "t"座標に単一の可変floatとしてマッピングしますが、オフセットを1にすることで、2番目の座標が"t"座標として使われます。 |
上級
RIBにブロッブプリミティブを生成すると、文字列パラメータが空っぽのリストにハードコーディングされます。
SOHOは"RiBlobby_Strings"(大文字小文字の区別あり)という名前のDetailアトリビュートを検索します。
この文字列の値は、Python関数のshlex.split()に記述した構文を使って解読されます。その結果の文字列のリストは、RiBlobby()
コールで出力されます。
パラメータ
Point
概要
Pointアトリビュートの名前を変更します。1番目の縦の列に既存アトリビュートを指定します。2番目の縦の列には新しいアトリビュート名を指定します。
Delete Attributes
削除する既存アトリビュートを指定します。
Keep Attributes
削除しない既存アトリビュートを指定します。これに一致するアトリビュートは、delete文字列で削除されずに保持されます。それ以外のアトリビュートは削除されます。
Update Local Variables
名前を変更または削除するアトリビュートを参照しているローカル変数すべても名前を変更または削除されます。
Vertex
概要
Vertexアトリビュートの名前を変更します。1番目の縦の列に既存アトリビュートを指定します。2番目の縦の列には新しいアトリビュート名を指定します。
Delete Attributes
削除する既存アトリビュートを指定します。
Keep Attributes
削除しない既存アトリビュートを指定します。これに一致するアトリビュートは、delete文字列で削除されずに保持されます。それ以外のアトリビュートは削除されます。
Primitive
概要
Primitiveアトリビュートの名前を変更します。1番目の縦の列に既存アトリビュートを指定します。2番目の縦の列には新しいアトリビュート名を指定します。
Delete Attributes
削除する既存アトリビュートを指定します。
Keep Attributes
削除しない既存アトリビュートを指定します。これに一致するアトリビュートは、delete文字列で削除されずに保持されます。それ以外のアトリビュートは削除されます。
Detail
概要
Detailアトリビュートの名前を変更します。1番目の縦の列に既存アトリビュートを指定します。2番目の縦の列には新しいアトリビュート名を指定します。
Delete Attributes
削除する既存アトリビュートを指定します。
Keep Attributes
削除しない既存アトリビュートを指定します。これに一致するアトリビュートは、delete文字列で削除されずに保持されます。それ以外のアトリビュートは削除されます。
RenderMan
概要
このタブは、RIBストリームに出力するアトリビュートの仕様を決めることができます。 1番目の縦の列にHoudiniのアトリビュート名を指定します。2番目の縦の列にはRIBのアトリビュート名を指定します。 タイプのメニューは、RenderManアトリビュートデータで可能なタイプです。 Offsetは、RenderManの値を指定した時のHoudiniアトリビュートとの値の埋め合わせをすることができます。
HoudiniのPointアトリビュートに対しては、varyingまたはvertexのどちらかのタイプを使ってください。
HoudiniのPrimitiveアトリビュートに対しては、uniformまたはconstantのどちらかのタイプを使ってください。 Constantタイプは、メッシュとNURBSのプリミティブを扱う時に効率的ですが、そうでない場合は、実際にはあまり違いがありません。
RenderManタイプの違いを調べたいのであれば、ピクサーの"Application Note #22"を参照してください。
Add Default Mappings
RIBスタンダード変数にマッピング可能なスタンダードアトリビュートを追加します。このトグルをオンにすると、以下のアトリビュートマッピングが追加されます:
Houdini
RIB
Cd
Cs
Alpha
Os
uv(0)
s
uv(1)
t
N
N
rest
Pr
width
width
Update Local Variables
名前を変更または削除したアトリビュートを参照しているローカル変数もすべて名前を変更または削除されます。
Overwrite Existing Attributes
指定したターゲットのアトリビュートが既に存在していれば、それを削除して、ソースのアトリビュートで置換します。
Examples
AttributeRename Example for Attribute Rename geometry node
このサンプルでは、Attribute SOPを使ってHoudini内のアトリビュートを削除・名前変更する方法を説明しています。 RendermanのRIBを適切に出力するために、アトリビュートの名前を変更することがあります。
The following examples include this node.
PointAnchors Example for Constraint Network dynamics node
このサンプルでは、ポイントアンカーを使った基本的なConstraint Networkの作成方法を説明しています。
このサンプルでは、RBDオブジェクトで押しつぶされる草をシミュレーションしています。 Furオブジェクトで草の葉を表現し、Wireオブジェクトで動きをシミュレーションしています。 単一のFurオブジェクトで草を表現し、その近辺の草の葉がそれに合わせて動きます。 硬さが異なるオブジェクトを追加すれば、不均一な動きを表現することができます。 "Complex Mode"を有効にすると、2つのオブジェクトを使って草が表現されます。 それぞれのカーブに設定した硬さは、Wireオブジェクトの"Angular Spring Constant"と"Linear Spring Constant"パラメータで調整することができます。
MagnetMetaballs Example for Magnet Force dynamics node
このサンプルでは、メタボールのグループに対してMagnet Forceノードを使うことで、 衝撃を与えた時にオブジェクトの破片を跳ね返す方法を説明しています。
ShatterDebris Example for RBD Fractured Object dynamics node
このサンプルでは、破壊の方法を説明しています。 RBD Fractured ObjectやDebrisのシェルフツールを使えば、破壊されたジオメトリの破片から発生する瓦礫を作成することができます。
まず最初に破壊の定義をするために、Shatterツール(Modelシェルフ)をグラスに使用します。 次にRBD Fractureツールをグラスに使用して、その破壊された破片をRBDオブジェクトにします。 最後にDebrisツールをそのRBD Fractureオブジェクトに使用してデブリ(瓦礫)を作成します。
FractureExamples Example for Voronoi Fracture Solver dynamics node
このサンプルでは、実際にHoudiniでボロノイ破壊を使う7つの方法を含んでいます。 特に、破壊シミュレーションでVoronoi Fracture SolverとVoronoi Fracture Configure Objectのノードの使い方を説明しています。 アニメーションを再生するなら、それらのサンプルのディスプレイフラグをオンにし、セットアップをテストするなら、各サンプルの中に入ってください。
CurveAdvection Example for Wire Solver dynamics node
このサンプルでは、Pyroシミュレーションに基づいて、カーブを移流させる方法を説明しています。 Attribute Wrangle SOPを使って、ボリュームのVelocityをサンプリングして、それをワイヤーオブジェクトに適用しています。
Pendulum Example for Wire Solver dynamics node
このサンプルでは、拘束ポイントにあるオブジェクトと振り子の玉にあるオブジェクトを相互に影響を与え合う方法を説明しています。
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にしています。シャドウの細部が消えて、ボリュームが少し透明になっています。品質レベルは、ほぼ同じです。
AttributeRename Example for Attribute Rename geometry node
このサンプルでは、Attribute SOPを使ってHoudini内のアトリビュートを削除・名前変更する方法を説明しています。 RendermanのRIBを適切に出力するために、アトリビュートの名前を変更することがあります。
PathAnalysis Example for Find Shortest Path geometry node
これは、FindShortestPathとAttribWrangleによる測定に基づいた"中心軸"パスを優先にする高度なサンプルです。これは、壁への近接を回避するのに役に立ちます。
空間内でもっと簡単に確認するには、Display OptionsダイアログのOptimizationタブにあるCulling > Remove Backfacesをオンにします。 Switchノードを使って別の中心軸測定を可視化してみてください。パスの中心軸を考慮しない同じサンプルを、違いがわかるようにSOPネットワーク内の端に置いています。
このサンプルは、Cool Within Objectシェルフツールを使用して、溶岩を冷却する方法を説明しています。
このサンプルでは、Particle SOPを使って指定したパーティクルのデフォルトサイズを設定する方法を説明しています。
単純なグリッドを使って風で流されて行くパーティクルの動的シミュレーションを作成することができます。 パーティクルがグリッドから離れるほど、パーティクルがゆっくりと消えていきます。
PolywireModel Example for PolyWire geometry node
このサンプルでは、Poly Wire SOPを使ってポリゴンの枠にポリゴンを作成する方法と、パラメータをローカル変数でカスタマイズできることを説明しています。
See also |