カテゴリー別アーカイブ: SOP

簡単なVOPの説明 (SOP)

こんにちは、篠島です。

VOPネットワーク内でVOPノードを組み合わせていろんな事をすることが出来ます。普通のノードはマルチスレッド対応してなかったりしますが、VOPネットワークを自分で組むとマルチスレッド対応なので処理速度も普通のノードよりも早いです。

続きを読む

Houdini14で追加されたSOPノード

Houdini14で追加されたSOPノードの一覧です。
Houdini13ではAttribVOP、VOP SOPのノードが似た機能として存在していましたが、
Houdini14ではAttribute VOPという名前に変更されております。

Agent エージェントプリミティブを作成します。
Agent Edit エージェントプリミティブのプロパティを編集します。
Agent Look At エージェントの頭が指定したオブジェクトや位置に向くように調整します。
Agent Prep 他の群衆ノードで使用する色々な共通Pointアトリビュートをエージェントに追加します。
Agent Proxy エージェントを別の表示に変更します。
Attribute Delete アトリビュートを削除します。
Attribute Interpolate アトリビュートを補間します。
Attribute Randomize 多様に分布したランダムなアトリビュート値を生成します。
Attribute Rename Houdini13のAttributeノードの事です。
Attribute Transfer By UV UVを使ってアトリビュートを転送します。
Attribute VOP Houdini13のAttribVOPやVOP SOPに該当します。
Point VOP 〃。Run Overのデフォルト値がPointsです。
Primitive VOP 〃。Run Overのデフォルト値がPrimitivesです。
Vertex VOP 〃。Run Overのデフォルト値がVerticesです。
Collision Source DOP衝突で使用するジオメトリとVDBのボリュームを作成します。
Convert Line ジオメトリを線分に変換します。
Crowd Source Crowd Solverに使用する群衆エージェントを作成します。
Curve Groom ビューポートでガイドカーブを直感的に制御することができます。
Draw Hair Guides ヘアーガイドを描画します。
Grain Source パーティクルベースのGrain(粒)シミュレーションのソースとして使用するパーティクルを生成します。
Hair Growth Field ストロークプリミティブに基づいてVelocityフィールドを生成します。
Normal サーフェス法線アトリビュートを計算します。
Output サブネットワークの出力としてマークします。
Point Deform ポイントクラウドに基づいてジオメトリを変形します。
Point Relax お互いに指定した半径領域と重ならないようにポイントを動かします。
Primitive Wrangle Houdini13のAttribWrangleに該当します。Run Overのデフォルト値がPrimitivesです。
Vertex Wrangle 〃。Run Overのデフォルト値がVerticesです。
Reguide 新しくガイドをばら撒いて、既存ガイドのプロパティを補間します。
Repack パックAlembicやパックディスクプリミティブをパックジオメトリプリミティブとして再パックします。
Solidify ポリゴンメッシュを自己交差のない密閉したポリゴンメッシュに変換します。
Split プリミティブやポイントを2つのストリームに分岐させます。
Spray Paint サーフェス上にランダムにポイントを吹き付けます。
Stroke Cache ストロークに基づいてジオメトリを段階的に修正するツールの構築を簡単にします。
Test Geometry テスト用ジオメトリ。
Transfer Guides ガイドを転送します。
UV Flatten ジオメトリをUVの島に平坦化(展開)します。
UV Layout UVの島を指定した領域に詰め込んでUVを再接続します。
VDB Activate SDF VDBボリュームプリミティブに記録された符号付き距離フィールドを拡張/収縮します。
VDB Clip 境界ボックスや他のVDBをマスクにしてVDBボリュームプリミティブを切り取ります。
VDB Morph SDF ソースとターゲットのSDF VDB間をブレンドします。
VDB Occulusion Mask VDBプリミティブに対してカメラから見て影となる部分にボクセルのマスクを作成します。
Verify BSDF 必要なインターフェースに準拠しているかBSDFを検証します。
Volume Rasterize Hair レンダリング向けにファーやヘアーをボリュームに変換します。

Houdini14新機能~ヘアーとファー~

Houdini14では、ヘアー/ファー用に新しいグルーミング(毛繕い)ツールが導入されました。これらのツールは、将来のバージョンでより高度なグルーミングツールを開発するための基礎を備えています。

H14HairWerewolfGroom

新しいグルーミングツール

  • OpenVDBフィールドとStroke SOPをベースにしています。
  • ヘアーガイドに作用します。
  • 完全にプロシージャルであり、アーティスト制御が可能です。
  • 親しみやすいファー。
  • 新しいシェルフツールには、髪の作成、髪のカット、髪の伸ばし、髪の乱れ、髪の持ち上げ、髪の櫛通しを含んでいます。
  • 特定の毛根を植えるツール(例えば、ほおの髭)。
  • スクリーン空間とサーフェス空間の両方で動作するツール。
  • スキンとの衝突を自動的に処理します。
  • 高速で直感的。

他の変更と改良点

  • ガイドに影響を与えるファーペイントツールすべてが、新しいグルーミングツールと互換性がなく、すべて置き換わったので削除されました: Comb, Comb Noise, Paint Bend, Paint Bend Noise, Paint Twist, Paint Twist Noise, Paint Length。
  • Mantraでのヘアーとファーのレンダリングが高速化されました。
  • Fur Object, Fur SOP, Mantra Fur Proceduralに、ガイドされていないヘアーを削除するオプションが追加されました。
  • Volume Rasterize Hair SOPに、ラスター化されたカーブの幅をスケールするパラメータと接線をラスター化するオプションが新しく追加されました。

 

 

Houdini14新機能~ジオメトリ~

UV機能:

  • 強力な新しいUV Flatten&Layoutツール
    • インタラクティブなワークフロー。
    • 理想的なUVリラクゼーション。
    • udimサポート。
    • 歪みの可視化。
    • 高速なポイントと頂点の(境界)選択。
    • UV調整用のピンハンドル。
  • UV Peltノードの新しいペルティング(UV展開)オプション。
  • UVビューポートとUV Quickshadeで高解像度なチェック柄背景画像が表示されます。

ポイントのScattering(ばら撒き):

  • Scatterノードは、より堅牢で機能的になるように書き換えられました。テクスチャ空間でポイントをばら撒いたり、お互いのポイントを引き離し合って“Relax”させたり、より多くのアトリビュートとグループを拾い上げることができるなど、色々な改良が施されています。
    ScatterNonConvex
  • 新しいSpray Paintノードは、インタラクティブにサーフェス上にポイントをばら撒くことができます。

サーフェス化とソリッド化:

  • Triangulate 2Dを非常に強力なものに書き換えました。
  • 新しいSolidifyノードは、入力から密閉した交差のないメッシュを構築します。これはFEMソルバに使用する前の四面体化で非常に役に立ちます。 

Alembicとパックジオメトリ:

  • Alembicジオメトリの表示がビューポートで高速になりました。
  • HoudiniはアニメーションするディスプレイチャンネルをAlembicへエクスポートできるようになりました。
  • 可視情報と共にジオメトリを書き出し/読み込みに対応しました。
  • Houdiniは、.bgeo.bgeo.scのファイルに保存されたジオメトリを一気にではなく、必要に応じて読み込むことができるようになりました。 Fileノードでは、Delayed load geometry を有効にして、 Display packed as をフルジオメトリ以外の何かに設定します。
  • Alembicレンダーノードには、ジオメトリ元のAlembicファイルの階層を使用してパックAlembicジオメトリを書き出すオプションがあります。 他にも、Alembicレンダーノードには、すべてのオブジェクトを折りたたむ新しいオプションがあり、これはジオメトリノードを使用してAlembicアーカイブを巡回するのに役に立ちます。
  • AlembicレンダーノードにSOPパスからジオメトリを書き出すオプションが追加されました。 これにより、ROPネットワークから Build hierarchy from attribute オプションを使用できるようになりました。
  • Alembic Archiveオブジェクトに、可視計算を平坦化する新しいパラメータが追加されました。
  • Alembic ArchiveオブジェクトとAlembicジオメトリノードに、ユーザープロパティをインポートする新しいパラメータが追加されました。 そのプロパティはPrimitiveアトリビュートにJSONフォーマットで記録され、Alembic Xformオブジェクトのユーザーパラメータとして保存されます。
  • ユーザープロパティと一緒にジオメトリをエクスポートするには、abc_userPropertiesabc_userPropertiesMetadataの文字列Primitiveアトリビュートを作成して、ユーザープロパティデータのJSONマップを格納します。
  • パックジオメトリ/フラグメント上のgeometryid Intrinsicアトリビュートは、参照ジオメトリを識別します。
  • 任意の数のサブネット内にアニメーションジオメトリをエクスポートできるようになりました。
  • File Mergeノードは、パックディスクプリミティブを読み込みできるようになりました。
  • Repackノードは、Alembicとパックディスクプリミティブをパックジオメトリに変換することができます。 Packノードには、パックジオメトリまたはパックフラグメントを作成するかどうかのパラメータが新しく追加されました。 Unpackノードには、アトリビュートをアンパックジオメトリに転送できるパラメータが新しく追加されました。
  • Houdinは、同次座標系でAlembic NURBSを書き込み、読み込み時にそれらを有理化します。
  • AlembicファイルのMayaロケータは、arbGeomPropertiesと一緒に読み込まれるようになりました。
  • ジオメトリオブジェクトのabc_lock_geomユーザパラメータを有効にすると、そのオブジェクト内のすべてのジオメトリが、Alembicアーカイブへエクスポートする時のすべてのサンプルに対して最初のジオメトリサンプルを再利用します。

VDB:

  • ベクトル値を持つVDBは、トランスフォーメーションをボクセルにも適用します(ベクトルタイプに依存)。 これは、上位互換を壊し、ベクトルVDBを使用していればHoudini14にシーンを読み込むとシーンが変わってしまう可能性があります。
  • .vdbファイル内のメタデータの処理が改良されました。ファイルレベルのメタデータは、vdb_datanameDetailアトリビュートに読み込まれ、反対に.vdbに保存する時も同様です。 保存は、64ビットのIntegerとDoubleの精度のアトリビュートを保持します。
  • 生成されるアトリビュートの名前の頭にはvdb_が付かなくなりました。これにより、.vdbファイルを使用した時にシェードアトリビュートを上書きすることができます。 これは、Houdiniがvdb_で始まるアトリビュートだけでなく、すべてのDetailアトリビュートを.vdbファイルへ保存することも意味します。
  • VDBの面積/体積の計算が改良されました。これは、VDB Intrinsicsを使用した既存ネットワークの出力を変更する可能性があり、MeasureとScatterのノードも同様です。これらのノードは、この計算を使用します。
  • Convert VDBノードを使用したFogからSDFへの変換は、1ボクセルではなく3ボクセルの半分の幅を使用します。これは有効なレベルセットを確保しますが、メモリを多く使用します。
  • 新しくVDB Activate SDFジオメトリノードが追加されました。

FBX:

  • FBXをインポートする時、再サンプリングされた回転を平滑化します。
  • FBXインポートは、一貫して倍精度の浮動小数点トランスフォームを使用することで、精度の損失を回避します。

他の変更と改良点:

  • SOPノードのロック/ロック解除は、右クリックメニューを使用しなければなりません。そのフラグは、単にノードの状態を表示するだけです。
  • ジオメトリサブネットに複数の出力を持たせることができます。
  • 新しいOutputノードを使用すれば、ジオメトリサブネット内の出力を収集することができます。
  • OutputノードがGeometryオブジェクト内にあれば、Object Mergeは、そのオブジェクトをターゲットにし、HoudiniはOutputノードを使用し、ディスプレイフラグとレンダーフラグを無視します。
  • ジオメトリファイル(.bgeo.sc)用の新しいBlocs圧縮は、GZIPよりも 高速 です。
  • Deformノードは、従来よりも高速化されました(quaternionアトリビュートでテストすると、7倍まで高速化されました)。
  • Divideノードは、 Max edges をオフにしたConvex(凸)ジオメトリに対応しました。 Max edges が3の時、そのノードは Triangulate non-planar を無視し、入力に非平面ポリゴンがあれば、その出力内の三角形の並びが変化してしまう可能性があります。
  • エッジ選択をフェース(プリミティブ)選択に変換した時、選択したエッジを持つフェースだけを選択します(選択したエッジとポイントを共有したフェースは共有されません)。
  • Resampleノードが飛躍的に高速化されました。このノードは、NURBS/Bezierのカーブとサーフェスをポリゴン/ポリラインに変換せずにネイティブに動作します。 カーブをポイントクラウドに変換する時に役に立つパラメータが新しく追加されました(Randomize first segment length, Create only points, Distance attribute)。
  • Deform, Deform Muscle, Deform Metaのノードは、デフォルトで Deform normals がオンの状態で作成されます。
  • 紛らわしい“Keep”オプションは、Attribute Deleteノードから削除されました。
  • Point VOP SOPとPoint Wrangleのノードはデフォルトでは隠されています。代わりにAttribute VOP SOPとAttribute Wrangleを使用してください。(“Point VOP”と“Point Wrangle”は、UI内でトランジションを和らげるエイリアスとして利用可能です。)
  • Transform Piecesは、Vertexアトリビュートもトランスフォームするようになりました。
  • PolyCapは、ポリスープ、メッシュ、パラメトリックサーフェスをポリゴンで蓋することができるようになりました。 これは、高速で Unique points がオンの時に正しいポイント順で生成します。エッジグループを指定しない限りは、すべての非共有エッジを蓋します。 オプションを使えば、これをオフにすることができます。
  • Groupは、ポリスープ、メッシュ、パラメトリックサーフェス内の非共有エッジを見つけることができるようになりました。
  • テンプレートフラグのジオメトリノードには、ピンクのインジケータリングが付きます。
  • Voronoi Fractureノードの Copy cell point attributes  Maintain piece numbering のオプションが飛躍的に高速化されました。 *などのようにAttribute Copyと同じ構文を使用して、コピーするアトリビュートを指定することができます。 Voronoi Fractureは、デフォルトでは閉じた破片を生成し、内側のジオメトリに頂点法線を追加します。
  • Volume TrailノードがVDBボリュームに対して動作するようになりました。traillenアトリビュートを使用すれば、ポイント毎に異なる数のTrailセグメントが可能になり、最大セグメントパラメータによって、Trailセグメントの数を制限することができます。
  • 環境変数HOUDINI_PTEX_WINDINGは、ptextureフェースの期待される向きを制御します。この変数を1に設定すれば、HoudiniはUとVの座標を入れ替えます。 これはZ-BrushなどのHoudiniと反対の向きを使用している他のソフトウェア・パッケージからのデータを読み込んだ後に向きを手動で入れ替えることなく使用できるようになります。
  • アトリビュートの差分を保存するサーフェスノード(例えば、Paint, Sculpt, Edit, Group Paintなど)は、その差分を32ビット整数または浮動小数点として保存します(厳密には64ビットの値でない限り)。 それらの変更は、Houdini13.0とHoudini12.5に反映されているので、それらのバージョンではHoudini14で保存されたファイルを読み込むことができます。Houdini 12.1以前のバージョンでは、保存されたEditなしのノードでHoudini14.0ファイルを読み込みます。
  • 共有されたボクセル配列を持つボリュームは、.bgeoファイルへエクスポートする時にその共有を保持します。このデータを読み込むことができるのは、Houdini 13.0.437以降です。
  • Volume Rasterize Particlesノードには、フィルターとマージの方法を制御するパラメータが新しく追加されました。Volume Rasterize Particlesは、VelocityストリークによるVelocityモーションブラーにも対応しています。
  • Cacheノードは、フレーム範囲が変わった時にキャッシュ化されたフレームを適切に保持し、古い範囲を重ねます。これにより、例えば、現行フレームを基準に$F-3$F+3を使用してスライドした範囲を開始・終了フレームとしてキャッシュ化することができます。 Cacheノードには、キャッシュを無効化するための2番目の入力があります。2番目の入力のジオメトリに何か変更があれば、キャッシュを無効にします。
  • File Cacheノードには、Fileノードと同様の File mode パラメータが追加されました。
  • アトリビュートは配列(文字列配列を含む)を保持することができます。
  • 共有されたボクセル配列を持つ複数ボリュームを保存すると、その共有が.bgeoファイルに保持されます。
  • Tetrahedralizeノードには、オペレーションが失敗した時に実行されるオプションが含まれました。複数の独立して接続されたオブジェクトを別々に四面体化することができ、破壊されるオブジェクトに繋ぎ目のない四面体を作成します。
  • Connectivityノードには、接続性を計算する時に幾何学的な境界として作用するエッジを指定するパラメータが新しく追加されました。これにより、(例えば、UV Flatten向けに)エッジループ選択で作成される“島”を可視化することができます。
  • Attributeノードは、Attribute Renameノードになりました。新しいAttribute Deleteノードには、古いAttributeノードのDeletionオプションを含んでいます。
  • Rayノードは、最小距離を使用した時のアトリビュートの転送に対応し、光線とpolysoupsとの交差に対応しました。光線が当たったプリミティブ番号とUVW座標を含んだアトリビュートを出力することができます。 メタボールとメタ超2次曲面を含んだジオメトリと衝突した時に衝突グループを考慮します。衝突ジオメトリが近接しているとわかった時に飛躍的にパフォーマンスを改良できる Max distance パラメータに対応しました。
  • 一般的には、AttribXノードはAttribute Xに名前が変わりました。
  • orientアトリビュートは、N, up, vと共に、例えば“guess from name”に設定したタイプでAttribute Createノードによって作成された時に適切に“to be transformed”としてマークされます。
  • 例えばRayノードの Minimum distance オプションやxyzdist VEX関数のように、円上の再近接ポイントを見つけるノードと関数は、照会ポイントが円の内側にあれば、円の内側の位置を返します。
  • Delete, Group, Partitionのノードの Geometry type パラメータは、小さく固定されたタイプのリストの代わりに、知られているすべてのジオメトリタイプをリストするように更新されました。
  • Blastノードを使用してジオメトリすべてを削除する場合、アトリビュート名(例えばP)は、指示対象なしでDetail内に存在し続けます。これは、一貫性を保つのに必要です。
  • Point Replicateの Inherit velocity パラメータにマイナス値を指定することができるようになりました。
  • gepsユーティリティがより堅牢になりました。
  • .geo.bgeoファイルでは、グループのtype設定がオプションになりました。Houdiniは、ファイルサイズを小さくするために、それらの設定を書き出さなくなりました。HOUDINI13_GEO_COMPATIBILITY環境変数を設定すれば、13.0.600以前のHoudiniバージョンと互換性のあるジオメトリファイルを書き出すことができます。

 

 

Houdini14新機能~ユーザーインターフェース~

Houdini14のユーザーインターフェースの変更点を説明します。

  • HoudiniのGUIがQtフレームワークベースになりました。
  • ステッキーやテキストフィールドへの日本語入力と表示に対応しました。
  • Pythonパネル(PySideとPyQt)に対応しました。
  • 折り畳み式パラメータフォルダに対応しました。

選択:

  • 2,3,4,5キーが常にコンポーネント選択モードになりました。
  • 選択/スナップするジオメトリがハイライトします。
  • エッジループ選択の仕様が変わりました(Aキーを押したまま選択)。
  • SOPのGroupパラメータの隣にReselectボタンが追加されました。
  • 選択は、ジオメトリ処理の後でも保持されます。
  • 追加選択がShift+クリック、選択状態の反転がCtrl+Shift+クリックに変更されました。
  • Nキーが”Select All”、Shift+Nキーが、”Select None”のショートカットキーに変更されました。

ハンドル:

  • Box, Grid ,Sphereツールのハンドルが新しくなりました。
  •  コンポーネント毎のハイライト。
  •  コンテキストに順応したカーソル。
  •  ハンドルのサイズが変更できるようになりました(*キーが拡大、/キーが縮小)。
  •  ビューポートでのオブジェクトのサブディビジョン表示が+、-キーで切り替えることができるようになりました。
  • 中マウスドラッグによる間接ドラッグ。
  •  ビューポート内でのHUDの操作性が改良されました。
  • ハンドルの整列の切り替えがMキー、Edit SOPによるブラシモードの切り替えがBキーに変わりました。
  •  ブラシのサイズがマウスホイールで変更できるようになりました。

デジタルアセット:

  • メインメニューにAssets項目が追加されました。
  • Create Digital Asset from Selection
    -自動的にサブセットを作成します。
  • Lock/Unlock/Saveオプションが新しくなりました。
  •  デジタルアセットのファイル拡張子が.otlから.hdaに変わりました。
  • Orboltへの簡単アクセス。

プロジェクトの作成と設定:

  • File>New Projectでプロジェクトの作成し、File>Set Projectで$JOB変数の場所を定義できるようになりました。

ビューポート:

  • 再生パフォーマンスが3~10倍高速化されました。Alembicジオメトリの表示が高速化されています。
  • スナッピングが高速で精度が良くなりました。
  • Mac OS Xが他のプラットホームと同等のサポートになりました(Open GL 3)。
  • 3Dと2Dのビューポートでより高品質なジオメトリ表示。
  •  ビューポート関連のプロンプトとメッセージは、ステータスバーではなく、ビューポート内に表示されるようになりました。
  •  UVビューポートでチェック柄の背景を表示するようにしました(Brightnessパラメータで制御)。
  • Space + Zによるビューポートの中心の設定が、巨大シーンに対して高速化され、すべてのプリミティブタイプに動作します。
  • 新しいWireframe Ghostディスプレイモードでは、隠線を通常線と見分けやすくなるために、薄く描画します。

ネットワークとパラメータ:

  •   Float型Rampパラメータの補間タイプにBezier、B-Spline、Hermiteのタイプが追加されました。
  •  カラーピッカーウィンドウが色温度に対応して機能拡張されました。
  • パラメータエディターにカラースライダーが組み込まれました。
  •  ネットワークボックス内のノードを整列できるようになりました。
  •  選択したスプレッドシートの項目をタブ区切りのテキストとしてクリップボードへコピーすることができるようになりました。
  • パラメータエディターは、ビューポート操作中に常に更新するようになりました。 Update UI トグルは削除されました。
  • ユーザープリファレンスディレクトリの場所は、HOUDINI_USER_PREFS_DIR環境変数を使用して上書きできるようになりました。
  • パフォーマンスモニタに、イベントログをディスクへ保存する Save to file ボタンが追加されました。

再選択について

選択したコンポーネントに対してノードを実行した後で、
そのノードの選択コンポーネントを再選択したい場合があります。
フェースを選択してPolyExtrudeを実行したとします。ExtrudeそのPolyExtrudeノードが選択します。

ExtrudeHandleアイコンをオンにした状態にします(ショートカットはEnterキー)
Handle ONSelectアイコンを右クリックして、コンテキストメニューからReselect For Current Toolを実行します。
Reselectこれにより、コンポーネントを再選択できるようになります。
Reselectコンポーネントの再選択が終わったら、Enterキーを押して確定します。
これでコンポーネントの再選択が完了しました。

上記のReselect For Current Toolはバッククォート(`)キーがショートカットキーに割り当てられています。
これは、英語キーボードを使用していれば機能しますが、日本語キーボードでは機能しません。
その理由は、バッククォートキーの配置位置が英語キーボードと日本語キーボードが異なるからです。
この場合には、EditメニューのHotkeysからコンポーネントの再選択のショートカットキーを別のキーに割り当てる必要があります。
Context:を/Houdini/Panes/Geometry Viewers
Action:からRestart Selecting
を選択し、Assigned Keysの2段目の行をクリックして、別のショートカットキーを割り当てます。
2014-12-22 15_28_191段目の行に別のショートカットキーを割り当ててしまうと、SelectアイコンのReselect For Current Toolが機能しないので注意してください。