Houdini14新機能~VEXとVOP~


VOP:

  • ParameterとRamp Parameterのノードで Scope を“Subnet connector”に設定して使用したVOPサブネット/アセットに対して入力と出力を定義するための新しいメソッド。
  • 新しいPoint in Groupノード。
  • CFL条件で制御されるVelocityボリュームによって正確な移流をするための新しいAdvect by Volumes VOP。POP Advect by Volumesは、内部的にこれを使用しています。
  • ポイントを動かすVOPに Update normals if displaced オプションが追加されました。これは、Pが変わってもNが変わらない場合に、ポイント法線と頂点法線を再計算します。
  • Nが存在しない時に、Attrib VOP, Geometry VOP, POP VOPに法線が用意されます。
  • VOPとWranglerで法線の自動計算が無効になりました。ノードは、Exportが*の時に@Pが変わったと見なし、法線を予期せずに再計算します。
  • Rest Positionノードは、Rest Positionをアトリビュートにバインドしたかどうかを示す新しい出力を持ちます。
  • VOPアセットとVOPサブネット内のParameter VOPノードを使用することで、入力と出力を定義することができます。Parameterノードのスコープを“Subnet connector”に設定してください。
  • Type Properties Editorは、Parameter VOPの入力と出力を扱えるように更新されました。
  • 新しいVEX文字列関数と同等のVOP。
  • Filter Step VOPの最初の2つの入力が逆になりました。

VEX:

  • 構造体とクラスのサポートを増やしました。
  • ネイティブのvector2matrix2のタイプ、2次元のvectorのバリアントとmatrix3が追加されました。2つのFloatのVEXノード上にパラメータがあれば、2つのFloat引数をVEXに生成し、3つのFloatが以前のように生成されません。
  • 文字列と配列のスライス
    “hello”[3:4] == “lo”
  • エスケープ特殊文字を必要としないPython形式の“raw strings”に対応しました。例えば、r"c:foo"
  • 新しい配列関数: sort, slice, reverse, find, append, pop。
  • 新しい文字列関数: chr, ord, slice, split, append。
  • 新しいsplineバリアントは、キー位置と値の配列を受け取り、キーが等間隔になっていなくても滑らかなカーブを生成します。
  • getbbox, getpointbbox, intersect, intersect_all, minpos, pcfind, relbbox, relpointbbox, xyzdistの関数で新しいグループサポート。
  • 新しいsetattribtypeinfo関数は、アトリビュートをベクトルまたはクォータニオンに変換します。
  • 確率分布のサンプリング用のVEX関数が追加されました。それらの関数名は、すべてsample_から始まります。例えば、sample_distribution_cone。これらの分布は、Attribute Randomize SOPでも利用可能です。
  • OpInputは、op:ではなくopinput:nをバインドしています。それらのバインドを適切に使用したこのVEX関数は、複数の出力を制御します。
  • 最適化された可変長引数のハンドリング。これは、非常に大きな可変長引数を持つCVEX BSDFシェーダで大きな効果があります。
  • CVEXが配列のバインドをサポートしました。
  • 最適化されたコンパイラ。
  • vcc -vまたはvcc --version`は、バージョン番号をプリントします。
  • vccは、-をファイル名として使用することで、stdinからIFDを読み込めるようになりました。
  • vccは、パラメータ上の#pragma hint hiddenを適切にハンドリングします。
  • #pragma optable vopを使用した時に新しく作成されるVOPノードから入力を隠す#pragma hint parm invisibleinputが追加されました。