Houdini19.5 新機能と改良


Houdini19.5は、2022年7月21日(木)にSideFX社よりリリースされました。

▼YouTube 一般公開:Houdini19.5 紹介動画!

YouTube IndyZoneチャンネルでは、Houdini19.5の注目機能をピックアップして、実際にHoudiniを触りながら新機能や改良された機能などをご紹介しています。

こちらの動画では、「KineFXとアニメーション」「Muscles & Tissue」「Crowd」「Solaris」「Karma」「モデリングとジオメトリ」「ユーザーインターフェース」「Pyro」「Flip Fluid」「Ocean」「RBD」「Vellum」「PDG」の新たに追加された機能と改良された機能をご紹介しています。 

動画内には、テロップを挿入して分かりやすく主要機能をご紹介しています!


また、こちらの記事では、Houdini 19.5の「新たに追加された機能」と「改良された機能」についてご紹介します。

(下記のアイコン画像をクリックすることで、各項目に移動することができます。)


KineFXとアニメーション

  • 新しいSmoothMotion SOPノードでバターワースフィルタを使用して、ポイント、スケルトン、または MotionClip アニメーションデータ(ローカルトランスフォームまたはその他の指定されたアトリビュート)を滑らかにすることができます。
  • 新しいJoint Capture Paint SOPノードにより、キャプチャ(スキン)ウェイトペイントが改良され、簡略化されます。
  • 新しいSkeleton Blend 3.0 SOPノードでは、ポーズブレンディングとウェイトの処理方法が複数改善されています。

Muscle & Tissues

  • FEM Deform SOPノードで、筋肉の四面体メッシュを、与えられたターゲット形状(ポリゴン表面)に合わせて変形させます。
  • 新しいScale-Invariant ARAP Vellum法により、筋肉(Muscle)、組織(Tissue)、皮膚(Skin)の表面積と体積に対して、より正確に剛性値が適用されるようになりました。

Crowds(群衆)

  • 新バージョンのAgent Look At SOPは、SOPレベルでLook atを適用し、オプションでシミュレーションの履歴を残さないようにすることができます。

Solaris

  • SolarisビューポートにRender Regionツールが追加されました。
  • Houdini Proceduralsは、huskでUSDをレンダリングするためのプリレンダープロセスとしてジオメトリを生成します。Houdini19.5には、2つのプロシージャが含まれています。Houdini Procedurals Hair LOPは、ガイドカーブとskin primからレンダリング時のhairを生成します。
    Preview Houdini Procedurals LOPは、Houdiniプロシージャをインタラクティブにプレビューします。
  • Scene Import LOPは、SOPレベルのマテリアルアサインメントを変換するようになりました。

Karma

  • 新しいKarma Ocean LOPは、Karma CPUレンダラーで海のスペクトルと泡をレンダリングするのに役立ちます。
    海は、多くの場合、Small OceanまたはLarge Oceanシェルフツールで作成されます。

モデリングとジオメトリ

  • Topo Transfer SOPの機能が拡張されました。

外部定義したランドマークを入力して使用することができるようになりました。
新しく追加された Landmark Edit SOP によって外部定義のランドマークを作成することができます。
それにより、ランドマークデータの再利用がプロシージャルにできるようになりました。

  • Curve SOP の機能が拡張されました。
    新しくアップベクターやタンジェントなどの方向属性のアトリビュートを追加できるようになり、ビューポート上でインタラクティブに操作できるようになりました。
  • Convert Line SOP の機能が拡張されました。
    ジオメトリの任意のエッジグループからカーブを抽出することができるようになりました。

ビューポート、UI、スクリプティング

  • Python2のサポートが無くなります。
    Houdini19.5からPython3が標準となりPython2がサポートされなくなりました。
  • WindowsメニューにDash BOXが追加されました。
    いろいろな探し物をするためのインターフェースです。 ノードやHelp、パラメータなどいろいろなものをカテゴリ別に検索できます。

PyroとFlip Fluid

▼Pyro

  • 新しい Pyro Spawn Sources SOP ノードは、パックされたソースセットを使用してパイロシミュレーションをソーシングするためのスポーンポイントを作成します。
  • 新しいThe Pyro Source Instance SOPは、Pyro Spawn Sourcesによって生成されたスポーンポイントを注入し、それらがアクティブになったときにそのインスタンスポイントを生成します。

▼Flip Fluid

  • SOPベースのFLIP流体では、SOPとDOPのネットワーク間でデータをやり取りする必要がなく、迅速なセットアップが可能です。
  • FLIPシミュレーション領域を作成するための新しいFLIP Containerノードが追加されました。

OceanとWater Surfaces

  • 新しいShallow Water Solver SOPノードは、特定の状況下での水の挙動をシミュレートするものです。典型的な例としては、リップルや 波、池や水たまり、あるいは亀裂や表面の凹凸の上を流れる水などがあります。
  • Ocean Spectrum SOPでは、新しいTMA Spectrumと、Encino波やTessendorf波としてよく知られている従来のPhillips Spectrumから選択することができるようになりました。
  • 新しいKarma Ocean LOPノードは、Karma CPUレンダラーで海のスペクトルと泡をレンダリングするのに役立ちます。

RBD(Rigid Body Dynamics)

  • RBD Material Fracture : 従来の場合マテリアルタイプをWoodに設定した場合、フラクチャリングプロセスは非常に時間がかかり、メモリも多く消費されていました。
    新しいパフォーマンスの改善により、処理がより高速化しました。

Vellum

  • Vellum Configure Grainノードで、”Create Points from Volume “をオンにします。
    Methodパラメータに、新しいSphere Packingの項目があります。関連するパラメータを使用して、パッキングを調整し、オブジェクトを球体で満たします。
  • Vellum Constraints SOPに新しいStatic Topologyパラメータが追加され、スタティックとしてコンストレインプリミティブを出力し、シミュレーション中にスライドしたり、破壊、削除、溶解しないようにします。
  • 新しいVellum Attach Constraintsノードでは、Vellumの既存のジオメトリへのアタッチおよびステッチコンストレインの編集や新規作成を行うことができます。

PDG

  • TOP Networkノードのグローバルアトリビュートが、 Node info に表示されるようになりました。
  • グローバルアトリビュートが新しくなり、 TOPグラフ(/topnet)内のすべてのノードからアトリビュートにアクセスできるようになりました。

HQueue

  • HQueueのサーバとクライアントが、Python 3で実行されるようになりました。
  • HQueueサーバーは、PythonDjango3.1.5で実行されるようになりました。
  • Webインターフェースは、jQuery3.6.0を使用するようになりました。
  • ネットワークフォルダの構成が簡単になりました。 サーバー側の構成がファイルに保存されるnetwork_folders.iniようになり、自動化によってアクセスしやすくなり、管理が容易になりました。

Houdini Engine、APIs、Plug-ins

  • Unity plug-in:ボックス、スフィア、カプセル、メッシュのコライダー入力を使用できるようになりました。
  • Maya plug-in:Maya 2023に対応しました。

プラットフォーム

  • Python
    ・メインのHoudiniビルドは、Python3.9を使用しています。
    ・Python 3.7 Houdiniビルドは、個別にダウンロード可能です。
    ・Python 3.7 Houdiniビルドは、個別にダウンロード可能で す。
  • macOS
    macOSのビルドは、Apple clang12、macOS 11 SDKでビルドされています。
  • VFX Reference Platform
    Houdini 19.5は、CY2022 specification in the VFX Reference Platform の仕様に準拠しています。

ライセンス

  • ピーク使用量情報を自動的にSideFXに送信する機能を追加しました。
  • hkeyから直接ローカルのsesinetdsとhserversを起動/停止できるようになりました。
  • hkeyに稼働中のhserverの情報を表示するパネルを追加しました。



ここからは、各項目ごとに、Houdini 19.5で「追加された機能」および「改善された機能」の詳細をご紹介します!

アニメーション

MotionClip SOP ノードにViewport Stateが追加され、Color Rampを使用して、 MotionClip またはその評価ポーズを時間と共に視覚化できるようになりました。

MotionClip を使用しているときに、MotionClip ビューポート ステートまたはCharacter Rig Treeから個々のジョイントを選択できるようになりました。

また、MotionClip ビューポート ステートで選択したジョイントに対して、モーション トレイルが自動的に表示されるようになりました。

MotionClip SOP ノードのAttributes to Storeパラメータで保存したアトリビュートの処理について、すべての MotionClip ノードにある新しいRest AttributesAnimated Attributesパラメータで指定できるようになりました。

MotionClip Evaluate SOPおよびMotionClip Extract SOP ノードでは、どのアトリビュートを MotionClip の rest ポーズから解凍し、どのアトリビュートを MotionClip の animated ポーズから評価するかを定義することができ ます。

MotionClip Update SOPMotionClip Retime SOP、およびMotionClip Extract Key Poses SOP ノードでは、変更された各ポーズでどのアトリビュートを評価し、次に再パックするかを定義することができます。

MotionClip Cycle SOPMotionClip Sequence SOP、およびMotionClip Blend SOP ノードでは、出力されたMotionClip のアニメーションポーズに保存されるアトリビュートを定義することができます。

Dynamic Warp SOP ノードの新しい MotionClipRepack AttributesRest AttributesAnimated Attributesパラメータを使用して、キャラクターのアニメーションで動的にワープした各ポーズの MotionClip から評価し、再パックするアトリビュートを指定します。

MotionClip SOPノードの新しいUse First Frame for Topologyパラメータを使用して、MotionClip の範囲の最初のフレームからスケルトンのトポロジーを使用します。

MotionClip Pose Delete SOP ノードの新しいJoint Groupパラメータで、すべてのジョイントではなく、選択された各ポーズからジョイントのサブセットを削除することができます。

MotionClip Pose Delete SOPノードの新しいFrame RangeFrame PatternPose RangePose Groupselection methodパラメータとそのすべてのオプションを使って、MotionClipデータから削除するポーズを指定します。

MotionClip SOPノード上の新しいUse First Frame for Topology パラメータを使用して、MotionClip の範囲の最初のフレームからスケルトンのトポロジーを選択することができるようになりました。

MotionClip Extract SOPノードの新しいClip Rangeパラメータとオプションで、抽出フレームレートとフレーム範囲を取得する場所を決定します。

MotionClip Extract Locomotion SOPノードの新しい Use Rest Pose as Locomotion Startパラメータ で、ロコモーションの初期位置を rest pose から取得するか、MotionClip の最初のポーズから取得するかを指定します。

MotionClip Evaluate SOPの新しいInterpolationパラメータとオプションで、MotionClipを評価するときに使用する補間方法を指定します。

Rig Pose SOPおよびRig Match Pose SOP ビューポート ステート のジョイントトランスフォームデータは、独自の HUD に分離され、HotKey Hintsとは関係なく表示されるようになりました。

Skeleton SOPのビューポートステートにHUDが追加されました。

新しいOpen Bake Dialogボタンを使って、ビューポート ステートのツールバーからRig Pose SOP ノードのベイク コントロールにアクセスできるようになりました。

Rig Pose SOPノードのMotionPath Viewportステートの右クリック メニューに新しく追加された、Lock To Current Pointオプションにより、同じスケルトンで他のジョイントを選択しても、モーションパスを特定のジョイントにロックしたままにできるようになりました。

Rig Pose SOP ノードのモーション パス ビューポート状態の右クリック メニューにある新しい Make Current Handle Settings Default オプションを使用して、モーション パスのデフォルト表示設定を変更します。

Rig Pose SOPノードのモーションパス ビューポートのステートハンドル パラメータ ペインにある新しいCycle Framesフレーム パラメータで、モーションパスがどのように循環するかを確認できます。

Rig Match Pose SOP ノードの新しい Set Pivot from Boundsパラメータを使用して、リターゲット操作中にスケルトンをグローバルに変換するために使用するピボットを設定するために、バウンディングボックスを使用します。

アニメーションシーケンスのフレームレート変更とキーポジションの取り扱いが改善されました。
詳しくは、Global Animation Optionsを参照してください。

Global Animation Optionsウィンドウの新しいApply FPS ボタンで、フレームレート変更を明示的にシーンに適用します。
現在のFPSへの変更は、自動的に適用されません。

シーンのフレームレート(FPS)を変更すると、その現在のスタートフレーム(FSTART)がデフォルトで維持されます。
スタートフレームを変更してその絶対時間を維持し、キーの絶対時間を維持するという古いデフォルトの動作を再度有効にしたい場合は、新しい環境変数 HOUDINI_DISABLE_FPS_MAINTAIN_FSTART を 1 に設定します。

Global Animation Options ウィンドウの新しい Keep Keys on Current Frames オプションを使用すると、シーンのフレームレート (FPS) を変更しても、アニメーションのキーを現在のフレームに維持することができます。

例えば、最初のフレームが 1001 で、シーンの FPS を変更した場合、タイミングを保存してから最初のフレームを変更するのではなく、その最初のフレームが保存されます。

プレイバーの新しいEnable playback at fractional framesボタンとそのRMBオプションで、再生に小数フレームレートを設定することができます。
この動作は、すでにグローバルアニメーションオプションの中に、整数フレーム値&ステップオプションとして存在していますが、プレイバーからアクセスするのがより簡単になりました。

新しいSmoothMotion SOP ノードでバターワースフィルタを使用して、ポイント、スケルトン、または MotionClip アニメーションデータ(ローカルトランスフォームまたはその他の指定されたアトリビュート)を滑らかにすることができます。
Animation Editor の新しい Smooth Keyframes on Selected Channelsオプションウィンドウで、Butterworth Filter を使ってアニメーションのキーをスムージングします。
このウィンドウのオプションは、アニメーションチャンネルから不要なジッターやノイズを除去します。

Procedural Motion と Physics

Secondary Motion SOP ノードの新しい Driver Jointパラメータを使用して、セカンダリモーションエフェクトを駆動するカスタム ジョイントを指定します。

Ragdoll Collision Shapes SOP ノードの新しいConfigure Ragdoll Attributes Per Joint パラメータを使用して、Ragdoll Solver SOPの Stiffness と Motor Strength をスケーリングする目的でラグドールシミュレーションの入力スケルトンにポイント アトリビュートを作成することができます。

Ragdoll Solver SOPノードに新しく追加されたStiffness Scale Attribute パラメータを使用して、キャラクタのラグドール シミュレーションの剛性をスケーリングするには、ポイント アトリビュートを使用します。

Ragdoll Solver SOP ノードに新しく追加されたMotor Strength Scale Attributeパラメータを使用して、キャラクタのラグドール シミュレーションのモーター強度をポイント アトリビュートでスケーリングします。

Procedural rigging(プロシージャルリギング)

新しいJoint Capture Paint SOPノードにより、キャプチャ(スキン)ウェイトペイントが改良され、簡略化されます。

このノードは、KineFXキャプチャセットアップワークフローのCapture Layer Paint SOPノードに代わります。

Attach Joint Geo SOP ノードの新しい Role > Capture Geoパラメータ オプションと Joint Capture Biharmonic SOP ノードのCapture Geo Options パラメータを使用して、キャプチャ ウェイトをペイント後、キャプチャ(スキン)を洗練する前に、追加のカーブまたはジオメトリを使用して、ジョイント ウェイトをより均一かつ広範囲に配分させて、biharmonicキャプチャを向上させます。

Character Rig TreeUIが改善され、すべてのKineFX SOPノードでジョイントのヒエラルキー操作とナビゲーションが容易になりました。

マップポイントビューポートの状態でマッピングをミラーリングしている間に、行われるすべてのマッピングを事前に、可視化することができるようになりました。

ボックス選択を使用して、KineFXのビューポートステートでポイント、エッジ、コントロールを選択できるようになりました。

新しい Point Capture SOP を使用して、アニメーションするポリゴン表面または四面体メッシュの表面について、接続性を考慮したキャプチャウェイトと滑らかな変形を計算します。

このノードは、Point Deform SOP にキャプチャーウェイトを計算し、供給する代替方法として使用することができます。

Character Blend Shapes SOPのパフォーマンスを改善しました。

マップポイントビューポートの状態でマッピングをミラーリングしている間に、行われるすべてのマッピングを事前に、可視化することができるようになりました。

最初のマッチポイント設定で8.1倍、アニメーション化されたウェイトを使用して、ブレンドシェイプの変形をフレームごとに、アニメーション化する際に1.5倍高速化されました。

Character Blend Shapes Add SOPCharacter Blend Shapes Extract SOPノードの新しいAdd as In-Between Shapes パラメータを使用して、キャラクターブレンドシェイプに中間形状を追加、または抽出することができます。

これらのパラメータを使用すると、キャラクターブレンド形状のセットアップに、中間ターゲット形状を導入することができ、ヒーロー形状がメインターゲット形状に変形するまでの間にそれを通過することができます。

例えば、口元の笑顔のブレンドシェイプのセットアップの中間に、唇をセットアップして、キャラクターの唇と歯のジオメトリの間の干渉を回避することができます。

新しいCharacter Blend Shape Channels SOPノードを使用すると、キャラクタのスケルトンにパラメータやディテールアトリビュートを作成して適用し、ブレンド シェイプを駆動することができます。

このノードを使用して、キャラクタのブレンドシェイプのウェイトを設定し、アニメートすることができます。

Blend Shapes SOPノードの新しいBlend MaskingBlend Mask Attributeパラメータを使用して、各ブレンドシェイプ入力のブレンドウェイトを設定またはスケールするために、要素ごとのマスクを使用します。

これは、複数の変形エフェクトをレイヤー化する場合に便利です。

新しいSkeleton Blend 3.0 SOPノードでは、ポーズブレンディングとウェイトの処理方法が複数改善されています。

入力ジオメトリの clipinfo detail アトリビュートからフレーム範囲を読み取るか、フレーム関連パラメータを持つすべての KineFX ノードにカスタム範囲を設定するかを決定します。

Rig Doctor SOP ノードに新しく追加されたInitialize Scale From Rootボタンを使って、スケルトンのルートジョイントスケールとそのバウンディングボックスのサイズに基づいて、Rig Doctor のJoint Scaleパラメータ値を自動的に決定して、設定します。

Orient Joints SOP ノードの新しいReference Point Attribute for Lookatパラメータを使用して、ジョイントを方向付けるために使用されるupベクトルを決定することができます。

このパラメータを使用する場合、upベクトルは、現在のジョイントとup reference matrix point アトリビュートで指定されたトランスフォームとの間の方向として、計算されます。

Group Joints SOP ノードの新しいInitial Mergeパラメータを使用して、新しく作成されたジョイントグループと既存のジョイントグループとの間のメンバーシップの競合を解決する方法を選択します。

Visualize Rig SOPノードの新しいIgnore Joint Scalesパラメータを使用して、リグビジュアライゼーションのすべてのジョイントスケールを1Unitに等しくなるように設定します。

キャラクタにコントロールシェイプをアタッチする際、Attach Joint Geo SOP ノードに新しいRest Pose Attributeパラメータを使用して、そのスケルトンのレスト ポーズを指定できるようになりました。

Capture Correct SOPノードの新しいToleranceパラメータを使用して、キャプチャウェイトを再正規化する際に、ゼロに近い値を決定するために、使用する許容範囲を設定します。

Input/Output

新しいCharacter I/O SOP 2.0ノードでは、MotionClipのサポートの拡張を含む改良が行われています。

USD Skin Import SOP ノードが、無効なスキニングされた USD プリミティブに遭遇したときに、警告を発するようになりました。

Mocap Stream SOPがQualisys Track Manager経由でQualisysデバイスをサポートするようになりました。

Mocap Stream SOPノードの新しいFacial Attributesパラメータで、入力キャラクタからフェイシャルモーションを定義するブレンドシェイプのDetailアトリビュートの名前を変更するときに、使用するパターンを指定します。

Mocap Stream SOP ノードの新しい Layering パラメータで、入力と出力のスケルトンをどのようにレイヤー化するのかを決定します。

これにより、複数のソースからのモーションキャプチャパフォーマンスを同時に、より簡単に、結合することができます。

Optitrack (Motive) モーション キャプチャ デバイスの場合、Mocap Stream SOP ノードの新しいLocal IP パラメータで Houdini を実行しているマシンの IP アドレスを指定することにより、マルチキャスト グループへの接続を成功させることができるようになりました。

ROP FBX Animation Export SOP ノードおよび ROP FBX Character Export SOP ノードは、さまざまなデフォルトフレームレートおよびカスタムフレームレートに、対応するようになりました。

FBX Animation Import SOPFBX Character Import SOP ノードは、スタティックとアニメーションの両方のカスタムアトリビュートをサポートするようになり、それらは、 fbx_custom_attributes ポイントディクショナリとして、インポートされるようになりました。

FBX Animation Import SOPFBX Character Import SOPROP FBX Animation Output SOPROP FBX Character Output SOP のそれぞれのノードに新しいImport User-Defined AttributesExport User-Defined Attributesパラメータを使用して、ユーザー定義プロパティを FBX ファイルから/へインポートまたはエクスポートし、 fbx_custom_attributesポイントアトリビュートとして格納できます。

キャプチャー ポーズ ジオメトリに保存され、FBX Character Import SOPおよびROP FBX Character Output SOP ノードによって、理解される新しいfbx_skin文字列配列ポイントアトリビュートで、キャプチャージョイントが接続されるスキニング図形名を指定します。

このアトリビュートは、スキン ポイントにバインドされていないジョイントのバインド ポーズを、より正確に FBX インポート/エクスポートできるようにします。

FBX Export Window(File ▸ Export ▸ Filmbox FBX)、FBX ROPノード、および ROP FBX SOPノードがカスタム フレームレートをサポートするようになりました。

File SOP ノードを使用して、FBX ジオメトリをインポートするとき、新しい convertunits パス構文オプションを使用して、インポート中に単位変換を実行できるようになりました。(たとえば、 filename.fbx#,convertunits)

FBX でシーンファイルをエクスポートする際、ROP FBX Output SOPFilmbox FBX ROP ノードの新しい Embed Media パラメータで、シーンに関連するメディア (テクスチャ、サウンド、ビデオなど) をエクスポートに埋め込むことができるようになりました。

新しいDem Bones Skinning Converter SOPおよびDem Bones Skinning Converter ROPノードにより、非変形トポロジーの変形メッシュシーケンスをボーンベースのアニメーションに変換します。

Channels

Pass Filter CHOPノードの新しいButterworthフィルタータイプで、オーディオ入力およびアニメーションチャンネルを、最大限平坦なマグニチュードを持つ周波数応答特性でフィルタリングします。



FEM Deform SOPノードで、筋肉の四面体メッシュを、与えられたターゲット形状(ポリゴン表面)に合わせて変形させます。

新しい Scale-Invariant ARAP Vellum 法により、筋肉(Muscle)、組織(Tissue)、皮膚(Skin)の表面積と体積に対して、より正確に剛性値が適用されるようになりました。

この改良は、以下のパラメータに影響します。

1. Muscle Properties SOPノードのShape StiffnessとFiber Strengthのパラメータ

2. Tissue Properties SOP ノードの Shape Stiffness パラメータ

3. Skin Properties SOP ノードの Shape Stiffness パラメータ

Muscle Constraint Vellum Properties SOPノードの新しいCompression Stiffnessパラメータで、筋肉の端(muscle ends)がどの程度ボーンに追従して動くことができるかを指定します。

また、筋肉の端がそのボーンにどれだけ硬く保持されるかにも影響します。

Muscle Constraint Vellum Properties SOPノードの新しいTangent Stiffnessパラメータで、ボーンに対する筋肉の端の接続の向き(connection orientation)を保持します。

Tissue Solidify SOPノードの新しいThickness Scale AttributeScaleパラメータを使用して、ペイントしたアトリビュートの値をもとに、組織層(Tissue Layer)の厚みを増減させることができます。

Tissue Solidify SOPノードの新しいTissue Interior Surfaceパラメータを使用して、Tissue Solid Layerの内面または四面体の境界を視覚化します。

Tissue Properties SOPSkin Properties SOPノードにある新しいBend StiffnessBend Damping Ratiosパラメータで、組織や皮膚のポリゴン表面を自由に曲げることができるかを調整できます。

Tissue Solver Vellum SOPSkin Solver Vellum SOP ノードにある新しい ARAP Volume Preservation (Optimized) パラメータを使用して、組織や皮膚のボリューム剛性(volume stiffness)を無視して、組織や皮膚のプリミティブのボリュームに絶対剛性(infinite stiffness)を適用し、形を変える代わりに、組織や皮膚のボリューム剛性を変更することができます。

これにより、組織とスキンに適用されるボリューム保存が最適化されます。
Volume Stiffness(Houdini v19 ボリューム動作)のカスタムコントロールが必要な場合は、ARAP Volume Preservation (Optimized)をオフにしてください。

Tissue Solver Vellum SOPおよびSkin Solver Vellum SOPノードの新しいRest Positionパラメータを使用して、組織およびスキンソルバーがを確立するときに使用する静止位置またはTポーズを指定します。

Tissue Solver Vellum SOPおよびSkin Solver Vellum SOPノードの新しいRelax Internal Geometryパラメータを使用して、組織内部(Tissue Interior)サーフェスまたは皮膚内部(Skin Interior)サーフェスとそれぞれのアタッチジオメトリとの関係がhardかsoftか選ぶことができます。

Tissue Solver Vellum SOPおよびSkin Solver Vellum SOPノードにある新しいRigid StiffnessおよびRigid Damping Ratioパラメータで、rigid pointがbone surfaceとMuscle Solid Geometryとどのくらい強くまたは緩くアタッチされているかを決定します。




Look at

Agent Look At DOPAgent Look At Apply DOPが新バージョンになりました。

新しいPointsターゲットタイプでは点群、新しいAgentターゲットタイプでは、群衆の中の他のエージェントをターゲットとして、定義できるようになりました。

エージェントのアテンションスパンは、Gaze Durationパラメータを使用して定義することができます。

ターゲットの近さ、相対速度、向き、視野内の位置に基づいて、エージェントがターゲットとする優先度を設定することができます。

リグのspineとオプションのeye jointsを含むスケルトン調整を使用し、ターゲットに対する、角度によって異なる動作をするLook At 機能が追加されました。

Crowd Trigger DOPの新しいトリガータイプLook At Targetで、現在のターゲットに基づいた状態遷移をトリガーできるようになりました。

新バージョンのAgent Look At SOPは、SOPレベルでLook atを適用し、オプションでシミュレーションの履歴を残さないようにすることができます。

Agents

エージェント定義で、エージェントリグ内のジョイントのレストポーズを保存できるようになりました。

これは、すべてのジョイントにアニメーションがないクリップをロードするときや、エージェントにクリップやポーズが明示的に割り当てられていないときに使用されます。

Agent from Rig SOP ノードで、ポイントアトリビュート(rest_transform など)からエージェントリグのレストポーズを設定できるようになりました。

Agent SOP は、サブネット、FBX、または USD ファイルからエージェントをロードするときに、エージェントのレストポーズを設定するようになりました。

Agent Unpack SOP MotionClip output modeは、そのトランスフォームをゼロのまま にするのではなく、エージェントリグのレストポーズを MotionClip の静止ポーズとして使用するようになりました。

これにより、レストポーズを使用するMotion Clip Cycle SOPなどのノードの動作が改善されます。

Crowd Solver DOP ノードがレイヤーアニメーションクリップからロコモーションを 適用できるようになりました(Agent Clip Layer DOP ノードと同様)。

これは、ジョイント グループに __locomotion__ ジョイントが含まれ、ロコモーション クリップの速度が 0 でない場合に、レイヤーアニメーションクリップからロコモーションを適用します。

Agent SOP ノードが無効なスキニングされた USD プリミティブに遭遇したときに、警告を発するようになりました。

Agent Collision Layer SOPでは、Bound Scaleパラメータで各コリジョンシェイプの境界スケールをオーバーライドできるようになりました。

Crowd Assign Layers SOP では、新しいSwitch Layersパラメータで 1 つ以上の検索/置換パターンを使用して、エージェントに割り当てられたレイヤーを切り替えることができるようになりました。

検索パターンは、Attrib String Edit SOPで使用されているパターンに非常によく似ています。

Agent Terrain Adaptation DOP ノードが、足のロックチャンネル値を計算 するときにレイヤーアニメーションクリップをサポートするようになりました。

レイヤーアニメーションクリップのジョイントグループにankle/toeジョイントが含まれている場合、レイヤーアニメーションクリップから”foor down”チャンネルをブレンドすることができます。

VEX

新しいagentfindclip()VEX関数は、エージェントクリップを名前で検索することができます。

これは、エージェントクリップが存在するかどうかを確認したい場合に便利です。

新しいsetagentclips シグネチャは、agentfindclipによって返されたインデックスを使用して、エージェントの現在のクリップを設定します。

新しいVEX関数agentfindlayer()は、エージェント層を名前で検索することができます。

これは、エージェントレイヤーが存在するかどうかを調べたいときに便利です。

setagentcurrentlayerssetagentcollisionlayersの新しいシグネチャは、agentfindlayer によって返されるインデックスを使用して、エージェントの現在のレイヤーを設定します。



Interface improvements (インターフェースの改善)

Scene Graph Treeは、“Panes Follow Current Node” の動作を有効または無効にすることができます。
このボタンは、同じ名前の環境設定のショートカットです。

SolarisビューポートにRender Regionツールが追加されました。

Scene Graph TreeとScene Graphの詳細は、マウスカーソルの下にある行を強調して表示します。

Light MixerのUIを改善しました。

カメラの開口サイズに応じた出力画像の解像度を簡単に設定できるようになりました。
Karma Renderノード、およびRender SettingsRender Product LOPノードを参照してください。

新しいノード

Houdini Proceduralsは、huskでUSDをレンダリングするためのプリレンダープロセスとしてジオメトリを生成します。
Houdini19.5には、2つのプロシージャが含まれています。
Houdini Procedurals Hair LOPは、ガイドカーブとskin primからレンダリング時のhairを生成します。Preview Houdini Procedurals LOPは、Houdiniプロシージャをインタラクティブにプレビューします。

Reference 2.0 LOPでは、複数のリファレンスをインポートしたり、ワイルドカードを使用することができるようになりました。

Edit Prototypes LOPでは、アーティストがインスタンスプロトタイプを即座に編集することができます。

Isolate Scene LOPは、ロードマスクを自動的に設定し、重いシーンでの作業を容易にします。

Light Filter Library LOP は、Karma Light Filter シェーダーと MaterialX ノードを管理します。

Motion Blur LOPは、新しい Cache LOP のラッパーで、モーションブラーに必要なデータのキャッシュを容易にします。

File Cache LOPは、インラインディスクキャッシュを生成するための新ノードです。

Match Size LOPは、SOPノードと同様、プリムとモデルのマッチングとセンタリングに使用します。

Cache 2.0 LOPは、サブフレームサンプルの効率的なキャッシュをサポートするために拡張されました。

Coordinate System LOP は、シェーディングネットワークのための名前付き座標系を作成します。

Karma Cryptomatte LOP は、 Karma用Cryptomatte AOVの発見とセットアップを容易にします。

新しいKarma Ocean LOPは、Karma CPUで海のスペクトルや泡をレンダリングします。
このノードは、Small OceanLarge Oceanのシェルフツールで自動的に作成され、リンクされています。

シーンの組み立てとレイアウト

Asset Reference LOPは、USDアセットの上軸が現在のHoudiniシーンと異なる場合に検出し、自動的にアセットを回転させ、ワールドの上軸に合わせます。

Merge LOP に追加された Simple Merge スタイルは、現在デフォルトになっています。

この新しいモードは、すべてのLOPオーサリングレイヤーをアクティブレイヤーにフラット化し、ディスクまたはSOPからのすべてのサブレイヤーをこの結合されたLOPレイヤーよりも低レベル化します。

Instancer LOP は、デフォルトで ‘group’ kind を設定します。

Layout LOPに、 “Stack” “Paint”ブラシを追加しました。

Layout LOPは、既存のポイントインスタンスを編集することもできます。

Edit Prototype LOPをAssign Prototypes LOPに改称し、インスタンスが使用するプロトタイプを切り替える機能を明確にしました。

Component Output LOPは、サムネイル生成時にカメラや照明を提供するため、第2入力が用意されました。

新しい出力プロセッサ “Localize Assets”によって、外部の非USDファイルを出力ディレクトリに集めることができるようになりました。

Component Material LOPは、特に2番目の入力に接続されたシェーダーの処理負荷に対して、よりインタラクティブになりました。

Houdini 19と比較した場合、単純なケース(〜10シェーダ)は25〜50%高速化し、より複雑なシェーディングネットワーク(〜700シェーダ)は14倍向上しています。

ルックデベロップメント

VOPノードのネストしたサブネットワークを変換する場合、Material Libraryの方がはるかに効率的です。

Boolean型は、Edit Material Network LOPではint型として扱われます。

レンダリング、キャッシュと出力

HoudiniのKarmaレンダラーの使用と最適化のためのガイドであるKarmaユーザーガイドが用意されました。

Camera LOPでは、従来の解像度メニューを再利用するのではなく、専用のアスペクト比メニューを用意しました。

多くの LOP ノードが、1 つのクックで複数のタイムサンプルをキャッ シュできるようになりました。

これにより、Houdini の時間依存の数が減り、USD エクスポート、レンダリング、およびインタラクティビティが高速化されます。 影響を受けるノードは、Transform および Edit Properties LOPs です。この高速化は、Edit Propertiesを使用するアセットにも適用されます。

USD ROP および USD Render ROP は、エクスポート時の動作を制御するためにノードネットワークで使用できるコンテキストオプションの標準セットを出力するようになりました。

これらは、従来の Houdini フレーム変数の代わりに使用することで、Houdini の時間依存性の発生を回避できる場合があります。

USD Render ROPは、解像度の上書きやレガシーEXRモードの有効化など、huskコマンドラインツールで利用できるオプションをより多く提示しています。

SOP geometry import / export

Scene Import LOPは、SOPレベルのマテリアルアサインメントを変換するようになりました。

SOP Import LOPに新しい Bind Materials パラメータが追加されました。

このポストプロセスは、インポートされたプリムの @usdmaterialpath アトリビュートを直接マテリアルバインディングに変換します。

作成されたgeomsubsetsの文字列アトリビュート名のプレフィックスを無効にするコントロールを追加しました。

SOP Import LOP は、参照した SOP ノード上のエラーを反映するようになりました。

usdactiveアトリビュートは、SOP におけるプリミティブのアクティブ状態を設定するために使用することができます。

SOP Modify LOP は、スタティックまたはアニメーションの時間サンプルを SOP にインポートする場合に、より明確になります。

そのほか

primitive pattern syntax では、%bound(), %closerthan(), %fartherthan(), %visible() が time 引数を取り、特定の時間にメンバーシップを計算するようになりました (可視性などのアニメーションのプロパティを考慮したもの)。

適用された API Schema に一致するように %type() を使用できるようになりました。

USDライブラリをバージョン22.05に更新しました。

PDG関連のUSDノードを改善しました。




全般的な改善点

Karma LOP HDAは、Karma Render Settings LOPUSD Render ROPに置き換わりました。

これにより、レンダリング設定のレイヤリングが容易になりました。
(Karma LOPを使用した既存のシーンは引き続き使用できますが、新しい2つのノードを使用することが推奨されるワークフローとなりました。

Karma Render Properties LOPの名称をKarma Render Settingsに変更し、デザインを一新しました。

Karma Render Properties LOPの名称をKarma Render Settingsに変更し、デザインを一新しました。

Karma Render Settings LOPは、render settings primがシーンツリーに既に存在する場合に警告を発するようになりました。
これにより、上流のレンダー設定を誤って上書きしてしまうことを防ぐことができます。

Karmaユーザーガイドが用意されました。

サンプリング

レンダリング設定のコンバージェンスモード設定が2つのオプションに簡略化されました。

 “Automatic”は、以前の “Variance “モードで、分散ピクセルオラクルとの混同を避けるために名前が変更されました。
パストレース(Path Traced)は同じです。

以前の “Distributed”オプションの機能は、現在”Automatic”に含まれています。
デフォルトは、Automaticになりました。コンバージェンスモードパラメーターがAdvancedタブに追加されました。
(このオプションは、Karma CPUでのみ使用されることに注意してください。Karma XPUは常にパストレーシングを使用します)

初期サンプリングの高速化、自動収束(Automatic Convergence)により、IPRの使い勝手が向上しました。

Karma Render Settings の Pixel Samples パラメータは、収束モードに応じて Primary Samples または Path Traced Samples と呼ばれるようになりました。

自動(Automatic)モードパストレース(Path Traced)モードは、通常このパラメータに非常に異なる値を必要とします。2つのパラメータは、両方とも、設定プリムの karma:global:samplesperpixel プロパティを設定し、汎用レンダー設定ノードの1つの Pixel Samples パラメータであることに変わりはありません。

Min/Max Ray Samples パラメーターは、Min/Max Secondary Samples に変更され、各プライマリーサンプルヒットから発射されるインダイレクトサンプルの数をコントロールすることが明確になりました。

Indirect Samples Quality は、サンプルの種類ごとに追加されます。

特定のローブの最小/最大サンプルの乗数を表します。これは、Houdini 19.0以前の “Distributed “コンバージェンスモードの挙動に似ています。
古い “Distributed “コンバージェンスモードと同じ結果を得るには、Min/Max Secondary Samplesを1に設定し、特定のローブに対して個々のQualityパラメータを調整します。

Houdini プロシージャ

Houdini/Huskは、USDプリムとして表現されるレンダリング時のプロシージャをサポートするようになりました。

これらのプリムは、基本的に入力ステージを受け取り、それを変換するフィルタ関数であるため、どのレンダーデリゲートでも動作するはずです。

このバージョンのHoudiniには、2つのプロシージャが含まれています。

Houdini Procedurals Hair LOPは、ガイド曲線とスキンプリムからレンダリング時のヘアを生成します。Preview Houdini Procedurals LOP は、Houdiniプロシージャ をインタラクティブにプレビューします。

ライティング

light sampling全般を改善しました。

Karmaがシリンダーライトに対応しました。

KarmaがライトシェイピングAPI(spotlight、focusなど)をサポートするようになりました。

KarmaがライトフィルターAPI(barndoor、gelなど)に対応しました。

Karmaがdiffuse とspecular のスケールに対応するようになりました。

Karmaがライトリンクに対応しました。

シェーディング

Karma CPUがUsdCoordSysをサポートするようになりました。
詳しくは、Coordinate System LOPをご覧ください。

Principled Shader VOPKarma Nested Dielectrics VOPは、MaterialX/KarmaのNested Dielectricsに対応しました。

Karma OCIO Color Transform VOPは、OCIOカラートランスフォームを手動で適用します。

Karma Ray Import VOPは、MaterialXのシェーディンググラフで使用するためのレイ変数をインポートします。

以前のMtlX AOV VOPは、Karmaでのみ動作することを明確にするため、Karma AOV VOPに名称変更されました。

Karma Voroni Noise 2D VOP と Karma Voroni Noise 3D VOPが追加されました。

Karma Volume VOPは、VDFとEDFのボリュームをKarmaに適した方法で結合したものです。

Karma Rounded Edge VOPは、レンダリング時のエッジ丸めを行います。
現在、この機能はKarma CPUでのみ動作します。

Karma Curvature VOPは、表面の曲率から信号を生成します。現在のところKarma CPUでのみ動作します。

新しいKarma Ocean LOPノードは、Karma CPUレンダラーで海のスペクトルと泡をレンダリングするのに役立ちます。
海は、多くの場合、Small OceanまたはLarge Oceanシェルフツールで作成されます。

テクスチャフィルタリングの改良(anisotropic、Cubicなど)

MaterialX

MtlxStandardSurfaceノードの実装を改善(薄膜と光沢の改善)

MtlX Facing Ratio VOPは、2つのベクトル間のスムーズな信号のための新しいノードです。

MaterialX1.38.4 から新しいMtlX Gltf PbrMtlX Standard Surface to USD Preview SurfaceMtlX Surface Unlit VOPノードが追加されました。

バンプマッピングを追加しました。
MtlxHeightToNormal VOPノードを介して使用できます)

MtlxUnlitSurface VOPノードを追加しました。

LamaノードはMaterialXのこのバージョンに存在しますが、完全に機能するわけではありません。
Lamaが完成するまでは、混乱を避けるため、同等のHoudiniノードは非表示になっています。

UsdMtlX を USD 22.05 から、MaterialX ライブラリをバージョン 1.38.4 に更新しました。

そのほか

オートセグメンテーションモードでは、Karmaが利用可能なモーションサンプルの数を自動的に使用することができます。

Karma CPUにベイクの低レベルサポートが追加されました。
アーティストフレンドリーなツールやワークフローは、Houdiniの将来のリリースで登場する予定です。




機能が拡張されたノード:Topo Transfer SOP
一致するランドマークポイントのサポートが追加されました。
スナップと選択前のハイライト表示ができるようになりました。
入力ジオメトリのシェーディング属性の表示を保持できるようになりました。

外部定義したランドマークを入力して使用することができるようになりました。
外部定義のランドマークは Landmark Edit SOP によって作成することができます。

それにより、ランドマークポイントのミラーリング、マージなどの操作ができるようになり、ターゲットとソースを反転したりといった操作や、複数の転送にソースポイントを使用する、ソースとターゲットのポイントを一致させる、などランドマークデータの再利用がプロシージャルにできるようになりました。

Curve SOP 
tabメニューからの Curve SOP の呼び出しが、カーブの種類ごとに、Curve Bezier、Curve Polygon、Curve Spline の3種類になりました。
これらは Primitive Type パラメータがそれぞれの種類のカーブになっているだけの Curve SOP です。

新しくアップベクターやタンジェントなどの方向属性のアトリビュートを追加できるようになり、ビューポート上でインタラクティブに操作できるようになりました。

Copy to Curve SOP でコピーされるジオメトリの向きや Sweep SOP のリボン形状のような、カーブのアトリビュートを利用するノードでインタラクティブに調整することできます。

Convert Line SOP 
ジオメトリの任意のエッジグループからカーブを抽出することができるようになりました。

Attribute Transfer SOP:処理が高速化されました。

Point Deform SOP:マスクアトリビュートをサポートするようになりました。

Delete SOP
Randomに削除するオプションが追加されました。

Group SOP
ランダムなグループを作成するオプションが追加されました。

DOP Import SOP、DOP Import Fields  SOP、RBD I/O SOP のバージョンが2.0になりました。
※詳しくは「RBD」の項目を参照してください。

Vellum I/O SOP のバージョンが2.0になりました。
※詳しくは「Vellum」の項目を参照してください。

FLIPソルバが SOPベースのワークフローに対応しました。
※詳しくは「PyroとFLIP fluid」の項目を参照してください。

glTF
glTF ROPおよびROP gLTF出力 ノードに新しいパラメーター Force Objects と Exclude Objects が追加されました。
このパラメーターでノードの表示フラグの状態に関わらず、エクスポートするオブジェクトを含めるか除外することができます。

Alembicのサポートがバージョン1.8.3に更新されました。

LIDAR Import SOP:SOPLAS 1.4とLAZファイルのサポートを追加しました。

 tabメニューで変更されたノード(カテゴリー別)

Heat Geodesic SOP
物理的な熱分布モデルを使用して、サーフェス上のアトリビュートの広がりを計算することができます。

※現状(19.5.303)、tabメニューに登録されていません。
Hscript Textportで opunhide Sop heat geodesic を実行することで、tabメニューで呼び出すことができるようになります。

(Attribute)

・Attribute from Group SOP が追加されました。
パラメータ Output as Integer Attribute がONになった Group Promote SOP を呼び出します。これで、Groupからアトリビュートを作ることができます。

・ Partition SOP が無くなりました。
Hscript Textportで opunhide Sop partition を実行することで、tabメニューで呼び出すことができるようになります。

(Create)

Spiral SOP が追加されました。
螺旋状のカーブを作るノードです。 Labs Spiral SOP より、細かくパラメーターで設定できます。

Helix SOP が追加されました。
Helix SOP は Spiral SOP のHeightパラメータが初期設定されている、高さのある Spiral SOP が呼び出されます。

(Edge)

Curve from Edges SOP が追加されました。
パラメータ Connect Path、Remove Unused Points がON、Compute LengthがOFFになったConvertLine SOP を呼び出します。
これで、任意のエッジグループからカーブを抽出することができます。

(FLIP)

FLIP ソルバが SOPベースのワークフローに対応することで、多くのFLIP関係のノードが追加されています。
※詳しくは「PyroとFLIP fluid」の項目を参照してください。

(Fluid)

Shallow Water Solver SOP が追加されました。
ハイトフィールドを元にした Shallow Water ソルバにより、波紋やうねり、水の流れを薄い水面レイヤとして作成できるようになりました。
※詳しくは「OceansとWater Surfaces」の項目を参照してください。

(Group)

Group from Name SOP が追加されました。
nameアトリビュートを元にグループ分けをすることができます。

(Hair)

Guide Grow to Surface SOP が追加されました。

(KineFX)

Attach Capture Geo SOP が追加されました。
パラメータ Role が Capture Geo になった Attach Joint Geo SOP を呼び出します。

Character Blend Shape Channels SOP が追加されました。
キャラクタのスケルトンにノードパラメータやディテールアトリビュートを作成し、ブレンドシェイプを駆動することができるようになりました。

Joint Capture Paint SOP が追加されました。
キャプチャーウェイトをジオメトリにインタラクティブにペイントするためのノードで、キャプチャ(スキン)ウェイトペイントが改良され、簡素化されます。

Smooth Motion SOP が追加されました。
Butterworthフィルターを使用して、アニメートされた入力ポイントまたはKineFXジョイント、スケルトン、またはMotionClipの不要なノイズを滑らかにします。
※詳しくは「KineFXとアニメーション」の項目を参照してください。

(Manipulate)

Topo Landmark SOP が追加されました。
ジオメトリサーフェイス上にTopo Transfer SOPに入力できる、ランドマークポイントを作ることができます。

(Mask)

Distance along Curves SOP が追加されました。Edg Transport SOP を呼び出します。

(Muscles)

Bone Solidity SOP が追加されました。
組織システムの解剖学的な骨として使用するために、サーフェスジオメトリを四面体メッシュに変換します。この機能はまだ開発中のβになります。

Muscle Target Shapes SOP が追加されました。

(NURBS)

Curvesect SOP が Curve Intersect にLabel名称が変更されています。
tabメニューで、ノード名をキー入力で絞るときに注意が必要です。

(Primitive)

Iso Surface SOP が無くなりました。
Hscript Textportで opunhide Sop iso を実行することで、tabメニューで呼び出すことができるようになります。

(Pyro)

Pyro Source Instance SOP が追加されました。
パックされたセットを持つパイロシミュレーションをソースとするために、スポーンポイントからソースインスタンスポイントを作成します。

Pyro Source Pack SOP が追加されました。
入力ボリュームからパックされたソースセットを作成します。

Pyro Spawn Sources SOP が追加されました。
パックされたセットを使用してパイロシミュレーションを調達するためのスポーンポイントを作成します。
※詳しくは「PyroとFLIP fluids」の項目を参照してください。

(RBD)

RBD Match Transforms SOP が追加されました。
GeometryまたはProxy Geometryのいずれかから、名前ごとに各ピースの変換を抽出し、対応するname属性を持つジオメトリに適用します。

RBD Transform SOP が追加されました。
RBD Material Fracture SOPノードの3つの出力(ジオメトリ、制約ジオメトリ、およびプロキシジオメトリ)すべてに対して変換操作を実行します。
※詳しくは「RBD」の項目を参照してください。

(Rigging)

Point Capture SOP が追加されました。
アニメーションするポリゴン表面または四面体メッシュの表面について、接続性を考慮したキャプチャウェイトと滑らかな変形を計算します。
※詳しくは「KineFXとアニメーション」の項目を参照してください。

(Terrain)

Height Field Deform SOP が追加されました。
アニメートされたハイトフィールドに従ってジオメトリを変形させます。オプションで、変化する斜面に沿ってポイントを回転させることもできます。

これを利用して、パックしたオブジェクトを地形に合わせて配置することができます。

Height Field Flatten SOP が追加されました。
地形のマスクされた部分を平らな領域で置き換えます。
新しいディテールを追加する前にフィーチャを消去したり、領域のフットプリントをフラットにしてその上にジオメトリを追加したりするために使用できます。

(Utility)

Copy with Stamp SOP が無くなりました。
Hscript Textportで opunhide Sop copy を実行することで、tabメニューで呼び出すことができるようになります。

Tangent Field SOP が追加されました。
ポリゴンサーフェス上に滑らかに変化する接線ベクトル場を作成し、指定されたガイド値を追跡してスムーズに補間することができます。
曲率方向または境界曲線によって生成されたフィールドをガイドするためのサポートが組み込まれています。

(VDB)

VDB Convex Clip SDF SOP が追加されました。
SDF VDBを任意のジオメトリの凸包形状で切り取ります。

(Vellum)

Vellum Attach Constraints SOP が追加されました。
Vellumの既存のAttach to GeometryおよびStitch制約をインタラクティブに編集または新規作成します。

Vellum Configure Grain Pieces SOP が追加されました。

Vellum Transform Pieces SOP が追加されました。
Vellum Shape Match constraints SOP からのデータを使用してジオメトリを変換し、プロキシジオメトリをシミュレーションした結果からレンダリングジオメトリを変換します。
※詳しくは「Vellum」の項目を参照してください。

(そのほか)

Compute Dual Polygon SOP が追加されました。
パラメータ ComputeDual がONになった Divide SOP を呼び出します。これで多面体の各フェースのポイントをフェースの中心に結合します。

Remove Degenerate SOP が追加されました。
パラメータRemove DegenerateがONになった Facet SOP を呼び出します。これでDegeneracyポリゴンをクリーンアップします。

Remove Inline Points SOP が追加されました。
パラメータRemove Online PointsがONになった Facet SOP を呼び出します。これで直線上のポイントを距離の閾値を元に削除します。

Remove Shared Edges SOP が追加されました。
パラメータRemove Shared EdgesがONになった Divide SOP を呼び出します。これで共有エッジを削除することができます。

Remove Unconnected Points SOP が追加されました。
パラメータRemove Unused PointsがONになった Add SOP を呼び出します。これでプリミティブに所属していない単独のポイントを削除することができます。

Transform from Centroid SOP が追加されました。
パラメータPivotにエクスプレッションcentroidでジオメトリの中心がセットされたTransform SOP を呼び出します。




Python2のサポートが無くなります。
Houdini19.0まではPython2対応版とPython3対応版の両方がダウンロードできていましたが、Houdini19.5からPython3が標準となりPython2対応版が無くなりました。

上部メニューバーペーンの変更点

・ Preferences に、Dead Zones オプションが追加されました。
これは、クリックしてからドラッグに変わるまでのポインタの移動距離を設定できます。タブレット端末をお使いの方は、誤操作を防ぐためにこの距離を長くすることができます。

・ Preferences に、HUD オプションが追加されました。
Viewport上のHUDパネルの色やバックグラウンドをカスタマイズすることができます。

Toggle StowbarsがtabメニューのViewカテゴリーからEditメニューに移動しました。
ToggleStowbars(Alt+Ctrl+S)でペーンのオプションtabバーを全て隠すことができます。非常にシンプルな見た目になります。

WindowsメニューにDash BOXが追加されました。
いろいろな探し物をするためのインターフェースです。Ctrl+Dで出すこともできます。

ノード名からHelpを探すことができます。
DisplayOption や Preference を名前から探すことができます。数式を直接入力することで、計算することができます。
パラメータを名前で探すことができます。その他いろいろなものをカテゴリ別に検索できます。

Labsメニューが追加されました。
SideFX labsシェルフtabのいくつかの機能が呼び出せます。その代わり、WindowsメニューからSideFX Labsが無くなりました。

下部タイムスライダーペーンの変更点
Enable playback at fractional framesボタンが追加されました。
タイムスライダーで小数点以下のフレームを参照できるようになります 。 マウス右クリックで移動単位(1/N)の設定ができます。Global Animation OptionウィンドウのInteger Frame Valuesのチェックを外すのと同じです。

macOS 上でネイティブのフルスクリーンモードに対応するようになりました。

ボリュームが、ビューポート上で Environment Light の影響を受けることができるようになりました。

ビューポートで、MaterialX シェーダの表示がサポートされるようになりました。



Pyro instancing

SOP上で使用できるPyro Sourceを使用し、大規模な爆発、砂嵐、山火事などのScatter Pointsにインスタンスを作成することができます。
旧バージョンのパイロインスタンシングワークフローとは対照的に、以下のことが可能になりました。
・ 異なるPyro Sourceを同時に使用する
・ Ignitionをコントロールする
・ (transformationを適用する

新しいPyro Source Packは、入力ボリュームからパックされたソースセットを作成します。
パックされたソースセットは、ソースボリュームを含むパックされたプリミティブと、それらをパイロシミュレーションに適用する方法に関するルールで構成されています。

いくつかのパックされたソースセットをマージして、ライブラリを構成することができます。標準的なワークフローでは、Attribute from Piecesノードが散布ポイントに異なるライブラリ要素をランダムに割り当てます。

例えば、Scatterノードでポイントを散布したり、カーブポイントに沿ってソースを散布したりすることができます。Attribute from Piecesノードを使用したコンセプトセットアップについては、Pyroインスタンスのページを参照してください。

また、より柔軟なワークフローとして、Pyro Spawn Sources およびPyro Source Instanceノードを使用して、個々の要素をパイロシミュレーションにインスタンス化する方法もあります。

新しい Pyro Spawn Sources SOPノードは、パックされたソースセットを使用してパイロシミュレーションをソーシングするためのスポーンポイントを作成します。

これらのポイントは、関連するpacked setsを識別し、ソースがいつエンゲージされるか、どのくらいの速さで再生されるか、どのくらいの頻度で繰り返されるかなどの基本的なアニメーションデータを格納します。

downstreamノードを使用してスポーンポイントを変更し、ポイントアトリビュート(orient、startframe、sourcespeedなど)に格納されているプロパティを調整したりランダム化したりすることができます。

新しいThe Pyro Source InstanceSOPは、Pyro Spawn Sourcesによって生成されたスポーンポイントを注入し、それらがアクティブになったときにそのインスタンスポイントを生成します。

これらのインスタンスポイントはPyro Solverに供給され、パックされたセットを使用してシミュレーションを駆動することができます。また、ポイントアトリビュートを上書きするルールを定義して、ソースの特定のプロパティ(例えば、温度アトリビュートの乗数)をランダム化することができます。この結果、より高温と低温の異なるソースが生成されます。

GPU-accelerated noise types

Houdini pyro シミュレーションに GPU アクセラレーションによるノイズが追加されました。

・ VEXの新機能として、gxnoise、curlgxnoise、curlgxnoise2dの3種類から選択することができます。

・ Analytic Fast Simplex Noiseは、OpenCLのAnalytic Simplex Noiseに相当するノイズタイプです。

・ 以下のノードでは、新しいオプション「Analytic Fast Simplex Noise」がデフォルトで使用されます。
  1. Gas Turbulence
  2. Pyro Solver (Sparse)
  3. Pyro Solver

Velocity Voxel Scale

このパラメータは、DOPとSOPの両方のパイロネットワークで使用でき、パイロシミュレーションを高速化するために、volumeとvelocityのボクセルを別々に定義することが可能です。
備考:また、volumeやvelocityのスケールによって結果が異なります。

DOP設定の場合、Velocity Voxel Scaleパラメータは、PropertiesのSmoke Object (Sparse)ノードにあります。

SOP セットアップの場合、Pyro Solverの Setup ▸ General で設定を確認することができます。

SOP FLIP fluids

SOPベースのFLIP流体では、SOPとDOPのネットワーク間でデータをやり取りする必要がなく、迅速なセットアップが可能です。

また、SOP FLIP流体では、新しい境界条件やパーティクルの供給・除去方法の簡略化も導入しています。

新しい境界条件処理:境界条件は、流体がシミュレーション領域の境界部分と相互作用するときに関係します。
境界条件を解く理由は、海岸や岸壁などのモデルがない場合、シミュレーションをある時点で終了する必要があります。

開放境界条件(Open Boundary Condition)では、波が反射することなく境界を通過することができます。
開放境界条件は、流入する水や海洋スペクトル(Ocean Spectra)などの外部からの情報にも適用されます。

新しいSOP FLIP流体は、圧力または速度の境界条件について解くことができます。圧力ベースのシミュレーションは、より乱流でスプラッシュが発生する傾向があります。

FLIPシミュレーション領域を作成するための新しいFLIP Containerノードが追加されました。領域境界では、境界条件が計算されます。

領域の内側に当たったパーティクルは削除され、新しいパーティクルは外側から供給されます。コンテナノードには、密度、表面張力、粘性などの流体の物理的特性を表すパラメータが用意されています。

ageやvorticityなどの追加アトリビュートもコンテナでオンにすることができます。カスタムアトリビュートもコンテナ内に配置されています。
DOP FLIP流体とは対照的に、SOP FLIPドメインは箱型である必要はなく、球形や円筒形でもかまいません。変形やアニメーションするような形状も可能です。

新しいFLIP Boundary Geometry ノードにより、パーティクルの作成と削除が可能です。

ソースとシンクの両方が、圧力および速度駆動のモードを提供します。
スタティック、アニメーション、デフォーミングが可能で、オブジェクトやボリュームを使用することができます。

ソースにはパーティクルを作成するためのさまざまなモードが用意されています。
NoneとVelocityは、ソースオブジェクトの法線に沿った初期速度を持つパーティクルを作成します。
さらにVelocityを追加することで、パーティクルに特定の初期方向を与えることができます。Pressureは、オブジェクトの法線に沿って、一定の圧力でパーティクルを放出します。コンテナを満たしたくない場合は、Uniform Pressureがよいでしょう。

このパラメータは水位に依存せず、パーティクルはソースオブジェクトの法線に沿って作成されます。圧力ベースのソーシングは、追加のvelocityと組み合わせることで、パーティクルに初期方向を与えることができます。

Sourceモードは、オブジェクトへの充填とソーシングの制御に役立ちます。モードの違いは、コンテナ内に水を入れるときに、より明確になります。

例えば、グラスに水を入れる場合、正しい動作をさせるためには、ソースオブジェクトはグラスの底の近くに置かなければなりません。
・ Noneでは、ソルバーはHoudiniのDOPベースのFLIP流体と非常によく似た動作をします。水位がソースオブジェクトに到達すると、ソーシングは停止します。

・ Velocityでは、水がソースオブジェクトをオーバーフローしても、パーティクルを生成することができます。また、グラスの縁を越えて水が流れ、止まらなくなります。

・ Pressureでは、調整したUniform PressureまたはWater Levelに到達すると、ソーシングが停止します。

新しい設定済みのソースとシンクにより圧力、速度の設定に素早くアクセスできます。

新しいFLIP Collideノードは、流体とオブジェクトの相互作用とコリジョンを制御します。FLIP Collideノードは、スタティックオブジェクト、アニメーションオブジェクト、デフォーミングオブジェクト、およびボリュームを受け付けます。

コリジョンオブジェクトの解像度は、FLIP Container ノードの Particle Separation パラメータで制御され、個別またはオブジェクトごとに調整することはできません。

・ コリジョンオブジェクトは、2Dオブジェクト、クローズドもしくはオープン3Dジオメトリに対応しています。この目的のために、このノードにはサーフェスおよびボリュームのコリジョンモードが用意されています。正しい結果を得るためには、FLIP SolverノードのCollisionサブペインで、Particle Collisionから適切なモードを選択することも必要です。

・水面とのインタラクションは、コリジョンオブジェクトを閉じた状態で、Volume Collision(FLIP Collide)とMove Outside Collision(FLIP Solver)をONにする必要があります。

新しいFLIP Solverは、サブステップ、境界動作(圧力駆動または速度駆動)、Narrow Band、空気非圧縮性など、シミュレーションに関連するすべての設定を定義する中心的機能です。

また、ソルバーには、海洋スペクトルや他のSOP FLIP流体シミュレーションのような外部圧力または速度ソースの4番目の入力が用意されています。

HoudiniのSOP FLIP流体には、あらかじめ設定された流体セットアップ(Configure)がいくつか用意されています。

この例では、温度や粘度などの属性を変化させる方法、ビーチウェーブやガイドオーシャンを設定する方法などが説明されています。
ネットワークエディタでTabキーを押すと、これらのツールを見つけることができます。

1.  FLIP Configure FLIPでは、粘度の異なるrubber toyを溶かし、カスタムカラーフィールドでrubber toyのUVをパーティクルにマッピングする方法を紹介しています。

2.  FLIP Configure Laveは、カスタムで温度を変化させる例です。温度値は、ソルバー内のGas Temperature Updateノードに供給されます。そこで、温度は粘性にマッピングされます。

3.  FLIP Configure Wave Tank は、Waterlineと基本的なコンテナのセットアップを追加します。この設定は、船や他の移動するオブジェクトとのインタラクションのための良い初期設定となります。

4.  FLIP Configure Wavetankは、Ocean SpectraをFLIP Solverの4番目の入力に接続し、海の波(ローリングやブレイク)を作成する方法を紹介しています。

5.  FLIP Configure Beach Tankは、海岸の波を割る典型的なセットアップです。波は、Ocean Spectraによって生成されます。このシーンでは、より良い水しぶきとより多くの乱流のために、圧力駆動型の境界を使用しています。

Narrow Band アトリビュートフィールドの処理が改善されました。

FLIPコンテナでアトリビュートフィールドのペアを指定すると、ネットワークチェーンを通じて適切に維持されるようになりました。アトリビュートは背景グリッド側に存在しなければならないので、Narrow Bandがオンになるとすぐに背景グリッドにブレンドされます。




Shallow water solver

新しいShallow Water Solver SOPノードは、特定の状況下での水の挙動をシミュレートするものです。

典型的な例としては、リップルや 波、池や水たまり、あるいは亀裂や表面の凹凸の上を流れる水などがあります。
Shallow Water Solverは、基本的にはハイトフィールドをベースにしています。ハイトフィールドは、ペイント、スカルプト、またはディスプレイスメントマップから作成することができます。

ソルバーは、含まれる高さ情報を認識し、そのような環境における水の挙動をシミュレートします。また、ソルバーから出力される情報もハイトフィールドです。

粒子流体シミュレーションとは対照的に、Shallow Water Solverは2Dソルバーです。

最大の利点は、ソルバーのシミュレーション速度です。
Shallow Water Solverを使った巨大なランドスケープへの浸水処理は、パーティクルを使った場合と比べ、はるかに高速に行えます。

また、キャッシュされるデータ量も大幅に少なくなり、メッシュを作成するためにParticle Fluid Surfaceを使用する必要もありません。
グラスやプールを満たすようなエフェクトは、Shallow Water Solverでは実行できず、依然としてパーティクルが必要です。

ホワイトウォーター、泡、衝突による水しぶきなどの2次エフェクトは、デフォルトではShallow Water Solverで使用できません。

Shallow Water Solverは、マスクで制御します。

マスクにより、Source、Sink、Forceを加える場所を定義することができます。
また、カスタムベロシティフィールドを接続して、シミュレーションを駆動することも可能です。
マスクは、Houdiniのハイトフィールドマスクノード(HeightField Draw、HeightField Mask by Object、HeightField Mask by Featureなど)を通して適用することが可能です。

マスクの値 (0-1) は、Water Source (またはSink) の強度を決定します。
0 の値はシミュレーションに影響を与えず、1 の値は最大強度を意味します。

これにより、例えば水がゆっくりと流れ落ちるようなSinkを作ることができます。マスクは、Static、Animation、Deformingが可能です。
AnimationおよびDeformingマスクは、フレームごともしくは変化が非常に速い場合はサブステップごとに評価されます(ただし低速になります)。

ソルバーのConstraint Updatesサブペインには、Source、Sink、Forceのための適切なFrequencyパラメータが用意されています。

移動する物体との衝突による水の飛散は可能ですが、Velocity FieldとForce Fieldをカスタマイズする必要があります。

また、計算結果は、オブジェクトの速度、スケール、ソルバーのサブステップなどに強く依存します。正確に流体とオブジェクト間の相互作用をカスタマイズするためには、Vellum流体またはFLIP流体を使用することができます。

Shallow Water Solverノードの出力には、”heightfield”、”mask”、および水のVelocity Fieldが個別のチャンネルとして含まれています。

Node infoではどのheightfieldが利用可能か確認することができます。

Oceans

ほとんどのプラットフォームで、HoudiniはVolumeFFT SOPとocean_sample VEX関数でIntelのMKLライブラリからのFFT実装を使用するようになりました。

この実装は、例えばResolution Exponentが12(4K)以上のOcean Spectrumのような大きなドメインでは、以前よりも大幅に高速化されています。

Ocean Spectrum SOPでは、新しいTMA Spectrumと、Encino波やTessendorf波としてよく知られている従来のPhillips Spectrumから選択することができるようになりました。

Encino波は、2015年に発表されたChristopher Horavth氏の論文「Empirical directional wave spectra for computer graphics」をベースにしています。

ChristopherのニックネームはBlackencinoです。2001年1月、Jerry Tessendorfが「Simulating Ocean Water」の論文を発表しました。

Tessendorfの実装は、今でもコンピュータグラフィックスにおける海洋波の標準となっています。

TMA モードでは、Swell パラメータは、より平行な波を作成するために方向性の広がりを修正します。

Fetch(海風)(km)パラメータは、風が大きな方向転換をすることなくオープンウォーター上を移動する距離を表します。

また、架空の海岸線からの距離と解釈することもできます。うねりと海風を変更することで、海岸付近の高周波の波から、外洋のうねりまでシミュレートすることができます。
風は 、 波の高さと速さを調整します。TMA モードでは、Depth パラメータの影響もより顕著になります。

Karma CPUでのOceanレンダリング

新しいKarma Ocean LOPノードは、Karma CPUレンダラーで海のスペクトルと泡をレンダリングするのに役立ちます。

海は多くの場合、Small OceanまたはLarge Oceanシェルフツールで作成されます。




HoudiniのRBDノードの多くは、UIを全面的に見直しました。

パラメータは、サブペインを持つ複数のタブにグループ化され、使用頻度の低いパラメータを移動させることで、タブの過負荷を避けました。
現在では、ソルバー内で直接変更を加えるのではなく、様々な設定やプロパティノードを使用してシミュレーションを調整することが好ましいワークフローとなっています。

インポートとエクスポートノードが、Houdini全体でより効率化され、Pyroのような他のソルバーの入出力ノードと一致するようになりました。

また、多くの改良点は、直接公開されていませんが、より高いパフォーマンス、ロード時間の高速化、ノードとその入出力のハンドリングに配慮しています。

RBD Bullet Solver

RBD Bullet Solverは、多くのUIを改善し、Pyro Solver SOPに合わせて効率化されました。パラメータは、Setup、Bounds、Collisionなどのタブに整理されています。

さらに、使用頻度の低いパラメータはAdvancedタブの下に整理されるようになりました。すべてのタブには、パラメータセットをグループ化した折りたたみ可能なサブペインがあります。

Setupタブには、Time ScaleやSubstepsなど、シミュレーションに関連するパラメータが含まれています。

Propertiestタブの下には、ノードの最初の3つの入力に対する共通のRigid Bodyプロパティがあります。

通常、ここで編集することはあまりなく、パラメータは便宜上保持されています。
より複雑なセットアップや変更が必要な場合は、RBD Configureを使用することをお勧めします。

そちらのノードでは、グループごとに任意のパラメータを変化させることができます。

Collisionタブのパラメータは、ソルバーの4番目の入力(Collision Geometry)に影響します。

Propertiesと同様に、上流のRBD Configureノードを使用した、シミュレーションパラメータの調整をお勧めします。Collisionは、便宜上残されています。

フォース(Forces)タブがより整理されました。

カスタムフォースを追加するには、RBD Bullet Solver内で設定してください。

ConstraintsタブのいくつかのパラメータはAdvancedに移動しました。

Constraintパラメータは、通常、SOPベースのワークフローでは必要なく、同様の設定はRBD Constraint Propertiesノードで行うことができます。
RBD Constraint Propertiesノード内ですべてのConstraint Valueをスケーリングすることは可能です。

例えば、Soft ConstraintのStiffnessを50%にスケールしたい場合、パラメータに移動し、SetをScaleに変更し、0.5を入力します。

Guideタブが整理され、使用頻度の低いパラメータはAdvancedタブに移動しました。

Guided Simulationパラメータは、RBD Guide Setup SOPノードに移動しました。
デフォルトでは、ソルバーは、上流でRBD Guide Setupノードが設定されていることを想定しています 。

RBD Guide Setupノードを使用したくない場合は、Advancedに移動し、Use Pre-Configured Setupをオフにすることで、ソルバーのGuideタブですべての設定を行うことができます。

Vizualizationタブには、ガイドジオメトリを可視化するためのオプションが用意されています。

Advancedタブでは、使用頻度の低いパラメータや、configureノードでも制御可能なパラメータが用意されています。

これらのパラメータは、入力されるプロパティのスケールファクターとして使用されます。また、RBD Emission SolverのEmission Cache Memoryの設定もここで確認できます。

DOPからSOPベースのワークフローに移行する際、OutputタブがPyro Solverの出力に合わせてエクスポート設定を保持するようになりました。

Impact Dataを使用し、2次エフェクトを駆動できるようになりました。このデータは、以前はImpactタブでしたが、現在はOutputタブ内にサブペインとして統合されています。

また、Age Attributeを有効にして破片ごとのライフタイムを記録し、2次エフェクトをコントロールしたり、その他の利用可能なアトリビュートをエクスポートすることも可能です。

RBD I/O 2.0

I/Oノードは、シミュレーション結果やフラクチャージオメトリのような中間データをキャッシュアウトするのに便利です。

さらに、ジオメトリ、コンストレイン、プロキシジオメトリを一度に1つのファイルに書き出すことも可能です。

RBD I/Oノードのアップデートにより、バージョン管理の改善、ファイルパスの名前とフォルダへの分離、Save to DiskまたはSave to Disk in Backgroundを押した際に、自動的にLoad from DiskオプションがONに切り替わるオプションがサポートされました。

また、ノードの4番目の入力(Simulation Points)にも改良が加えられています。

Strage Typeパラメータに、Simulation Pointの項目が追加されました。
以前のバージョンでは、ノードが同時に2つの異なるキャッシュを管理していたため、このオプションは分かりづらい可能性がありました。

内部的には、RBD I/Oノードは、Transform Piecesを別のノードとして処理を実行すること、つまり残りのジオメトリにポイントレベルのトランスフォームを適用していました。
その結果、ユーザー目線では高解像度ジオメトリを本当にキャッシュアウトしているのかどうか、判断が難しい場面がありました。
そのため、RBD I/Oでは、4番目の入力がシミュレーションポイント専用になりました。

新しいワークフローでは、Quick Setup ドロップダウンメニューを使用することができます。

1.  Cache High-Res Geometryは、上流に File CacheTime Shiftノードを追加します。このオプションは、最初のインプットから入力されたデータをもとに、時間依存のない高解像度ジオメトリとレストジオメトリをキャッシュアウトします。

2.  Transform High-Res Geometry は、時間依存するポイントおよび変換のため、下流にTransform Pieces ノードを追加します。

DOP I/O

DOP I/O は、DOP Import Field と下流に File Cache ノードを追加するラッパーです。

DOP Import Fieldは、DOPネットワークからプリセットを介してすべてのフィールドを取得し、直ちにディスクに保存します。

DOP Import 2.0

DOP Importは、DOPネットワークからデータを取り出すために使用されます。

新しい2.0バージョンでは、パラメータに変更はないものの、より高速で、より洗練されたUIを備えています。

新バージョンでは、群衆シミュレーションやプリミティブのパックなど、重いシーンでのパフォーマンスが向上しています。

最初の3つのパラメータで、DOP Networkと、ネットワークから引き出したいオブジェクトを選択できます。

旧バージョンでは、データごとに異なるImport Styleを使用していました。
DOP Import 2.0では、2つのスタイルだけが残されています。

1.  Fetch Geometry from DOP Network は、DOP ネットワークからすべてのジオメトリをインポートし、名前やパスなどのアトリビュートを追加します。

2.  Create Points to Represent Objectsは、DOPシミュレーションのすべてのオブジェクトを取り込み、変換を定義するポイントを生成します。利用可能な任意の属性とグループを転送することができます。

RBD I/O ノードと同様に、Quick Setups ドロップダウンメニューに 2 つのエントリーがあります。

1.  Transform High-Res Geometry は、下流の Transform Pieces ノードを追加し、変換ポイントを新しいノードの 2 番目の入力に配線します。

1番目の入力は、高解像度ジオメトリ自体(例えばRBD Material Fractureノードの接続など)に使用します。

2.  Cache Simulationは、シミュレーションをディスクに保存するために、下流のFile Cache ノードを追加します。

DOP Import Fields 2.0

このノードは基本的に、DOPネットワークから特定のデータ(pyroフィールドなど)をインポートしたい場合に便利なラッパーです。

Houdini 19.5 の変更は、パフォーマンスの改善に影響します。

RBD Material Fracture

このノードでは、パフォーマンスとメモリが改善されました。

従来の場合マテリアルタイプをWoodに設定した場合、フラクチャリングプロセスは非常に時間がかかり、メモリも多く消費されていました。

新しいパフォーマンスの改善により、処理がより高速化しました。

RBD Match Transforms

RBD Match Transformsの背後にある考え方は、1つの出力ストリームを取り、別のノードを通して編集/変換し、RBD Match Transformを通して他のストリームに結果をフィードバックすることです。

これらの個々に変換されたピースとそのコンストレインは、後で再び断片化されたオブジェクト全体の変換と一致することになります。

HDAの同期の遅延

この改善は 、 RBDに特化したものではありませんが、RBD Material Fractureのような重いノードには有用です。

ノードの内部に入る際に、遅延同期処理はRBD Material Fractureの内部のすべてのノードがインスタンス化されることを回避することができます。

HDAのロードとオープニングの時間が大幅に短縮されます。

UXの改善

RBD Constraints from Curvesまたは RBD Constraints from Linesによるコンストレインの作成がHUDをサポートするようになりました。

ノードのHUDは Shiftキー + F1キー で表示できます。

拘束されたピースの選択とハイライトも改善されました。

Shiftキー + LMBでピースがオレンジ色でハイライトされ、接続されたピースは濃いグレーで表示されます。

オブジェクト内部のピースを選択して接続したい場合は、カリングプレーンを使ってオクルージョンピースを仮想的に切り離すことができます。

1.  RBD Constraints from Curves|Lines|Rules ノードを追加し、Geometry Culling をオンにします。

2.  マウスをビューポートに移動し、5を押すと、カスタマイズ可能なバウンディングボックスが表示されます。ボックスの外はすべてカリングされます。




Resolution independent tets(メッシュ解像度に依存しない四面体解像度)

四面体は、メッシュ密度/ポリゴン数およびスケールの変更に依存しないようになりました。

例えば、オブジェクトをアップスケールした場合、同じ結果を得るためには、拘束条件や他のシミュレーションパラメータを調整する必要があります。

解像度に依存しない四面体では、スケールを変更しても、シミュレーションを再調整することなく、ほぼ同じ結果を得ることができます。
※詳しくは、Vellum Constraints SOP を参照してください。

シェイプマッチ

備考:シェイプマッチシミュレーションには、NVIDIA Ampere(またはそれ以降)カード用の最新ドライバが必要です。

古いチップセットアーキテクチャはサポートされていません。問題が発生した場合は、Houdiniのメインメニューに移動します。

Edit ▸ Preferences ▸ Miscellaneous を開き、OpenCL Device を CPU に設定します。
その後、Houdiniを再起動し、変更を適用します。

シェイプマッチングを使うと、剛体のようなオブジェクトをVellum内で直接すばやくシミュレートすることができます。

シェイプマッチングは、VellumのGrainに基づいており、球体パッキング法を用いて入力オブジェクトを異なる大きさの球体で満たし、その体積を近似的に求めます。
衝突検出は、球体から計算されるため、非常に高速です。

Vellum Configure Grainノードで、“Create Points from Volume “をオンにします。
Methodパラメータに、新しいSphere Packingの項目があります。
関連するパラメータを使用して、パッキングを調整し、オブジェクトを球体で満たします。特に異なるサイズの球体を使用する場合、質量を変更すると誤った結果になる可能性があります。

1.  異なるサイズの球体を得るには、Max Radius Scaleを定義します。

2.  より良いパッキングを行うには、“Overlapping” と “Max Spheres “をオンにします。

3.  Max Spheres を通して球の数を決定することができ、例えば高速なプレビューを行うことができます。

4. Define Piecesをオンにします。

5. Transfer Piece Attributeをオンにします。

Vellum Constraintsは、Constraint TypeドロップダウンにShape Matchのエントリーを提供します。

このモードは、すでに、Houdini 19.0で導入されており、今回のアップデートで剛体シミュレーションの駆動に使用することができるようになりました。
シミュレーションを動作させるために、以下のパラメータを変更します。

1. Group TypeをPointsに設定します。

2. Define PiecesをFrom Attributeに変更します。

3. Piece Attribにpieceと入力します。これで、球体間のコンストレインを確認できます。

Vellum Solverの下流には、Vellum Transform Piecesノードが必要です。

このノードは、パックされた球体のトランスフォームを元のオブジェクトに転送します。

ノードの1番目と2番目の入力は、それぞれソルバーの1番目と2番目の出力に接続します。3番目の入力はベースオブジェクトの出力に接続します。

Vellum I/O 2.0

Vellum I/O 2.0ノードは、UI構造、パラメータ、および全体的な機能の面で、pyro、FLIP fluid、およびRBD I/O ノードと同様です。

Static Topology

Vellum Constraints SOPに新しいStatic Topologyパラメータが追加され、スタティックとしてコンストレインプリミティブを出力し、シミュレーション中にスライドしたり、破壊、削除、溶解しないようにします。

この仕様により、Vellum Solverがコンストレインの色付けを再度行う必要がある場合に、これらのコンストレインをスキップすることができます。

このオプションは、筋肉や組織のシミュレーションのように、多数の密なスタティックコンストレインのような高解像度の四面体などコンストレインで接続されている場合、もしくは高価な再カラーリングを必要とする場合に最も有効です。
Static Topologyオプションは、Attributesサブペインにあります。

Vellum Attach Constraints SOP

新しいVellum Attach Constraintsノードでは、Vellumの既存のジオメトリへのアタッチおよびステッチコンストレインの編集や新規作成を行うことができます。

クロスメッシュ上のポイントに対して、アタッチまたはステッチしたいターゲットメッシュ上のポイントやサーフェス位置の間に、インタラクティブに接続線を引くことができます。ワークフローは、RBD Constraints from Linesノードに似ています。




UI / UX

TOPネットワークノードのグローバルアトリビュートが、Node info に表示されるようになりました。

グローバルアトリビュートのString型はピンク、int型は緑、float型はオレンジなど、他のノードのNpde infoと同様のカラースキームが適用されます。

すべてのTOPノードのNode Infoに、指定したノードの生成時間、クック時間、ワークアイテムごとの平均クック時間が表示されるようになりました。

すべてのProcessor TOPノードのNode Infoに、ジョブスクリプトのコマンドライン情報および対応サービスが表示されるようになりました。

ノードを右クリックし「 Delete This Node’s Output Files from Disk 」を選択することで、任意のTOPノードに対してディスクから削除する出力ファイルを選択することができるようになりました。

Bundle List pane > Filter から、PDGノードタイプ( Schedulers、Processors、Partitionersなど)ごとにバンドルノードをフィルタリングできるようになりました。

PDGパスマップにカスタムゾーンを追加し、どのスケジューラがマッピングを作成したかを確認できるようになりました。

TOPネットワーク

すべてのコンテキストでTOP Networkノードに新しくDefault Item Labelパラメータが追加されました。

Use Default Labelを持つTOPネットワーク内のすべてのタスクのデフォルトのワークアイテムラベルを指定することができるようになりました。

HOUDINI_DELAYSYNC_HDA環境変数が新しく追加されました。

アセットがクックされるまで、アセットコンテンツの遅延同期を可能にします。
これは、すべてのネットワークタイプ(TOPを含む)で利用でき、ロード/初期化時間を短縮したい場合に便利です。

TOP Network SOPノードに新しくSave Graph Attributes to.hipパラメータが追加されました。

TOPグラフに保存されているグローバルアトリビュートをその.hipファイルに保存することができます。これにより、次に.hipファイルを開いたときに、すべてのグローバルアトリビュートとその設定がグラフ上で利用可能なままになります。

TOP Geometry SOP ノードに新しく Group Work Items UsingPiece Attribute Name パラメータが追加されました。

SOPノードの出力によってどのようにグループ化されるかを制御することができます。
例えば、Point Groups、Primitive Groups、Point Attribute、Primitive Attributeなどのアトリビュートを使用してグループ化したり、出力を全くグループ化しないこともできるようになりました。

PDG Services

新しく Service TOP ノードが追加されました。

PDGサービスを直接PDGグラフに設定し、管理することができます。
Service Create TOP ノード
Service Start TOPノード
Service Stop TOP ノード
Service Delete TOPノード
Service Reset TOPノード

PDG Services ウィンドウに、新しくPython Script Service タイプが追加されました。

PDGサービスの設定は、登録中または登録後にいつでも行えるようになりました。

ただし、サービスの実行中には行うことができません。

同じタイプのPDGサービス(複数のHDAプロセッサーサービスのようなもの)を複数登録し、それぞれに異なる名前を付けることができるようになりました。

USD

USD Import TOPノードに新しく Import Attributes と Import Relationships のパラメータが追加されました。

ターゲット LOP ノードや .usd ファイルから、Import AttributesImport Relationships を制御することができます。

USD Import TOPノードに新しく Attribute Names とRelationship Namesパラメータが追加されました。

インポートしたアトリビュート名リレーションシップ名のリストをワークアイテムアトリビュートに書き込むことができます。

USD Import TOPノードに新しく Namespace Cutoff Indexパラメータが追加されました。

ワークアイテムアトリビュートに変換するとき、USDアトリビュートからトークンをトリミングすることができます。

USD Render TOPノードに新しく Output File Tag パラメータが追加されました。
生成されたすべての出力に任意のファイルタグを適用できます。

Attributes

グローバルアトリビュートが新しくなり、TOPグラフ(/topnet)内のすべてのノードからアトリビュートにアクセスできるようになりました。
シーン内の @attribute または PDG Python API を使用して、グローバルアトリビュートにアクセスすることができます。(詳細については、Global vs. work item attributesを参照してください。)


・ グローバルアトリビュートを作成するには、Attribute Create TOPノードの Scope > Graph (Bound) or Graph (Global)パラメーターのオプションまたは Python Script TOPノードか Python Processor TOP ノードのどちらかを使用します。

・ グローバルアトリビュートを削除するには、Attribute Delete TOP ノードの新しいAttribute Scope > Graph パラメータオプションまたは Python Script TOPノードと Python Processor TOP ノードのどちらか一方を使用します。

新しく Attribute Promote TOPノードが追加されました。

出力ファイル、ワークアイテムの固有フィールド、アトリビュートの間で変換を行うことができるようになりました。
このノードを使用して、ワークアイテムアトリビュートからグローバルグラフアトリビュートを設定したり、グローバルグラフアトリビュートからワークアイテムアトリビュートを設定したりすることができます。

新しく Attribute Reduce TOPノードが追加されました。

ワークアイテムごとの配列のアトリビュートを削減することができます。

Processors

ワークアイテムをスケジュールするすべての Processor ノードに、新しくSchedule When パラメータが追加されました。

このパラメータは、指定されたワークアイテムをスケジュールするかどうかを指定したり、指定されたワークアイテムのスケジュールを条件付きでオン/オフするために式を使用したりすることができます。

coock type パラメータが以下のノードで利用できるようになりました。
Processor のワークアイテムをインプロセスでクックするか、アウトオブプロセスでクックするかを選択することできます。

  FFMPEG Encode Video TOP ノード
  FFMPEG Extract Images TOPノード
   ImageMagick TOPノード
  HDA Processor TOP ノード
  USD Render TOP ノード
  File Copy TOPノード
  File Decompress TOP ノード
  File Compress TOPノード
  ROP Fetch TOPノード
  ROP Geometry TOPノード
  ROP FBX Output TOPノード
  ROP Mantra TOP ノード
  ROP Karma TOPノード
  ROP USD TOPノード
  ROP Alembic TOP ノード
  ROP Composite TOPノード

以下のノードに、新しくService cook typeパラメータとService Nameパラメータが追加されました。

  Python Script TOPノード
  FFmpeg Extract Images TOPノード
  FFmpeg Encode Video TOPノード
  ImageMagick TOP ノード
  Perforce TOPノード
  Render IFD TOPノード
  USD Render TOPノード




プラットフォーム

HQueueのサーバとクライアントがPython 3で実行されるようになりました。

既存のHQueue Python 2ファームをPython 3にアップグレードすることができます。詳しくは、HQueueのアップグレードを参照してください。

HQueueサーバーは、PythonDjango3.1.5で実行されるようになりました。

Webインターフェースは、jQuery3.6.0を使用するようになりました。

WindowsのHQueueクライアントサービスは、マシンの再起動後のクライアントの起動を管理するためのスタートアップショートカットに置き換えられました。

このサービスを廃止したことで、HQueueクライアントがマップされたドライブレターを認識せず、UNCパス経由でしかネットワークファイルにアクセスできない問題が修正されました。

インストール

macOSのHoudiniインストーラに、新しいHQueue Clientオプションが追加されました。

macOS上のHQueueサーバとクライアントのインストール場所は、それぞれ/Library/HQueueServerと/Library/HQueueClientに移動しています。

同様に、サーバーとクライアントのログは、それぞれ /Library/Logs/HQueueServer と /Library/Logs/HQueueClient へ移動しました。

コンフィグレーション

HQueueサーバーの構成が容易になりました。詳しくはサーバー構成オプションを参照してください。

ネットワークフォルダの構成が簡単になりました。

サーバー側の構成がファイルに保存されるnetwork_folders.iniようになり、自動化によってアクセスしやすくなり、管理が容易になりました。

API

新しく getNetworkFolders() 関数が追加されました。

この関数は、HQueueに登録されているネットワークフォルダの一覧を返します。




Unreal plug-in

Unreal Engine 5.0に対応しました。

Geometry/World input を使用して、 Meshes/Skeletal Meshコンポーネントをインポートできるようになりました。

(Beta) 新しい参照カウント入力システムにより、コンテンツ ブラウザとアセットおよびアクターのワールド/レベルに、Unreal Engine の階層を正確に再現することが可能になりました。

(Beta)セッションシンク使用時にHoudiniとUnreal Engine間のデータ交換をHDAを使用せずに簡素化するノードシンク機能が追加されました。

UE5 固有のジオメトリ コレクション アトリビュートへのサポートが追加されました。

カーブ1.0ノードに依存する古いHDAのための互換性オプションが追加されました。

メッシュを作成するときに、アトリビュートを介してNanite setting を制御することができます。

macOS 上の Unreal Engine 4.26、4.27、5.0 に対するサポートが追加されました。

Unity plug-in

Instantiate HDA, Modify HDAの基本的なビジュアルスクリプトノード で、Unity Visua lScripting から HDA をインスタンス化および変更できるようになりました。

Unity インスタンスに Unity Material アトリビュートを追加しました。

アトリビュートの値を使って、インスタンスを分割できるようになりました。

ボックス、スフィア、カプセル、メッシュのコライダー入力を使用できるようになりました。

HAPI

HAPI PDG APIが改善されました。

HAPIがデフォルトで表示ノードと出力ノードのどちらをクックするかを制御するクロックオプションが追加されました。

ログをファイルに出力するオプションなど、HAPIログを構成するための新しいオプションが追加されました。

Maya plug-in

Maya 2023に対応しました。

プラグイン起動時の 初期化メソッドを改善し、エラーを低減しました。

3ds Max plug-in

新しいpublic compilation instructionsとCMakeファイルに対応しました。

Houdiniインストールを見つけやすく改善しました。




Python

メインのHoudiniビルドは、Python3.9を使用しています。

Python 3.7 Houdiniビルドは個別にダウンロード可能です。

Python2のサポートは、終了しました。

macOS

macOSのビルドは、Apple clang12、macOS 11 SDKでビルドされています。

VFX Reference Platform

Houdini 19.5 は、CY2022 specification in the VFX Reference Platform の仕様に準拠しています。
・ 追加 : Imath 3.1.5.
・ 追加 : support for Python 3.9.10.
・ 更新 :  Alembic  1.8.3.
・ 更新 :  Intel MKL  2020.4.
・ 更新 :  NumPy  1.20.3.
・ 更新 :  OpenColorIO  2.1.1.
・ 更新 :  OpenEXR  3.1.5.
・ 更新 :  OpenVDB  9.0.0.
・ 更新 :  Ptex  2.4.1.

3rd-party Tools と Libraries

・ 追加: LASzip 3.5.0.
・ 更新 :  Mako  1.2.0.
・ 更新 :  OSL  1.11.17.0.
・ 更新 :  OpenImageIO  2.3.14.0.
・ 更新 :  Optix  7.4.0.
・ 更新 :  Pillow  9.0.1.
・ 更新 :  Swig  4.0.2.
・ 更新 :  USD  21.11.
・ 更新 :  setupols  60.8.2.
・ 更新 :  werkzeug  2.0.3.
・ Houdiniパッケージから削除 : Field3D
・ Houdiniパッケージから削除 : clFFT
・ Houdiniパッケージから削除 : liblas




ピーク使用量情報を自動的にSideFXに送信する機能を追加しました。

hkeyから直接ローカルのsesinetdsとhserversを起動/停止できるようになりました。

hkey/sesictrlからオフラインでライセンスをインストール/無効化するための新しいファイル形式を導入しました。

このファイルフォーマットは、手動インストール機能を置き換えるものです。

hkeyに稼働中のhserverの情報を表示するパネルを追加しました。

その他、ユーザーエクスペリエンスやパフォーマンスを向上させ将来的な機能の基礎を築くための数多くの内部変更を行いました。

対応バージョン

次の表では、どのクライアントバージョンがどのサーバーバージョンと共用できるかを示しています。

HTTPは、Houdini 18.0で導入されたプロトコルで、Houdini 19.0のデフォルトプロトコルです。HTTPでないプロトコルは従来使用されていたプロトコルですが、 Houdini 18.5 からは非推奨になっています。

Program最小バージョン(HTTP)最小バージョン(HTTPを除く)
hserver (client)sesinetd 18.5sesinetd 18.0.287
Houdinihserver (server) 18.5hserver (server) 18.0.287
Houdini License Administrator (hkey)hserver/sesinetd 18.5hserver/sesinetd 18.0.287
sesictrlhserver/sesinetd 18.0.287 (18.5 recommended)hserver/sesinetd 18.0.287




Houdini19.5で新しく追加された機能や改良された機能の紹介は、以上です。

Houdini19.5のドキュメントは、以下のリンクをご参照ください。

▼SideFX社ホームページ:Houdini19.5 ドキュメント(英語)
https://www.sidefx.com/docs/houdini/