Houdini20は、2023年11月9日(木)にSideFX社よりリリースされました。
YouTube 一般公開:Houdini20 紹介動画!
▼Modeling and Geometry | ▼Rigid Body Dynamics / Vellum |
▼KineFX / Muscles / Feathers / Crowds | ▼Solaris / Karma / Pyro / Clouds / Flip / Oceans |
IndyZoneチャンネルでは、Houdini20の新機能をピックアップして、実際にHoudiniを触りながら新機能や改良された機能などをご紹介しています。
▼目次
1. KineFX and Animation
1.1 アニメーション
1.2 プロシージャルリギング
1.3 Procedural motion & Physics
1.4 Input/Output
1.5 サンプルファイル
2. Muscles and Tissue
3. Feathers
3.1 概要
3.2 ノード一覧
3.3 サンプルファイル
4. Crowds
5. Solaris
5.1 Interface
5.2 Render Statistics
5.3 新機能/新ノード
6. Karma
6.1 Karma CPU
6.2 Karma XPU
6.3 新機能/新ノード
7. Modeling and Geometry
8. Clouds
8.1 モデリング
8.2 シェーダー
8.3 ノイズタイプ
8.4 サンプルファイル
9. Pyro
10. FLIP fluids
11. Oceans
12. Rigid body dynamics
13. Vellum
14. PDG
14.1 UI/UX
14.2 TOP networks
14.3 Services
14.4 USD
14.5 Schedulers
14.6 Processors
14.7 Partitioners
15. Machine Learning
16. Viewport, User Interface, and Scripting
17. VEX and OpenCL
17.1 VEX
17.2 OpenCL
18. HQueue
18.1 KarmaとUSD統合の改善
18.2 ROPとTOPノード
19. Licensing
19.1 改善点について
19.2 管理ツール/対応バージョン
20. Houdini Engine, APIs, and Plug-ins
20.1 Unreal plug-in
20.2 Unity plug-in
20.3 HAPI
20.4 Maya plug-in
20.5 3Ds Max plug-in
20.6 glTF
21. Platforms
21.1 Python
21.2 macOS
21.3 VFX Reference Platform
21.4 MPlay
21.5 3rd-party Tools and Libraries
1. KineFX and Animation
1.1 アニメーション
Animation Stateについて:
アニメート・ステートは、アニメーション・シーンに複数のキャラクタを表示できる新しいビューア・ステートで、ユーザはキャラクタに対してFKやIKなどのポージングの設定、キャラクタのコントロール、キャラクタ間のコンストレイントを作成することができます。また、物理ベースのモーションやラグドールなどの機能をアニメーションに適用することもできます。
- Selection sets は新しいアニメート・ステートで、キャラクタコントロールをグループ(セット)に編成するために使用されます。これらのセットを使用して、コントロールのグループを選択、非表示、固定、分離することができます。
- Animation Toolbarは、カスタマイズ可能なツールバーで、シンプルなスライダーツールで構成されています。ブレイクダウンポーズをすばやく作成したり、キーのリサンプリングやイージーカーブへのキーのブレンドなど、アニメーションコントロールやカーブへの変更を簡単に適用することで、アニメーションワークフローの改善に役立ちます。
- Animation bookmarksは、プレイバーやアニメーションエディタのタイムライン上の1つのフレームまたはフレームの範囲にあるマーカーで、アニメーションのさまざまな部分を一目で整理し、識別するのに役立ちます。
- アニメーションエディタのグラフビューで、カーソルをキーフレーム上に直接置かずに、MMBを使ってキーフレームを移動できるようになりました(キーフレームを移動するさまざまな方法については、グラフビューを参照してください)。MMBがグラフと相互作用する方法は、新しいMiddle Mouse Interactionオプションで設定できます。
- グラフビューでカーブを引くと、ベジェセグメントやキュービックセグメントをドラッグして、その形状を直感的に操作することができます。
1.2 プロシージャルリギング
APEX (All-Purpose EXecution) について:
APEX(All-Purpose EXecution)は、Houdiniの新しいグラフ評価フレームワークで、グラフ構造を構築して実行し、その結果を取得することができます。KineFXリギングフレームワークでは、リグの動作であるリグロジックを表現するためにグラフが使用されます。APEXでは、リグロジックをプロシージャルに構築し、ネットワークの後の時点でグラフを評価(実行)することができます。この遅延評価の考え方により、リグロジックとリグ評価を切り離すことができ、パフォーマンスが大幅に向上します。
- 新しいAPEX Autorig Component SOPにより、ユーザーはFK階層、IKジョイント、ボーン変形などの機能を追加したビルド済みのリグコンポーネントを使用して、キャラクタ全体のリグをビルドすることができます。
1.3 Procedural motion & Physics
- 物理ベースモーションを使用することで、新しいProjectile Motion SOPとPendulum Motion SOPを使用したリアルな軌跡の作成がより簡単になります。
- Ragdoll Solver 2.0 SOPは、剛性やモーターなどのジョイント・プロパティをよりシンプルかつ柔軟に設定でき、入力アニメーションのローカルまたはワールド・トランスフォームとのマッチングをサポートします。
- Ragdoll Collision Shapes 2.0 SOPは、ラグドールRBDシミュレーションで使用するKineFXスケルトンのコリジョン形状を作成します。
- 新しいConfigure Joint Limits SOPは、ラグドールRBDシミュレーション、フルボディインバースキネマティクス、ポージングなど、さまざまな目的でジョイントリミットを設定するために使用できます。
1.4 Input/Output
- リギング用の新しいDem Bones Skinning Converter SOPは、Smooth Skinning DecompositionアルゴリズムをKineFXツールセットに統合します。このノードを使用すると、一連のポーズからスキニングのウェイトを生成し、ジョイントデフォームSOPで使用するときにジオメトリが変形できるようになります。
- ROP FBX Animation OutputとROP FBX Character Output SOPにExport Presetドロップダウンメニューが追加され、Compatibilityタブのパラメータを特定のDCCへのエクスポートに理想的な値に設定できるようになりました。
- FBX Skin Import SOP で、新しい[Compute MikkT Tangents]パラメータがタンジェントアトリビュートを事前生成し、タンジェント情報を持たないアニメーション FBX キャラクタをインポートする際のビューポート再生パフォーマンスが向上しました。
1.5 サンプルファイル
Luchador & Chicken:
Od StudiosがSideFXと協力して作成しました。これらのファイルは、新しいAPEXシステムを使用したキャラクターリギングのプロセスを実演するためにデザインされています。土台のセットアップから、オートリグコンポーネントでの作業、プロシージャルスキニングの習得まで学ぶことができます。
Electra Rig:
APEX リギング ツールを使用して、Electra キャラクタがどのようにセットアップされたかを学びましょう。このシーン ファイルでは、キャラクタ エレメントを整理し、再利用可能なリグ コンポーネントを使用して作成し、アニメーター フレンドリーなシーンを組み立てる基本を紹介します。
KineFX/APEX Workflow:
ビデオで実演されたKineFX/APEXワークフローを示しています。このセットアップは、モーションキャプチャーをElectraにリターゲットし、モーションパス上にチキンを追加します。これは、KineFXリターゲットワークフローとAPEXを使用したキーフレームアニメーションを組み合わせる方法を示しています。
2. Muscles and Tissue
- Franken Muscle SOP は、1 つの筋肉ジオメトリ内に複数の [muscle_id ]アトリビュートを割り当てます。これにより、複数の筋肉ジオメトリから構成される解剖モデルを扱う場合と同等の結果を得られます。
- Franken Muscle Paint SOPでは、[muscle_id ]アトリビュートの作成用のマスクをインタラクティブにペイントすることができます。
- Muscle Merge SOPは、入力から筋肉ジオメトリをマージします。
- Muscle Paint SOPに、Muscle-to-Muscle Slide Rate制約制御用の新しいペイント可能なアトリビュートオプションが追加されました。
機能改善について:
Vellum Solverは、Tetrahedral Stretch制約をVolume Preservationを有効にして連成解を行うようになり、以前のバージョンのように両方の制約を順次解くのではなく、同時に解くようになりました。その結果、解法が高速化され、体積がより正確に保存され、極端な変形を行った場合に発生するアーチファクトが軽減されました。これに伴い、ほとんどの筋肉シミュレーションの見た目が改善されました。
3. Feathers
3.1 概要
Featherシステムについて:
Houdiniの全く新しい羽毛システムは、GPUを搭載したツールの完全なセットで、非常にリアルな羽毛を効率的に作成することができます。フリーハンドでカーブを描くだけでなく、リファレンスイメージを使用して、翼の羽、装飾的な羽、ダウン、カバーなど、さまざまなタイプの羽毛のフルセットを作成することもできます。
羽毛の構成パーツと概念について:
下の図は、羽毛のさまざまなパーツを示しています。現実の羽毛の構造やパーツの名称は、HoudiniのFeatherシステムの解説でも登場することがあります。
Calamus:
Shaftの空洞部分によって鳥の皮膚や骨に羽毛が取り付けられています。
Shaft:
羽根を支える中央の長い軸です。
Vane:
Shaftから伸びる細かな毛の部分です。両サイドのVaneの長さはほぼ同じです。
Barb:
Shaftから伸びる一本一本の繊維のことです。それぞれのBarbには小さなShaftと小さなBarb(Barble)があります。
Barbule:
それぞれのBarbの中心軸から伸びる小さなBarbです。
Barbicel:
BarbuleにはBarbicelと呼ばれる小さな鉤(カギ)があります。
Afterfeather:
綿毛のような下部のとげの部分です。カールしているように見えます。
羽毛によっては、切り込みや膨らみといった構造も見受けられます。
ただし、BarbicelとBarbuleは、現状のFeatherシステムで生成可能な羽毛の形状には含まれていないことにご注意ください。
3.2 ノード一覧
Feathreノード | 機能/役割 |
Feather Barb Tangents SOP | Barbによって分割されたサーフェスのタンジェント空間情報を計算します。 |
Feather Barb Transform SOP | Barbベクトルをフェザー空間とオブジェクト空間の間で変換します。 |
Feather Clump SOP | Barbの塊部分を分割します。 |
Feather Deform SOP | 他の羽毛やポリゴン・サーフェスを使用して羽毛を変形させます。 |
Feather Deintersect SOP | 交差している羽毛を分離します。 |
Feather Instance Pool SOP | 入力曲線とそのテンプレート・ウェイトに基づいてフェザー・プリミティブを生成します。 |
Feather Match Uncondensed SOP | 凝縮されていない羽根から単一カーブの羽根にアトリビュートを転送するために使用されます。 |
Feather Minimum Distance SOP | 他のジオメトリ上の各Barbポイントに最も近い点を見つけます。 |
Feather Noise SOP | 凝縮されたフェザーのBarbノイズを加えます。 |
Feather Normalize SOP | フェザーの長さを正規化し、まっすぐにします。 |
Feather Primitive SOP | フェザープリミティブ(GPUスキニング付きエージェントプリミティブ)を生成します。 |
Feather Ray SOP | フェザー上の各ポイントについて、他のジオメトリ上の最も近いポイントを見つけます。 |
Feather Resample SOP | 後処理としてShaftとその付属Barbのポイント数を制御する。 |
Feather Shape Organize SOP | 緩く描かれたカーブを名前別に整理し、Shape オペレータから Feather Template オペレータへの入力に適した状態にするために使用します。 |
Feather Surface SOP | フェザープリミティブをポリゴンサーフェスに変換します。 |
Feather Surface Blend SOP | 羽をポリゴンメッシュの曲率に沿わせるために使用します。サーフェスジオメトリに基づいて羽のジオメトリを変形し、より自然でリアルな外観を実現します。 |
Feather Template Interpolate SOP | 異なる形状のフェザー間のSOPブレンドを補間します。ベースの羽毛の種類が非常に少ない場合に便利です。 |
Feather Template from Shape SOP | カーブからフェザーオブジェクトを作成し、BarbやShaftの基本的な調整を行うことができます。 |
Feather Uncondense SOP | フェザーカーブを入力とし、個々のBarbに対して個別のカーブプリミティブを生成します。 |
Feather Utility SOP | フェザーカーブの操作に役立つ関数を集めたものです。 |
Feather Visualize SOP | ビューポート内の羽毛の視覚化を変更できます。 |
Feather Width SOP | ShaftとBarbのカーブ幅を設定します。 |
関連ノード | 機能/役割 |
Guide Groom SOP | 羽毛を描いたり配置するためのノードです。 |
Guide Process SOP | ガイドまたは毛を修正します。 |
3.3 サンプルファイル
Eagle Feathers:
Houdini 20 eagleのシグネチャです。このサンプルは2つのファイルがあります。1つ目は、ベースとなる羽の作成と配置です。これはeagle_feathercreation.hipにあり、次にeagle_render.hipは、羽のパッチの様々なキャッシュが組み立てられ、Karma XPUまたはCPUでレンダリングするためのLOPに取り込まれます。カメラとライトも含まれており、これらはHoudini 20リリースのマーケティング資料用のレンダリング作成に使用されました。
Splashscreen Feathers:
Houdini20の起動ウィンドウイメージのシーンファイルです。
4. Crowds
- SOP Crowds:
新しいSOP Crowds MotionPathツールセットでは、群衆全体を再シミュレーションすることなく、少数のエージェントのモーションパスやアニメーションを素早く変更することができます。
- Sticky Collisions:
Crowd State と Crowd Trigger DOPの新しいSticky Collisionsの設定で、特定のエージェントを “Sticky “に設定します。Sticky Collisionsを使うと、エージェントに衝突したオブジェクトは、衝撃の強さとエージェントにすでにくっついているオブジェクトの数に応じて、エージェントにくっつくことができます。Sticky Collisionsは、Bullet Solverの機能でもあります。
- Agent Layer SOPは、新しい[Set Collision Layers]パラメータで、エージェントの衝突レイヤーのリストに新しいレイヤーを割り当てることができるようになりました。
- Agent SOPとSOP Import LOPに、群衆エージェントのUsdSkel Dual Quaternionスキニングのサポートを追加しました。USD23.02でUsdSkel Dual Quaternionスキニングが追加されました。線形とデュアルクォータニオンをブレンドしたスキニング方法(デュアルクォータニオンと線形をブレンドしたJoint Deform SOPスキニング方法)は、現在USDではサポートされていないことに注意してください。
- Crowd State DOPの新しい[Enable Looping]パラメーターは、このステートで再生されているクリップをループさせるかどうかをコントロールします。
Zombie Crowds:
このプロジェクトでは、ゾンビ群衆シミュレーション全体のセットアップ方法を示します。スケルトンをセットアップし、利用可能なモーションキャプチャでリターゲットする方法、エージェントのシミュレーションをセットアップする方法、布と髪のレイヤーを追加する方法、そして最後に群衆のポストシミュレーションのための布と髪のシミュレーションをセットアップする方法を含みます。ここで使用される新しいツールはスティッキーコリジョンです。
5. Solaris
5.1 Interface
- ビューポートの右側にあるライティングボタン/アイコンは、シーンの特定の技術的側面を検査するためなど、より多くの機能を備えています。これにより、ライティングアーティストは、どの位置から光が来るのか、またはAOVに光が表示されない原因を確認できるようになりました。
- Disable Materialsが改善されました。オンにすると、マテリアルがビューポートレンダーに表示されなくなります。
- Geometry Spreadsheetがより柔軟になりました。SOP Modify LOPなど、LOPとSOPのどちらで作業しているかに応じて、UIがScene Graph TreeとGeometry Spreadsheetの間で切り替わるようになりました。SOP Modify LOPの内部で、Hide Other Objectsをオンにすると、USDシーンのSOPバージョンで再クックせずに作業できるようになります。
- LOP Lights & CamerasシェルフにKarma Physical Skyが追加されました。
- Scene Graph Treeの改善:
・フィルター入力フィールドが常にペインの下部に表示されるようになりました。
・フィルタ適用時に、異なる見出しが表示されるようになりました。
・Scene Graph Layers は、AttribSpecs と同様に、各 SdfLayer のScene Graph PrimSpecs と VariantSpecs を表示できるようになりました。
- Render Gallery:
・各ギャラリーがネットワークに関連づけられるようになりました。スナップショットを右クリックすると、メニューが表示されます。メニューから[Revert Network to Snapshot]を選択すると、スナップショットの撮影に使用したネットワークに戻ります。ライトやマテリアルの微調整に便利です。
・スナップショットの名前を変更できるようになりました。
・スナップショットを取得すると、レンダーギャラリーは、ビューポートに現在表示されているAOVだけでなく、すべてのAOVをキャプチャするようになりました。
・レンダーギャラリーがスナップショットを適切にキャプチャし、非スクエアピクセルのアスペクト比を持つビューポートイメージからサムネイルを生成するようになりました。
- 新しいShow/Hide snapshot stripアイコンは、ギャラリーストリップとビューポートでレンダーギャラリーの制限されたバージョンを開きます。このボタンはビューポートの左下にあります。フル機能のレンダーギャラリーは、New Pane Tab Type ▸ Solaris ▸ Render Galleryからペインとして利用できます。
- Deasktopメニューから新しい [SolarisLookDev]デスクトップを使用できます。
- Scene Graphのメニューが再編成され、より使いやすくなりました。このメニューを開くには、Scene Graph ツリーの任意のエントリを右クリックします。
- Edit Primitive with New Nodeは、選択されたノードに新しい編集ノードを自動的に追加し、接続します。
- Jump to existing editsは、メニューから編集したノードのリストが表示されます。項目をクリックすると、該当するノードに直接ジャンプできます。
- Geometry Spreadsheetペインの新しい Editor Nodesタブには、現在のセッションで編集されたすべてのノードが表示されます。エントリを右クリックし、Jump to Nodeを選択すると、ネットワーク全体を検索することなく、直接そのノードに移動してパラメータを確認できます。
- Show layer details as treeボタンが、Scene Graph Layersペインに配置されました。ボタンをクリックすると、USD シーンの細かいデバッグのために、レイヤーの仕様とすべての詳細を見ることができます。
5.2 Render statistics
Render Statistics(レンダリング統計情報):
Houdiniには、進行中および終了したレンダリングの統計情報を視覚化する方法が追加されました。詳しくはレンダリング統計情報をご覧ください。
- Render GalleryまたはMPlayのボタンをクリックすると、メモリ使用量、最初のピクセルまでの時間、シェーダー呼び出しなどの情報を含むレンダリング統計サイドバーが表示されます。
- [renderstatsreport]ユーティリティは、レンダリングされた EXR ファイルから抽出された統計情報を一覧表示する HTMLレンダー レポートを生成します。
- renderstatsoverlayユーティリティは、レンダリング統計を焼き込んだ(おそらくリサイズされた)JPGまたはPNGを生成します。
5.3 新機能/新ノード
- 新しいMerge Point Instancers LOPが追加されました。Point instancer primでは、ジオメトリの各ポイントは、ビューまたはレンダリング時に、インスタンサと「プロトタイプ」の関係を持つプリムのジオメトリのインスタンスで置き換えられます。LOP を使用すると、複数のポイントインスタンサを効率的にマージできます。
- RBD Destruction LOPを使用することで、レンダリング時にグラフを呼び出してピースをトランスフォームできます。このノードは基本的に、Transform Piecesのセットアップを行うレンダリングタイムのプロシージャルです。これにより、メッシュの残りの位置と、ピースのアニメート・トランスフォームを表すポイントを保存するだけで済みます。この結果、ディスク上のフットプリントが小さくなります。
- 新しいGeometry Clip Sequence LOPにより、value clipの保存作業が簡単かつ高速になりました。value clipを使用すると、大きなデータを複数のファイルに分割できます。value clipを使用する場合は、このノードを最初に選択する必要があります。
- USD Render ROP が、USDファイルだけでなく、レンダリング後の一時 USD ファイルと VDB ファイルの両方を削除するようになりました。
- Test Geometry: Shaderball LOP は、いくつかのマテリアル/テクスチャマップの修正とともに、新しい USDシェーダボールをデフォルトで使用するようになりました。レガシーシェーダーボールは現在も使用可能です。
- Karma AOV 2.0は、マテリアルからAOVを作成するための合理化されたワークフローを提供します。このワークフローでは、アクセサリノードが不要になり、Karma AOV VOPはMaterial_Outputs_and_AOVs Subnet Output VOPの入力に直接接続されます。
- デフォルトでは、Karma AOV は RenderVar を作成し、Scene Graph Treeの materials ブランチに追加されますが、Render Product ブランチにも参照されます。Karma Render Settings LOP が AOV や RenderVar を “see” した場合、自動的に追加されます。AOVは出力として追加されるので、Karma AOV LOPの入力を有効なノードに接続すれば、RenderVarsは更新されます。
6. Karma
6.1 Karma CPU
- インスタンス化可能なリファレンスに対してライトリンクのサポートを追加しました。
- Object Velocity Blur の代わりに、[Instance Velocity Blur]と[Instance Motion Samples]パラメータを使用して、インスタンスのモーション ブラーを制御できるようになりました。パラメータは、Render Geometry Settings LOPにあります。
- Karma CPU が、VEX シェーダーを実行する際の gatherステートメントで samplesキーワードをサポートするようになりました。
- Karma CPU のIndirect Guidingを改善しました。以前のバージョンは、True Caustics、Dispersion、Occluded Objectsのあるシーンで大きなノイズを発生させるIndirect Guidingを使用していました。新しいバージョンは、例えば、True Causticsを持つ窓や水面を通るパスを見つけることができます。新しいIndirect Guidingを使用するには、Karma Render Settings LOPに移動し、Advanced ▸ Samplingタブを開きます。Secondary Samplesセクションを展開し、Enable Indirect Guidingをオンにします。
6.2 Karma XPU
- Karma XPUがベータ版からゴールド版に移行しました。このマイルストーンを記念して、Karmaのロゴ変更されました。
- Karma XPUでCryptomatteが利用可能になりました。
- Karma XPUでDeepイメージが利用可能になりました。
- Karma XPUで、PrimVarsを使用して、インスタンスごとにシェーダープロパティを変化させることができるようになりました。
- より高速な評価のために、MtlX If Equal VOP、MtlX If Greater VOP、MtlX If Greater or Equal VOPノードを最適化しました。
- Light Path Expressions(LPE)を、シャドウマット、アルファチャンネル、 ホールドアウトなど、Karma CPUとよりマッチするように再構築 しました。
- 合成された Vector VDB フィールドを、手動でVectorフィールドに変換することなくレンダリングできるようになりました(例えば、 VDB Vector from Scalar SOPを介すことができます)。合成Vector VDBフィールドは、接尾辞「_x、_y、_z」を含む名前を持ちます。
- MtlX Mix VOPノードを介して2つのMtlX Standard Surface VOPノードをブレンドできるようになりました。
- Karma Fog Box LOP をサポートしました。
- Karma XPU がライトフィルタシェーダグラフに対応しました。ライトフィルタを使用すると、ジオメトリにイメージを投影したり、GelやGoboを使用してクリエイティブなライティング効果を得ることができます。
- ポリゴンメッシュのバックフェイスカリングがKarma XPUで使用可能になりました。
- Karma XPUで、背景とホールドアウト用のBackground Plate LOPが使用可能になりました。
- Albedo AOVがサポートされました。
- AOVフィルターモード(min、max、accumulateなど)がサポートされました。
- utility values、pixel samples、heatmapなどの追加AOV出力が可能になりました。
- ロード中にテクスチャがタイル化されるようになりました。これにより、ロード時間が短縮され、メモリ消費量が少なくなり、テクスチャをキャッシュするためのディスク容量が少なくなりました。
- ボリュームフィールドがオンデマンドでロードされるようになり、メモリ使用量が削減されました。
XPU Bubble Wrap:
Content LibraryからXPU Bubble Wrapファイルをダウンロードして、Karma XPUによるThin-Walledジオメトリのレンダリング例をご覧ください。
6.3 新機能/新ノード
- 新しい Clone Control Panel は、マルチショット・マルチアセット管理システムへの第一歩です。クローンは、異なるHoudiniセッションを同期させる方法であり、HIPファイルが変更され、レンダリングが更新される。クローンプロセスは、完全な非グラフィカルHoudiniプロセスを使用してLOPネットワークをクックし、インタラクティブHoudiniセッションのビューポートでライブレンダリングのように画像をレンダリングします。その後、画像はインタラクティブHoudiniセッションに返送され、表示されます。
- Karma AOV VOP 2.0では、マテリアルからAOVを作成するワークフローが改善されました。新しい方法では、アクセサリノードが不要になり、RenderVarsが自動的に設定されます。
- Render Gallery の新しいRender Statisticsセクションには、メモリ情報、最初のピクセルまでの時間、シェーダー呼び出しなど、さまざまな情報が表示されます。
- ビューポートの設定とKarma Render Settings LOPの間にレンダーデリゲートの不一致がある場合、ビューポートの左上隅に警告が表示されます。これは、Karma CPUとKarma XPUは全く異なるレンダーエンジンであり、異なる結果を生成するという事実に注意を喚起するためのものです。
- 新しいHoudini Procedural: Ocean LOPを使用すると、プリシミュレートされたbgeo.scスペクトルファイルから、泡や気泡を含む高解像度の統計スペクトル波(PhilipsとTMA)を効率的にレンダリングできます。
- 新しい Houdini Procedural: Feather LOP は、レンダリング用の高解像度の羽毛を作成します。このノードはHoudiniの新しいFeather Systemの一部です。
- 新しいKarma Physical Sky LOPでは、太陽高度と方位角、または位置、日付、時刻から正確な空の色をシミュレートできます。
- Light LOPのポイントライトに新しいアクティブ半径パラメータが追加されました。この半径の外では、ライトの効果はありません。
- Karma CPUおよびXPU用の新しいKarma Room Map VOPは、視差マッピングを使用して、部屋の画像を平面に投影します。これにより、3次元のインテリアのような印象を与えます。例とセットアップを含む完全なワークフローガイドは、こちらをご参照ください。
- 新しいKarma Room Lense VOPは、Karma Room Map VOPで使用する3Dルームのスライスで十字型のインテリアマップをベイクすることができます。
- 新しいKarma Voronoi Noise 2D VOPとKarma Voronoi Noise 3D VOPノードが追加されました。結果はWorleyノイズに非常に似ていますが、播種用に追加のランダムな位置を定義できます。
- 新しいKarma Color Transform VOPノードで、色空間を変換できます。
- 新しいMtlX Circles2D VOPノードで、高度にカスタマイズ可能な円/リングパターンを作成できます。
- 新しいKarma Hex Tiling VOPは、単一のマップを使用して大面積のテクスチャを作成する際に、目に見える継ぎ目や繰り返しを回避します。
- 新しいMtlX PBR Texture Set VOPは、関連するすべてのPBRテクスチャを1つのノードで整理し、その出力をMtlX Standard Surface VOPの適切な入力に接続する便利な方法を提供します。
- 新しいKarma Fur VOPシェーダは、非常にリアルな結果をもたらすメデュラをサポートします。メデュラは毛の内側の核で、太い毛や毛皮の構造的な特徴です。メデュラのサポートにより、毛の光散乱と光減衰を正確にコントロールできます。
- Nested dielectricsはKarma XPU で動作するようになり、例えば、ボトル の中の水を物理的に正しくレンダリングできるようになりました。
- OCIO 2.0が実装されました。オープンソースのOCIOカラーマネジメントシステムが完全に実装され、HoudiniのKarmaにおけるリニアワークフローのACEScgもサポートされています。
7. Modeling and Geometry
- Measure Thickness SOPを使用することで、入力オブジェクトのポイント位置での厚さを測定できます。ポイントからの距離で推定するため隣接するポリゴンの角度が大きい時、厚さは不正確になります。
- Attribute Blur SOPに、Attribute Blur SOPに元の入力とブレンドするためのパラメータが追加されました。
- Flatten SOPを使用することで、3Dジオメトリ上の点を任意の2D平面に移動して平坦化できます。移動させるためにアトリビュートを使うことで、膨らませるような表現もできます。
- 新しい Linear Solver SOP は、 連立一次方程式を解きます 。行列とベクトルのアトリビュートを使用して、 線形システムの解、最小二乗解、行列分解などの一般的な数値線形代数演算をジオメトリアトリビュートとして出力します。
- ポイントクラウドを処理するためのノードがいくつか追加されました。これらは3Dスキャナなどから入力した面を持たない独立した大量の点群データからソリッドモデルを作成するのに役立ちます。
- Point Cloud Normal SOPを使用することで、ポイントクラウドの法線ベクトルを計算し、それらに一貫した方向を与えることができます。面を持たない独立した点群を元に法線を推測して計算します。
- Point Cloud Reduce SOPを使用することで、Polyreduce SOP のようにポイントクラウドの数を減らします。
- Point Cloud Surface SOP で、 ポイントクラウドから面を構築します 。ノーマルアトリビュートNが必要で、存在しないときはPoint Cloud Normal SOPでNを作っておく必要があります。面を持たない独立した点群から面を構築することができます。
- Quad Remesh SOP で、任意のメッシュを構造化された四角形メッシュに変換できます。これはまだβ版で開発途中のバージョンになり、将来的に機能が変更される可能性があります。
- 一つのCurve SOPの中でPolygon、Nurbs、Bezierの違う種類のカーブを混在させることができるようになりました。カーソル位置のカーブの種類を表示させることができます。 Lキーで表示/非表示を切り替えることができます 。 Editモード時に任意の距離に応じたソフトトランスフォームができるようになりました 。 HUDにポイントの座標が表示されてスライダーで移動することができます 。
- Draw Curve SOPのCache Strokesでカーブをメモリにキャッシュできるようになり多数のStrokeを扱うときのパフォーマンスが向上しました。Clear Stroke Memory で全てのキャッシュをクリアできますがカーブを個別に削除することはできません。SnapShotでキャッシュを外部ファイルに保存することができます。Clear Stroke Memory すると外部に保存した段階まで戻ります。
- Group Invert SOPは、 既存のグループに含まれないコンポーネントから新しいグループを作成します 。
- Poly Hinge SOP で、任意のエッジやピボットラインを中心に面を回転させて任意の分割数で押し出すことができます。
- Circle from Edges SOPで、Scaleで円のスケールを変えることができるようになりました。
- Texture Mask Paint SOP を使用してモデルにペイントすることで、UV上にマスクテクスチャをペイントすることができます。このマスクテクスチャは詳細なマスクを描画できるように、ポイントアトリビュートではなく2Dボリュームになっています。 2DボリュームはHeightField Outputノードを使用してテクスチャイメージ ファイルとして出力できます 。
- Scatter in Texture Mask SOP を使用して、 Textureマッピングの濃淡やTexture Maskを元にモデル上にポイントを散布できます。
- Attribute from Map SOPでSourceにFile以外に2Dボリュームを入力として使用するための新しいオプションが追加されました。
- Mask by Feature SOPに Pin Border Points オプションが追加されました 。
- Topo Transfer SOPは、オプティカルフローを使った新しいTopo Transferのワークフローのためのノードです。関連ノードがいくつかあります。
- Topo Flow SOPは Topo Transfer SOPのリトポロジーワークフローをサーフェスのサイズと形状だけでなく、 テクスチャー画像の違いを計算してサーフェスを変形させることができます。
- Texture Optical Flow SOPは連続する2枚の被写体の動きの違いを画像処理により追跡して、方向ベクトルを含む2次元ボリュームとして出力します。例えば表情の違いなどわずかなバリエーションの違いである場合に最適です。
- Texture Feature SOPは2Dボリュームの画像内の特徴点を画像処理により識別します。このノードは2Dボリュームの画像内の「目立つ」特徴点を見つけてポイントを配置します。
- Topo Flow Sample SOPは、画像ファイル内の個別の特徴点を画像処理により識別します。 このノードは画像ファイル内の「目立つ」特徴点を見つけてポイントを配置します 。
- HeightField Blur SOPのMethodにSharpenが追加されました。
- ボリュームデータについて、ベクトルおよび整数ボリュームを作成できるようになりました。
- VDB Rasterize Frustum SOPは、 ポイントクラウドから任意の半径でラスタライズされたDensityボリュームを作ることができます 。ポイントアトリビュートを元にいろいろな種類のボリュームをラスタライズできます。
- VDB from Polygon SOPにPreserve Holesパラメータが追加されました 。これにより穴を適切に保持し、小さなギャップを閉じる際のパフォーマンスを向上させました。
Hotkey Bindings:
Keymapファイルでホットキーバインディングに [ 修飾キー ] + [ 文字キー ] を使用するようになりました。これは特に Shift キーを使った記号キーのバインディングに影響があります。例えば、@ キーにバインディングされていたものはShift + 2 にバインディングされます。今まではJISキーボードで Shift + 2 が @ ではないので、Topobuild SOP のように Shift + 2 を使うノードで問題がありましたが、H20からは Shift + 2 を問題なく使えるようになります。 今までJISキーボードを使っていてHotkeyをカスタマイズしていた場合には注意が必要です 。
8. Clouds
8.1 モデリング
- Cloud Shape Generate SOP は、積乱雲のような形状をモデル化するために使用されるプリミティブ球を作成します。
- Cloud Shape from Line SOPは、ラインプリミティブの周りに積雲のような形状をモデル化するために使用されるプリミティブ球を作成します。
- Cloud Shape from Polygon SOPは、積乱雲のような形状をモデル化するために使用される、適応サイズのプリミティブ球でポリゴンメッシュを埋めます。
- Cloud Shape from Intersection SOP は、ジオメトリの交点で積雲のような形状をモデル化するために使用されるプリミティブ球を作成します。
- Cloud Shape Replicate SOPは、既存のプリミティブ球の周りに積雲のような形状をモデル化するために使用されるプリミティブ球を生成します。
- Cloud Billowy Noise SOP は、雲のようなビローノイズをフォグボリュームに適用します。
- Cloud Wispy Noise SOPは、薄い羽のような細かい変位ノイズをフォグボリュームに適用します。
- Cloud Clip SOPは、クリッピング平面を使用してフォグボリュームを半分に分割します。
ワークフローについて:
モデリングワークフローやノードの使い方に関する詳細につきましては以下のページに記載がございますので、合わせてご参照ください。
▼Cloud modeling
https://www.sidefx.com/docs/houdini20.0/model/cloud.html
8.2 シェーダー
- Karma Pyro Shader VOPは、プロダクションクオリティの煙、雲、火、爆発シェーダで、柔軟性を高めるために他のノードで構成されています。
以下のVOPノードはKarma Pyro Shader VOPの構成要素です。
シェーダーノード | 機能 |
---|---|
Karma Pyro Smoke Color VOP | 煙の陰影を制御するための散乱と吸収の生成します。 |
Karma Pyro Fire Color VOP | 火の陰影を制御するための色値を生成します。 |
Karma Pyro Scatter Color VOP | 爆発の陰影を制御するための色値を生成します。 |
Karma Pyro Fire Emission VOP | 火の陰影を制御するためのエミッションを生成します。 |
Karma Pyro Scatter Emission VOP | 爆発の陰影を制御するためのエミッションを生成します。 |
Karma Pyro Volume Mask VOP | ボリュームシェーディングのために発光をスケールするために使用できるカラーマスク値を出力します。 |
- Sky Box SOP は、ボリューメトリッククラウドを作成します。
空を作る方法について:
以下の「How to create a sky」のページを合わせてご参照ください。
▼How to create a sky
https://www.sidefx.com/docs/houdini20.0/model/skyfield.html
8.3 ノイズタイプ
- Cloud Noise VOPは、カスタムノイズフラクタルで、フラクタル反復ごとにノイズを歪ませ、雲生成のための、よりビローな見た目のノイズを提供します。
- Fibratus VOPは2Dの繊維状の雲模様を生成します。
- Floccus VOPは、2次元的な羊毛の束のような雲のパターンを生成します。
- Fractus VOPは、2次元的なそぼろ状の雲のようなパターンを生成します。
- Undulatus VOPは2Dの波のような雲パターンを生成します。
8.4 サンプルファイル
Skybox Cloud Types:
このシーンファイルでは、新しいSkyboxツールを設定してさまざまな雲を作成し、ビューポートに表示する方法を示しています。
Animated Cloud:
このhipファイルは、Houdini 20で利用可能な新しいSkybox SOPを設定し、雲の動きをシミュレートする大きな雲のフィールドを作成する方法を示しています(3000 x 3000)。Karma Cloud ShaderとKarma Physical Skyライティングを使用してKarmaでレンダリングされます。
Cloudscape:
このシーンファイルは、大きな雲場(10,000 x 7,500)を作成するためのSkybox SOPの設定方法を示しています。このシーンには、雲海の上をパンするカメラがあります。このシーンは、Karma Cloud Shader と Karma Physical Sky を使って Karma でレンダリングするように設定されています。
Karma Cloud Bake:
このプロジェクトでは、Karma XPUを使用して数秒でレンダリング用のクラウドをセットアップする方法を紹介します。
Billowy Cloud:
このシーンファイルは、2つのレンダリングセットアップを含む、シンプルなビロー雲を作成する方法を示しています。
Cloud Shader:
このシーンファイルは、MaterialXを使用した標準的な雲シェーダの基本コンセプトを示しています。シーンファイルは雲のボリュームを生成せず、シーンファイル内に格納されています。
Billowy Cloud Generator:
このシーンファイルでは、シンプルな雲を生成する方法を示しています。雲は並べられ、900以上のフレームにわたって、日没から日没まで、カルマの物理的な空がアニメーションされます。
9. Pyro
- 流体に重力を適用するための新しいパラメータを追加しました。 重力は密度情報に基づいてスケーリングすることができます。 これにより、流体の密度の高い領域がより速く降下するようになります。これは塵や埃をシミュレートする際に便利です。これらのパラメータは、SOPとDOPの両方で使用できます。
- MaterialXに基づき開発された新しいKarma pyroシェーダーは、CPUとXPUの両方をサポートしました。
- Gas Match Field DOPの[New Match Field if It Already Exists]パラメータは、参照先のフィールドがすでに存在する場合にその参照にマッチします。存在しないフィールドを作成し、すでに存在するフィールドはそのままにしたい場合は、このオプションをオフにしておきます。
- Pyro Solver SOPにHeight Fieldオプションが追加され、Boundary CollisionsがGround Planesに名称変更されました。デフォルトでは、煙はオープンコンテナ内で動作し、最大境界に達すると消滅します。これにより、煙が通過できない暗黙の壁を追加し、通常のコライダーよりも強力なコリジョン境界を形成することができます。
- Pyro Source Pack SOPを使用したPyroソーシングで、インスタンスポイントのVelocityアトリビュートをVectorフィールドに追加できるようになりました。
- 新しいGas Reset Inactive DOPは、ステンシル・フィールドに従って非アクティブなエリアのフィールドをバックグラウンド値にリセットします。
10. FLIP fluids
SOPベースのWhitewaterシステムについて:
新しい SOP-based whitewater システムは、Houdini 19.5 で導入された SOP FLIP fluid を強化したものです。このシステムはスケールに依存せず、パーティクル数を考慮することなくホワイトウォーターの物理的な量をコントロールできます。低解像度で作業して適切な設定を見つけ、その値を高解像度パスで再利用できるようになりました。このSOP whitewaterシステムは、foam(泡沫)、spray(水しぶき)、bubbles(気泡)の同時作成に対応しています。
- 新しい Whitewater Source SOP は、Surface と Velocity フィールドを入力として、Emission Field を作成し、ホワイトウォーターパーティクルを生成します。CurvatureやAccelerationなどのパラメータにより、ホワイトウォーターが出現する場所を正確に決定できます。
- 新しいWhitewater Solver SOPは、入力されたEmission Fieldから物理的に正しいSpray、Foam、Bubblesをシミュレートします。Whitewaterは、制御可能なリアルな流体のような挙動を再現するために、FoceとVelocityノイズを介して影響を与えることができます。
- 新しいWhitewater Post Process SOPは、Whitewaterシミュレーションをレンダリングするための処理を行います。このノードでは、シミュレーション後にWhitewater Solverの出力を変換することができます。具体的には、パーティクルの年齢、境界面からの深さ、コンテナまでの距離などの他のアトリビュートに基づいて、pscaleとdensityアトリビュートを再定義することができます。
- 新しいFLIP Volume Combine SOPにより、異なる解像度のFLIP fieldsを組み合わせることができます。解像度の異なる2つのFLIPシミュレーションから得られたfield(surface、velocity、pressure)を1つのfieldにブレンドすることができます。これは、低解像度シミュレーションのサブドメインを高解像度で再シミュレーションするFLIP up-resワークフローを使用する場合に特に便利です。
- Remesh Bubbles SOPは、pscaleアトリビュートの点群上にBubbleメッシュ構造を生成し、 メッシュ同士が互いに押し合うように変形させます。このツールは、マグカップにコーヒーを注ぐような小規模な流体シミュレーションで気泡を作成するのに適しています。
Bubbles:
Content Library にあるファイルをダウンロードし、Remesh Bubble SOPを使用して、XPUでバブルシェーダを作る方法も合わせてご覧ください。
11. Oceans
Ocean Procedural:
新しいHoudini Procedural: Ocean LOPを使用すると、泡や気泡を含む高解像度の統計的スペクトル波(PhilipsおよびTMA)を効率的にレンダリングできます。また、プリシミュレートされたbgeo.scスペクトルファイルを使用し、効果的なダイシングのためにカメラを定義することもできます。シェーディングは、定義済みのサーフェスマテリアルとインテリアマテリアルで行うことができ、プロキシマテリアルは高速プレビューの作成に役立ちます。この新しい Houdini Proceduralでは、XPUやサードパーティのレンダラー(Arnold、Renderman、Redshift、vrayなど)で海をレンダリングすることもできます。
- 新しいRipple Solver SOPは、雨滴による波紋や、水中を進むボートが作る船首波など、浅い水面を伝搬する波紋を作成するためのSOPです。詳細と基本的なワークフローについては、Ripple Solver (SOP)のページをご覧ください。
Capy Ripple Solver:
Content LibraryからCapy Ripple Solverファイルをダウンロードして、アニメーションキャラクターにRipple Solverを適用して、キャラクターの肌の上を通過する衝撃波をエミュレートする方法をご覧ください。
12. Rigid body dynamics
- Sticky collisions:
RBD Configure SOPを使用してスティッキーコリジョンを作成して、ダーツボードにくっつくダーツや、移動中の乗り物に磁気アイテムなど、衝突するオブジェクトを永続的に取り付けることができるようになりました。スティッキーコリジョンはカスタムコンストレイントネットワークとRBD Bullet Solver SOPの両方で動作します。
- RBD Material Fracture 3.0 SOP:
材料の種類の中で、ガラスマテリアル オプションが「Flat Panes (平面)」または「Curved Glass(曲面ガラス)」の2種類から選択できるようになりました。フラット パネルは窓や鏡などの平らなジオメトリに適しており、曲面ガラスは車のフロントガラス、ボトル、大理石などの丸いオブジェクトに適しています。Flat Panes ははるかに高速であるため、デフォルトに設定されています。
- RBD Group Constraints SOP:
アンカーされたRBDピースのグループメンバーシップに応じて、コンストレイントプリミティブにグループを作成します。なお、この機能はこの機能はRBD Constraint PropertiesノードとCone Twist Propertiesノードにも組み込まれており、そちらでも同じオプションを使用できます。
- RBD Destruction LOP:
グラフを呼び出してレンダリング時にピースを変換できます。このノードは、変換ピースのセットアップを行うためのレンダリング時のプロセスをセットアップします。これには、メッシュの残りの位置と、アニメーション化されたピースの変換を表すポイントのみを保存する必要があるため、ディスク上のフットプリントが小さくなります。
- RBD Cone Twist Constraint Properties SOP:
入力コンストレイントジオメトリにアトリビュートを作成して、Bulletコーンツイストコンストレイントを記述します。
ノード自体のグローバルパラメータを直接編集するかコンストレイントのアトリビュートを個別に編集することにより、ビューポートでコンストレイントをインタラクティブに編集できます。このノードには、回転制限、ねじれ軸、移動範囲の指定など、多くの高度なオプションが用意されています。
- Find Instances SOP:
同じジオメトリ部分のインスタンスを見つけて、パックされたジオメトリ インスタンスに置き換えます。 ジオメトリを分析して、一致するトポロジを持つ名前付きピースを見つけ、それらをパックされたジオメトリインスタンスに置き換えます。ポイントとプリミティブの数が同じでボリュームが一致するピースは、ユーザー定義の属性値によって比較されます。なお、ポイント数とトポロジはピース間で一致することが期待されるため、形状は同じでもトポロジが異なる 2 つのジオメトリを一致させることはできないことに注意が必要です。
- RBD Find Instances SOP:
同じジオメトリ部分のインスタンスを見つけて、パックされたジオメトリ インスタンスに置き換えます。ジオメトリまたはプロキシジオメトリを分析して、一致するトポロジを持つ名前付きピースを見つけます。識別された名前付きプロトタイプは、ジオメトリ ストリームとプロキシ ジオメトリ ストリームの両方で使用され、それに応じてインスタンス化されます。
- RBD Packed Object DOPの新機能:
Min Activation Impulseパラメータを使用すると、衝突が発生したときに非アクティブなオブジェクトをアクティブなオブジェクトに自動的に切り替えることができます。このactivationignore属性を使用すると、特定のオブジェクトとの衝突によってオブジェクトがアクティブ化されるのを防ぐことができます。RBD Configureを使用して SOP でこれを実現するには、Activeを に設定し0、Min Activation Impulse をオブジェクトをアクティブにするために必要な衝撃の強さを設定します。
13. Vellum
- Vellum Brush SOPの新機能:
ピンを選択するための個別のハンドルが追加され、布を簡単に折りたたんだり、ドレープしたり、伸ばしたりすることができます。これは、セットドレッシングに特に役立ちます。
- Crease/Ruffle 折り目/フリル:
四面体メッシュの Vellum ブラシで機能するようになりました。 - Vellum Solver(SOP&DOP)の新機能:
「Default Thickness (デフォルトの厚さ)パラメータ」が追加されました。シミュレーションまたは衝突ジオメトリにpscale属性がない場合は、この値に設定されます。
- Vellum Solver(SOP&DOP)の新機能:
ボリューム保持が有効になっている四面体ストレッチ制約の結合ソルバを使用するようになりました。この場合、両方の制約が、以前のバージョンのように順番に解決されるのではなく、同時に解決されます。結果として得られるソルブはより高速になり、ボリュームがより適切に保持され、極端な変形時のアーティファクトが少なくなります。これにより、ほとんどの筋肉シミュレーションの外観が向上します。
- ウィンド シャドウ:
POP Mask from Wind DOP、POP Attribute Blur DOP 、およびPOP Wind Shadow DOPを使用して、DOP に風のシャドウを適用できます。 ウィンド シャドウを使用すると、衝突ジオメトリを使用して、風がベラム ジオメトリに影響を与えるのをブロックしたり(外部シャドウ)、ベラム ジオメトリを使用して、風がベラム ジオメトリの他の部分に影響を与えないようにブロックしたりできます(セルフ シャドウ)。
- 風のシャドウを作成するための 3 つの新しいノードが追加されました。
※Vellum Solver SOPを使用して、SOP に風のシャドウを適用することもできます。
- Vellum Rest Blend SOP & DOP:
トランジションエフェクトを制御するための新しいマスキングオプションが追加されました。
- GPU メモリの使用量が大幅に削減され、四面体メッシュのグラフ カラーリングが高速化されました。
- Vellum Fluid を64 ビットソルブで実行する機能が追加されました。
14. PDG
14.1 UI/UX
- ワークアイテム情報パネルに、ワークアイテムが実行するクックの種類に関する詳細をリストする折りたたみ可能な [Cook Info]セクションが追加されました。
- TOP のディスプレイオプションに、依存関係の Drawing Depth を指定するためのオプションが追加されました。
- TOPグラフで異なるワークアイテムが選択された場合、work item info/middle-mouseパネルが自動的に更新されるようになりました。
- 出力を削除するためのPDG file chooser dialogで、デフォルトでは絶対パスを表示する代わりに、$HIPや$JOBのような変数を含むようにパスを縮約されるようになりました。
14.2 TOP networks
- TOPネットワークは、新しいローリング・チェックポイント形式を使用して、グラフの状態を.jsonファイルに定期的に保存および復元できるようになりました。
- TOP Networksに新しいSave Scene File if Requiredトグルが追加され、グラフを調理する前のシーンの自動保存を無効にすることができます。
14.3 Services
- PDGコマンドチェーンは、独自の内部サーバーシステムを使用する代わりに、サービスを使用して実行できるようになりました。
- pdg.ServiceManagerクラスに、特定のサービス・クライアントを再起動または停止するためのメソッドが追加されました。
- pdg.Service.startReadyListenerとpdg.Service.waitForClientsを呼び出す代わりに、サービス・クライアントを開始したいスケジューラは、新しいpdg.Service.addClientsコンテキスト・マネージャを使用して、保留中のクライアントが適切に追加し、サービスによって待機されるようにする必要があります。
- PDGサービス・クライアントは、タスクのクッキングが終了するたびに、サービス・プロセスのメモリ使用量を記録するようになりました。
14.4 USD
- USD Analyze TOPは、LOPノードまたはファイルのメタデータ、依存関係、外部参照を取得します。
- USD Modify Paths TOPはアセットパスを修正します。
- USD Render Scene TOPは、ディスク上の.usdファイルまたはLOPネットワークをレンダリングします。
- USD Import TOPは、Evaluate with Work Item Attributesトグルを有効にすることで、ターゲットLOPノードをクックする前にAttribute-Dependent Expressionsを無効にするように設定できるようになりました。
- USD Render TOPに、出力ファイルパス上の中間ディレクトリの作成を有効にするトグルが追加されました。新しいトグルはデフォルトで有効になっています。
14.5 Schedulers
- クックの完了時または Houdini セッションの終了時に、一時ファイル ディレクトリの自動削除を有効にするオプションをすべてのスケジューラノードに追加しました。
- Local Scheduler TOP に、タスクプロセスの最大メモリ使用量を制御するためのパラメータを追加しました。
- ワークアイテムに割り当てられているスケジューラ名に、[@pdg_schedulername]アトリビュートでアクセスできるようになりました。
- すべてのスケジューラーノードに、Houdini ジョブで実行するカスタム hython 実行可能ファイルを指定できるオプションを追加しました。
14.6 Processors
- OpenImageIO TOPは、OpenImageIOのコマンドラインツールを使って画像を処理するタスクを作成します。
- Filter by Attribute TOPは、入力されたワークアイテムを、その属性の名前または値に基づいてフィルタリングします。
- Split by Count TOPは、ワークアイテムのストリームを固定カウントを使って2つのブランチに分割する。
- ROP OpenGL Render TOPは、OpenGL ROPと、ROPをクックする設定済みのROP Fetch TOPをラップしたアセットです。
- Python Virtual Environment TOPは、仮想環境を作成し、そこにPythonパッケージをインストールします。
- Attribute from File TOP は、ファイルから指定されたアトリビュートフォーマットパターンを使用してワークアイテムのアトリビュート値を解析します。
- ROP Fetch TOPのカスタム出力ファイルタグパラメータは、単一の文字列値ではなく、スペース区切りのファイルタグのリストに設定できるようになりました。
- Attribute Create TOP に、ワークアイテムの入力ファイルを出力ファイルリストにコピーするかどうかを決定するパラメータが追加されました。
- HDA Processor TOPのワークアイテムは、TOP内でクック中に、入力される.hdaファイルが変更された場合、キャッシュファイルが無効になるようになりました。
- HDA Processor TOP からパフォーマンスモニター情報を書き出すサポートを追加しました。
14.7 Partitioners
- すべてのパーティショナーノードにトグルを追加し、パーティショニング ステップ中に失敗した入力ワークアイテムをスキップできるようにしました。
- Partition by Bounds TOPに、ノードがソースジオメトリをどのように扱うかを制御するオプションを追加しました(ポリゴンや境界領域に変換するか、そのまま使用するかなど)。
15. Machine Learning
ML Deformer:
シミュレーションを使えば、リニアブレンドスキニングよりもリアルなデフォーメーションが可能です。しかし、リニアブレンドスキニングの方がはるかに高速です。シミュレーションされたポーズを学習し、リニアブレンドスキニングを改善することはできるのでしょうか?ランダムなポーズから学習することで、リニアブレンドスキニングをどのように改善できるかを示す例として、Content LibraryからML Deformerのサンプルをご確認ください。
上記のデモでは、TOPネットワークを使用して、機械学習のすべての段階(データ生成、前処理、トレーニング)を制御します。新しいONNX SOP、 Principal Component Analysis SOP 、 Python Script TOP の機能強化など、MLをサポートするいくつかのHoudini 20の新機能の使用を示しています。
ML Terrain:
Content LibraryにあるML Terrainの例は、TOPsを使って地形データを生成し、そのデータを使ってMLモデルをトレーニングする方法を示しています。モデルは、学習された地形のスタイルをキャプチャします。例えば、入力地形データが砂漠の砂丘で構成されている場合、モデルはそのスタイルの地形を生成するように学習します。学習されたモデルは、新しいONNX SOPを使用してHoudiniによって評価されます。
上記のデモでは、MLモデルの作成からHoudiniで直接使用するまでの完全なウォークスルーを示しています。独自のTerrain Erosion(地形浸食)HDAをプラグインしたり、を使用したりできます。高解像度または低解像度を使用して結果を比較できます。巨大な地形に対してテストすることも、細かなディテールで作業することもできます。月のクレーターのMLモデルやエイリアンの世界をトレーニングすることもできますし、単に既存の実世界のLiDARデータを使用することもできます。
16. Viewport, User Interface, and Scripting
- hythonとhbatchを含むHoudiniアプリケーションは、[profile-startup]コマンドラインオプションを受け付けるようになりました。このオプションを指定すると、Houdiniは Performance Monitor. で起動時間をプロファイルします。このオプションを使用して、Houdiniの起動シーケンスにおける潜在的なボトルネックを特定します。
- Performance Monitorは、ノードイベントスクリプトに消費された時間を計測するようになりました。
- パラメータにファイルパスの補完機能が追加されました。
- JSONパッケージで定義されたenv varを含む、パラメータ内のenv varが補完されるようになりました。
- 複数のノードを選択した場合のノードのワイヤーが改善されました。Houdiniは、選択されたすべてのノードの出力を同じ入力に接続しようとすることを避けるようになりました。以前は、Houdiniは選択リストの最初のノードを接続していました(ノードのボックス選択の場合、予測できないことがありました)。
- RampパラメータのBezierカーブにハンドルが追加されました。
- Vector形式のパラメーターにカンマ区切りの値を貼り付けた場合でも、機能するようになりました。
- HUDスライダーがHUDハンドルに置き換わりました。
- 3DシーンビューポートはVulkan graphics APIを使用してレンダリングできるようになりましたが、今回のリリースでは試験段階であることにご注意ください。Vulkanへ切り替えるためには、環境変数設定で「HOUDINI_VULKAN_VIEWER」の値を1に設定してください。Vulkanレンダラーはまだ製品版には対応していないため、テスト目的または既存のレンダーフックをVulkanに移植する場合にのみ使用することをお勧めします。
17. VEX and OpenCL
17.1 VEX
- 「windingnumber」関数は、点の周りのメッシュの巻き数を計算します。
- 「windingnumber2d」関数は、XY平面上の曲線の点周りの巻き数を計算します。
- 「distance_pointline」関数は、点QとベクトルDに平行にOを通る無限直線との間の最も近い距離を返します。
- 「distance_pointsegment」関数は、点Qと点P0とP1を結ぶ有限の線分との間の最も近い距離を返します。
- 「diag」関数 は、対角エントリを抽出するか、対角行列を構築します。
- 「tr」関数 は,与えられた行列のトレースを返します。
- 「sum」関数は、入力として行列または行列の配列をサポートするようになりました。
- 「pinvert」関数 は行列の擬似逆行列を計算します。
- 「slerpv 」関数は、バイアスに基づく2つのベクトル間の球面ブレンドを計算します。
- 「typeid」関数は、 VEX データ型を識別する数値コードを返します。
- 「gxnoised」関数は、 simplex noise フィールドとその導関数を評価します。
- 「ocio_transformview」関数は、 Open Color IO を使用してビューに色を変換します。
- 「volumeindex」関数は、特定のボクセルの値を取得します。
- 「volumesample」関数は、ボリュームプリミティブの浮動小数点数値をサンプリングします。
- 「volumesamplei」関数は、ボリュームプリミティブの整数値をサンプリングします。
- 「volumesamplep」関数は、ボリュームプリミティブのvector4の値をサンプリングします。
- 「volumesampleu」関数は、ボリュームプリミティブのvector2の値をサンプリングします。
- 「volumesamplev」関数は、ボリュームプリミティブの vector 値(3float)をサンプリングします。
- 「norm_1」関数は、行列の 1ノルムを返します。
- 「norm_fro」関数は、行列のフロベニウスノルムを返します。
- 「norm_inf」関数は、行列の infノルムを返します。
- 「norm_max」関数は、行列のmaxノルムを返します。
- 「setagentclips」 関数 、「setagentcollisionlayers」 関数 、「setagentcurrentlayers」 関数 に、名前ではなく整数のidを受け付けるオーバーロードが追加されました。これにより、「agentfindlayer」のような関数が返すidを扱いやすくなりました。
- 「agentaddclip」関数が 非推奨 になりました。エージェント定義の共有データは、HOMまたは Agent Clip SOPによって、より効率的で安全な方法で操作することができます。
17.2 OpenCL
- OpenCL SOPとGAS OpenCL DOPノードが改良されました。
- 新しいwrangleのような@構文を使用することで、ノードの構築が容易になりました。
- [binding topology]アトリビュートがサポートされました。
- ReadingとWritingのための[binding group]がサポートされました。
- OpenCL SOPで複数入力がサポートされました。
- VDBへのインプレース書き込みがサポートされました。
- 現在、VFX Platform 2023に準拠するため、gcc 11を実行するLinux用のHoudiniビルドと、古いバージョンのgcc用のビルドが個別に用意されています。Houdiniに同梱されるOpenCL CPUドライバのバージョンは、適切なgccランタイムに合わせて異なります。
18. HQueue
18.1 KarmaとUSD統合の改善
- KarmaとUSDのレンダージョブが進行状況を報告するようになりました。
- HQueueにファームでのKarmaライセンス使用状況を追跡するための新しいsidefx.license.karmaリソースタイプを追加しました。
- Karma ROP、USD Render ROPまたはUSD Render ROP LOPから.usdファイルを生成し、生成された.usdファイルからフレームをレンダリングする新しいUSDレンダーワークフローをHQueue Render ROPに追加しました。これにより、HQueueレンダージョブは、レンダリングのためにHoudiniライセンスの代わりにKarmaレンダーライセンスを取得することができます。新しいレンダーワークフローは、USD Output Fileパラメータがデフォルトでチェックされている場合に使用されます。
- HQueue Render ROP に、事前に生成された .usd ファイルからレンダリングする新しい USD レンダー ワークフローを追加しました。この新しいワークフローは、HQueue Render ROP で Use Existing USDs オプションが選択されている場合に使用されます。
18.2 ROPとTOPノード
- HQueue ROPおよびHQueue Scheduler TOPノードのデフォルトのサーバーおよびHFS設定を制御する新しい「HOUDINI_HQUEUE_*」環境変数を追加しました。HQueue環境変数をご参照ください。
- HQueue ROPノードがプラットフォーム固有のHFSパスをサポートするようになりました。これは、オペレーティングシステムが混在するマシンで構成されるファームにジョブを送信する場合に役立ちます。
- HQueue ROPノードのHQueue Server、Directories to Create、HFSパラメータがパラメータエクスプレッションに対応しました。このため、変数をファームで評価し、ローカルで評価しないようにするには、これらのパラメータ値の変数に使用されているドル記号文字をエスケープする必要があります。
例えば、Target HFSパラメータに“$HQROOT/path/to/hfs”を指定していた場合、“\$HQROOT/path/to/hfs”に変更する必要があります。
Windows:
Windows上のHQueueクライアントで、起動時にネットワークドライブを自動マッピングできるようになりました。HQueue Clientの設定ファイルにオプションの[mapped_network_drives]セクションを追加して、自動マッピングされたネットワークドライブを登録します。詳細は、 Mapped Network Drives を参照してください。
19. Licensing
19.1 改善点について
- Webhooksがサポートされました。
- レガシー・ライセンス・システムを完全に廃止し、新しいライセンス・システムに切り替わりました。
- スタジオがサードパーティのアプリケーション(例えばShotGrid)をSideFXライセンシングシステムと統合することを可能にするパブリックAPIが導入されました。
- パーティションシステムを完全にリファクタリングしました。このシステムは完全に動的で古いシステムとは異なり、その場で変更できます。
- hkey経由でローカルのsesinetdを起動/停止できるようにした。この機能を使うために hkey を管理者として起動する必要がなくなりました。
19.2 管理ツール/対応バージョン
概要:
クライアントによっては、特定の最小サーバーバージョンを必要とし、サーバーによっては、特定の最小クライアントバージョンしかサポートしないものもあります。下の表は、どのバージョンのクライアントがどのバージョンのサーバと通信できるかを示しています。HTTP(s)は、H20と今後リリースされるすべてのバージョンで使用される唯一のプロトコルです。レガシープロトコルはクライアントバージョンから完全に削除されましたが、サーバーはまだ古いプロトコルをサポートしています。
ご注意:
hserver と sesinetd の両方を最低バージョン 19.5 にアップグレードすることを強く推奨します。
Program | Min version |
---|---|
hserver (client) | sesinetd 19.0 |
Houdini | sesinetd 19.0/hserver 19.0 |
Houdini License Administrator (hkey) | hserver/sesinetd 19.5 |
Houdini License Administrator (sesictrl) | hserver/sesinetd 19.5 |
20.Houdini Engine, APIs, and Plug-ins
20.1 Unreal plug-in
- Unreal Engine 5.3互換性があります。
- macOS Apple Siliconが Unreal Engine 5.2をサポートしました。
- Houdini( Unreal Engine 5.0 )からWorld Partitionのエクスポートがサポートされました。
- Houdiniとのデータレイヤーのインポートとエクスポートをサポートします。
- Height field が World Partitioned Landscape に対応しました。
- World Partition 内の Foliage instancingがサポートされるようになりました。
- HLODレイヤーの設定をアトリビュートとしてインポートおよびエクスポートできるようになりました。
- Unrealの1 アクタあたり 1 ファイル (OFPA) 機能をサポートします。
- HoudiniToolsユーティリティは、Unreal Engineプロジェクト内でHDAを整理し、アクセスしやすくします。
- HDAのパラメーター、入力、プロパティのプリセットに対応するようになりました。
- ランドスケープスプラインのインポート/エクスポートがサポートされました。
- スケルタルメッシュとアニメーションアセットのインポート/エクスポートがサポートされました。
- Houdini EngineセッションでUnrealのヒエラルキーを再現する新しい参照カウント入力システムが追加されました。このシステムは、データの重複を防ぐため、より高速です。
- 入力タイプが集約され、UIが再設計されました。
- Node Sync がすべての入力/出力タイプとオプションを完全にサポートするようになりました。
20.2 Unity plug-in
- 新しい Spline Input Object のサポートを追加しました。これにより、アーティストはUnityのSplinesパッケージ(Unityバージョン2022.1以降でサポート)を使用して、UnityのCurve Editor用のHEと同じようにHDA入力としてエディタ内でスプラインを作成、操作できるようになりました。
20.3 HAPI
- Tracyをサポートします。
- 辞書アトリビュートの照会と設定のサポートが追加されました。HAPIの新機能をご参照ください。
- 最適化:新しいHAPI関数SetAttributeUniqueDataは、複数の属性を単一の一意な値に設定します。
- 新しいHoudini Engine Sampleアプリケーションは、スタジオが独自のDCCアプリケーションやゲームエンジンのためにHoudini統合を作成する際のリファレンスやインスピレーションのソースを提供します。
20.4 Maya plug-in
- Maya 2024がサポートしました。
20.5 3Ds Max plug-in
- 3ds Max 2023 および 2024 をサポートしました。
- アニメーション付きパックプリミティブのトランスフォームキーフレームのベイクアウトをサポートしました。
20.6 glTF
- 自動生成MikkTタンジェントと法線のインポートオプションが追加されました。
- 名前フィールドのエクスポートが改善されました。
21. Platforms
21.1 Python
- 主なHoudiniビルドはPython 3.10に対してビルドされるようになりました。
- Python 3.9のHoudiniビルドは別途インストーラーをダウンロードする必要があります。
- Python 3.7のサポートを終了しました。
21.2 macOS
- macOS arm64ビルドはApple clang 14とmacOS 13 SDKでビルドされるようになりました。
21.3 VFX Reference Platform
- Houdini 20.0は、VFX Reference PlatformのCY2023仕様に準拠しています。
- 新しい Linux gcc 11, glibc 2.28 ビルドが追加されました。
- Python 3.10.10がサポートされました。
- NumPyが1.23.5にアップグレードされました。
- OpenColorIO が 2.2.0 にアップグレードされ、OpenColorIO Python バインディングが追加されました。
- OpenSubdivが3.5.0 にアップグレードされました。
- OpenVDBが10.0.0 にアップグレードされました。
21.4 MPlay
- MPlayは、組み込みのFFmpegディストリビューションを通してネイティブにビデオをエクスポートできるようになりました。
21.5 3rd-party Tools and Libraries
Tools and Libraries | Version | Status |
---|---|---|
FFmpeg | 6.0.0 | Added |
libvpx | 1.13.0 | Added |
openh264 | 2.3.1 | Added |
lame | 3.100 | Added |
dav1d | 1.2.1 | Added |
SVT-AV1 | 1.5.0 | Added |
kvazaar | 2.2.0 | Added |
hiredis | 1.0.2 | Added |
openpgl | 0.5.0 | Added |
mbedtls | 3.2.1 | Added |
ONNX Runtime | 1.14.1 | Added |
cssutils | 2.3.1 | Upgraded |
Eigen | 3.4.0 | Upgraded |
Genshi | 0.7.7 | Upgraded |
libarchive | 3.6.2 | Upgraded |
nng | 1.5.2 | Upgraded |
OpenCV | 4.7.0 | Upgraded |
OpenEXR | 3.1.6 | Upgraded |
requests | 2.31.0 | Upgraded |
six | 1.16.0 | Upgraded |
spectra | 1.0.1 | Upgraded |
sse2neon | 1.6.0 | Upgraded |
Swig | 4.1.1 | Upgraded |
Tracy | 0.82 | Upgraded |
USD | 23.08 | Upgraded |
Houdini20で新しく追加された機能や改良された機能の紹介は以上です。
Houdini20新機能のより詳しい解説は、以下のホームページをご参照ください。
▼SideFX社ホームページ:Houdini20ドキュメント(英語)
https://www.sidefx.com/docs/houdini20.0/