Houdini18.5 新規VOPノード


2020年10月20日、SideFX社よりHoudini18.5がリリースされました。

こちらの記事では、Houdini18.5から新たに追加されたVOPノードを画像と合わせてご紹介します。

下画像は、Houdini18.5で新たに追加されたVOPノードの一覧です。新たに38個のノードが追加されました(※Houdini18.5.351 時点)。

また、Houdini18.5からネットワークエディタのTabメニューに「KineFX」「USD」の項目が追加されました。


ここからは、新たに追加されたVOPノードをご紹介します。

Add Joint

ジョイントをジオメトリに追加します。

ジオメトリにポイントを追加し、KineFXツールセット内のSOPスケルトンで予期されるアトリビュートを初期化します。このノードは、スケルトンをプロシージャルに作成したり、VOPネットワーク内でトランスフォームをデバッグする場合に便利です。

Bind Point Transform

ポイントトランスフォームをポイントインデックスでバインドします。

このオペレーターは、指定されたポイントインデックスに対するポイントトランスフォームを返します。トランスフォームは、 v@Pと3@transform アトリビュートから構築されます。コンパイル時に入力からポイントIDを置き換えます。

Blend Transforms

2つの変換行列をブレンドします。

Collide Geometry

指定したジョイントをターゲットジオメトリに衝突させます。

このノードは、特定のジョイントがターゲットジオメトリに突き出るのを防ぎ、ジオメトリのカスタムオリエンテーションアトリビュートと合わせるためにジョイントを回転させるオプションを提供します。

Combine Local Transform

ローカルトランスフォームと親トランスフォームをScale Inheritance (スケール継承)に結合します。

与えられたローカルトランスフォームと親トランスフォームを使用してワールドトランスフォームを計算します。

Curve Solver

曲線とセグメントの長さのリストからポイントの位置と方向を指定します。

このソルバは、曲線とセグメントの長さのリストからワールドトランスフォームを生成します。曲線は、既存のポイント、ポイントトランスフォーム、または曲線プリミティブを参照して定義することができます。

Dictionary Keys

Dictionaryキーを生成します。

Dictionary Length

Dictionaryの長さを生成します。

Direction to Child

ポイントの子に対する方向を計算します。

Direction to Parent

ポイントの親に対する方向を計算します。

Extract Local Transform

ポイントとその親のワールドトランスフォームを用いて、ポイントのローカルトランスフォームを計算します。

Find Point Transform

指定されたジオメトリ上のポイントを見つけ、そのトランスフォームを返します。

Source Fileのmapping dictionaryアトリビュートを使用するか、Source FileとSearch Fileの間でアトリビュート値の簡単なマッチングを行い、指定されたジオメトリ上のポイントを検索します。見つかった場合、出力はそのポイントのトランスフォームに設定されます。

Get Dictionary Element

dictionaryから指定された値を取得します。

Get Full Body COM

指定されたジオメトリに対して、計算された重心を返します。

Get Joint Chain Axes

ジョイントを中心とした直交軸のセットを計算します。

Get Parent

スケルトン内にあるポイントの親を見つけます。

Get Parent Transform

スケルトン内にあるポイントの親のトランスフォームを取得します。

Get Point Transform

指定されたポイントインデックスのポイントトランスフォームを返します。

このオペレータは、指定されたポイントインデックスでのポイントトランスフォームを返します。v@Pと3@transformのアトリビュートからトランスフォームを構築します。

Get Point Transforms

指定されたポイントIDの配列に対して、ポイントトランスフォームの配列を返します。

このオペレータは、指定されたポイントトランスフォームとポイントIDの配列を返します。v@Pと3@transformのアトリビュートからトランスフォームを構築します。

Has Key

Dictionaryにキーが存在する場合は返します。

IK Solver

インバースキネマティクス(Inverse Kinematics)を用いて、ルート位置、End Affectorの位置ターゲット、ツイスト位置から、ポイントの配置と方向付けを行います。

このソルバは、インバースキネマティクスを用いてワールドトランスフォームを生成します。

Importance Remap

Importance Remapの入力UVをテクスチャマップの「重要な」エリアにリマップします。入力されたUV座標は、テクスチャマップの明るいエリアに移動します。

Joint Angle

SOPスケルトンで指定されたポイントの角度を取得します。

ファイルジオメトリの__Point Numberで指定されたポイントからそのポイントの親までのベクトルによる記述と、Reference Child Indexで指定されたそのポイントの子までのベクトルを返します。返される値は、ラジアン単位です。

Look At(Kine FX)

KineFX Look At Constraintをトランスフォームに適用します。

このノードは、最初の入力変換行列をto入力によって指定された位置に向くように回転させます。up入力が接続されている場合、その入力は回転を決定するために使用されます。

Map Point

あるポイントを別のポイントにマッピングしたdictionaryを作成します。

Offset Transform

与えられたトランスフォームで変換行列をオフセットします。

オフセットは、変換行列の入力、個々のコンポーネントの入力、またはパラメータの使用の3つの方法のいずれかで指定できます。

Parent Blend

指定されたバインドトランスフォームから計算されたオフセットでトランスフォーム間をブレンドします。

Parent Constraint

ポイントの親を新しいワールドトランスフォームに拘束します。

トランスフォーム間で一定のオフセットを維持しながら、親を新しいトランスフォームにシフトします。

Pyro Shader

柔軟でプロダクション品質の煙、炎、爆発のシェーダを生成します。

このシェーダを使用して、煙、炎、爆発のシミュレーションや、プロシージャルに生成されたボリュームをリアルにレンダリングできます。

Random Binary Random Jitter

BRJシーケンスの乱数を生成します。

Realistic Shoulder

腕(arm)から鎖骨(clavicle)ポイントへの回転を伝播します。

Dictionary Remove Key

指定されたキーの項目をDictionaryから削除します。

Resolve Mapping Attribute

mapping dictionaryアトリビュートをポイント番号に置き換えます。

Mappingアトリビュートで指定されたPoint dictionaryアトリビュートの値を使用して、Reference Fileジオメトリ内の対応するポイントを検索します。

Reverse Foot

リバースフットのセットアップに特化したカスタムピボットを中心に足を回転させます。

Set Dictionary Element

指定したキーに値を設定します。

Set Point Transform

指定されたポイントIDにポイントトランスフォームを1つ設定します。

Set Point Transforms

ポイントIDの配列にポイントトランスフォームの配列を設定します。

Stash Transform

行列を定数として格納します。

このノードは、リギングセットアップの構築に役立ついくつかの追加機能を加え、Make Transform VOPとほぼ同じ方法でVOPネットワークに定数トランスフォームを出力します。

Transform From Path

パス上の位置から変換行列を作成します。

このノードは、方向を構築するためにパラメータまたはパスジオメトリのアトリビュートを使用して、パスから変換行列を作成します。

Transform From Surface

ジオメトリのサーフェス上の位置から変換行列を作成します。

このノードは、方向を構築するためにパラメータまたはジオメトリのアトリビュートを使用して、サーフェス上の位置をサンプリングすることにより変換行列を作成します。