| On this page |
Houdini Niagaraプラグインは、HoudiniインストールディレクトリのHoudini Engineプラグイン内にあります: HoudiniXX.Y\engine\unreal\5.Z\HoudiniNiagara 。 Houdini Niagaraプラグインは、SideFX Houdini Niagara GitHubページからもダウンロードすることができます。
最新バージョンはUnreal5.4に対応しています。 Houdini Engineプラグインと同様に、Houdini Niagaraプラグインのソースコードは、これまでのすべてのUE5バージョンでも使用できるように設計されています。
そのプラグインはFXカテゴリの下にあり、Niagaraプラグインをアクティブにする必要があります。
このプラグインによって、Houdiniからエクスポートされる様々なPointアトリビュートを含む、Houdini Point Cache Assetというアセットタイプが追加されます。 また、これらのアセットをNiagaraで解析および処理するための、カスタムのHoudini-Niagaraデータインターフェースも提供されます。
インストール ¶
Houdini Niagaraプラグインのダウンロードには、次の3つの方法があります:
-
Houdini Launcher
-
旧式のインストーラ
-
Githubリポジトリ
Houdini Launcher ¶
-
Launcherをインストールします(まだインストールしていない場合)。
-
Launcherを開きます。
-
Houdini ▸ Install をクリックします。
-
Choose a Version to Install で、目的のビルドバージョンに応じて、Production BuildまたはDaily Buildのいずれかを選択します。特定のバージョンを選択する必要がある場合は、
Choose Another Versionを選択して、目的のバージョンをインストールします。 -
Preferencesポップアップウィンドウ で、 Unreal Plug-in をオンにして、 Install をクリックします。
-
Houdini Engineディレクトリの場所を覚えておきます。デフォルトの場所は、 \Side Effects Software\Houdini Engine\X.Y.Z.\U.E\HoudiniNiagara です。
-
X.Y.Z.は、お使いのHoudiniバージョンを意味しています。
-
U.E.は、お使いのUnreal Engineバージョンを意味しています。
-
-
HoudiniNiagaraフォルダをUnrealディレクトリの Plugins フォルダにコピーします。Unreal EngineのPluginsディレクトリまたはUnrealプロジェクトディレクトリのPluginsディレクトリのいずれかにコピーできます。
-
Unrealのディレクトリの場所は \Epic Games\UE5.X\Engine\Plugins で、プロジェクトディレクトリの場所は \Unreal Project\Plugins です。
-
Note
Unreal Engine 5.Xでは、 必ず Unrealのプロジェクトディレクトリを使用してください。
Old Installer ¶
-
SideFXダウンロードから、ダウンロードバージョンを選択します。Old Installerでは、プロダクションビルド版、デイリービルド版のどちらでも選択することができます。
-
Houdiniインストールのセットアップ内のHoudini Engineセクションで、 Houdini Engine for Unreal のチェックボックスをオンにします。
-
Houdini Engineディレクトリの場所を覚えておきます。デフォルトの場所は、 \Side Effects Software\Houdini X.Y.Z\engine\unreal\U.E\HoudiniNiagara です。
-
X.Y.Z.は、お使いのHoudiniバージョンを意味しています。
-
U.E.は、お使いのUnreal Engineバージョンを意味しています。
-
-
HoudiniNiagaraフォルダをUnrealディレクトリの Plugins フォルダにコピーします。Unreal EngineのPluginsディレクトリまたはUnrealプロジェクトディレクトリのPluginsディレクトリのいずれかにコピーできます。
-
Unrealのディレクトリの場所は \Epic Games\UE5.X\Engine\Plugins で、プロジェクトディレクトリの場所は \Unreal Project\Plugins です。
-
Note
Unreal Engine 5.Xでは、 必ず Unrealのプロジェクトディレクトリを使用してください。
Github Repository ¶
-
GitHubから最新リリースをダウンロードします。
-
ダウンロードしたファイルを解凍します。
-
HoudiniNiagaraフォルダを \Unreal Project\Plugins フォルダにコピーします。
GitHubページの手順に従って、ソースからプラグインをビルドすることもできます。
プラグインの検証 ¶
プラグインが正しくインストールされていることを確認するには:
-
Unrealで、プロジェクトをロードして Edit ▸ Plugins を選択します。
-
PluginsウィンドウのProjectセクションで Houdini Niagara を検索します。そのチェックボックスが選択されていることを確認します。
はじめよう ¶
プラグインには、設定済みのエミッタ、HoudiniNiagaraBasicが含まれており、Houdini Point Cacheを使用する大半のNiagaraシステムのベースとして使用できます。以下に、Houdini Point Cacheを読み取るのに必要なモジュールを示します。
ワークフローおよび様々なアセットを簡単に紹介します:
モジュール ¶
モジュール |
説明 |
|---|---|
Init Houdini Point Cache |
Emitter Spawnグループ - このモジュールはスポーン情報を追跡し、エミッタ毎に一意のポイントIDを保証します。 |
Spawn Particles from Houdini Point Cache |
Emitter Updateグループ - このモジュールはHoudini Point Cacheを読み取り、 同じエミッタで複数のキャッシュにアクセスする必要がある場合、 SpawnGroup を設定できます。 |
Sample Spawned Houdini Point Cache |
Particle Spawnグループ - このモジュールはHoudini Point Cacheを読み取り、Houdiniネームスペースのデフォルトのアトリビュートを設定します。スポーン時に一度だけ各パーティクルのアトリビュートを設定します。その後、 Set Parameter モジュールを使用して、 SetLifetime は、 SetVelocity は、 |
Sample Houdini Point Cache |
Particle Updateグループ - このモジュールはHoudini Point Cacheを読み取り、 その後、 Set Parameter モジュールを使用して、 UseCustomAge がオンの時、ユーザはカスタムアトリビュートを指定して、ポイントキャッシュアトリビュートの読み取りに使用される時間インデックスを制御することができます。 |
デフォルトアトリビュート ¶
サンプルモジュールは、Houdini Point Cacheから以下のアトリビュートを読み取ろうとします。アトリビュートが存在しない場合、パーティクルのアトリビュートは0に設定されます。
-
Particles.Houdini.PositionはPから設定 -
Particles.Houdini.NormalはNから設定 -
Particles.Lifetimeはlifeから設定 -
Particles.Houdini.ColorはCdから設定 -
Particles.Houdini.AlphaはAlphaから設定 -
Particles.Houdini.Impulseはimpulseから設定 -
Particles.Houdini.Forceはforceから設定 -
Particles.Houdini.Typeはtypeから設定 -
Particles.Houdini.Velocityはvから設定 -
Particles.Houdini.Pscaleはpscaleから設定 -
Particles.Houdini.Orientはorientから設定
カスタムアトリビュート ¶
カスタムアトリビュートは、独自のモジュールを作成することで読み取ることができます。
以下のビデオでその方法を紹介します。
Houdini Point Cache Asset ¶
HoudiniのNiagara ROPによって生成された.hbjson、.hjson、.hcsvファイルをインポートできます。 hcsvは廃止され 、ASCIIとバイナリのjsonファイルフォーマットが使用されています。プラグインは、float、vector(カラーを含む)、int値をサポートします。
ベクトルまたはタプル値がエクスポートされると、プラグインで解析される際に展開されます(つまり、PはP.x, P.y, P.zになります)。
Houdini Point Cache Asset を選択した場合、以下のようなファイルのプロパティが表示されます:
これは、ファイルのヘッダ情報(ポイント数、フレーム数など)をチェックするのに便利です。また、ファイルに格納されているアトリビュートの配列もリストされます。
コンテンツブラウザでHoudini Point Cache Assetにカーソルを合わせると、利用可能なデータに関する以下の情報が表示されます:
特別なアトリビュート ¶
ポイントキャッシュファイルのヘッダには、エクスポートされるすべてのアトリビュートの名前が含まれています。 特定のアトリビュートには、その値を取得するための組み込み関数があります。 :
-
Position値はPとして保存 -
Time値はtimeとして保存。Niagara ROPはこのアトリビュートを自動的に追加します。また、ユーザが設定することも可能です。 -
Point IDはidとして保存 -
Normal値はNとして保存 -
Velocity値はvとして保存 -
Color値はCdとして保存 -
Alpha値はAlphaとして保存 -
Life値はlifeとして保存 -
Type値はtypeとして保存 -
Impulse値はimpulseとして保存
時間の経過と共にポイント位置を更新したい場合は、Point IDとtime値が必要になります。
ファイルの指定されたポイントのスポーン時間は、次のように計算されます:
-
アセットに
ageアトリビュートがある場合、スポーン時間はageとtimeを比べることで算出されます。 -
アセットに
ageアトリビュートがない場合、time==0の時、パーティクルがスポーンされます。
アセットにlifeアトリビュートがある場合、それによってパーティクルのライフタイムが直接設定されます。これはサンプルモジュールで無効にすることができ、エミッタスタックでも設定できます。
指定されたポイントのタイプは、その最初のtype値に設定されます。ファイルに特定のtype値がない場合、すべてのポイントのタイプは0に設定されます。
Houdini-Niagara Data Interface ¶
Houdini Point Cache Assetに含まれるポイントキャッシュデータにアクセスするには、プラグインが提供するカスタムのHoudini-Niagara Data Interfaceを使用する必要があります。
Data Interfaceには、Niagaraのモジュール/エミッタ/システムにHoudini Point Cache Infoパラメータを追加し、それにHoudini Point Cache Assetを選択することで、アクセスできます。
Houdini Point Cache Assetからアトリビュートを取得するすべての関数が以下を必要とします:
アトリビュート |
説明 |
|---|---|
|
Houdini Point Cache Assetへの参照 |
|
一意のパーティクルID、通常は |
|
経時的な一連のアトリビュート値におけるインデックスの整数値。 この値を取得するには、 Get Sample Indexes for Point at Time または Get Last Sample Index 関数を使用します。 |
|
エミッタの現行時間、通常は |
Data Interface ¶
Data Interfaceにより、以下の機能にアクセスできるようになります:
機能 |
説明 |
|---|---|
Get Sample Indexes for Point at Time |
指定時間における、指定ポイントのサンプルインデックスを返します。 前のインデックス、次のインデックス、ウェイトを使用して、値を線形補間することができます。
|
Get Last Sample Index at Time |
Timeパラメータより小さいまたは等しいtime値を持つ、ポイントキャッシュの最後のサンプルインデックスを返します。
|
Get Point IDs to Spawn at Time |
指定されたtime値にスポーンすべきポイントの数とポイントIDを返します。 実装については、 Spawn Particles From Houdini Point Cache モジュールを参照してください。
|
Get Number Of Attributes |
キャッシュ内のアトリビュートの数を返します。 |
Get Number Of Points |
キャッシュ内のポイントの数を返します。 |
Get Color |
ポイントキャッシュ内の指定されたサンプルインデックスのカラー値を返します。
|
Get Float Value |
ポイントキャッシュ内における、指定されたサンプルインデックスおよびアトリビュートインデックスの浮動小数点値を返します。
|
Get Float Value by String |
ポイントキャッシュ内における、指定されたサンプルインデックスおよびアトリビュート名の浮動小数点値を返します。
|
Get Impulse |
ポイントキャッシュ内の指定されたサンプルインデックスのimpulse(力積)値を返します。
|
Get Normal |
ポイントキャッシュ内の指定されたサンプルインデックスの法線値を返します。 返された法線ベクトルは、Houdiniの座標系からUnrealの座標系に変換されます。
|
Get Point Alpha at Time |
指定した時間における指定したポイントの線形補間されたアルファを返します。
|
Get Point Color at Time |
指定した時間における指定したポイントの線形補間されたカラーを返します。
|
Get Point Impulse at Time |
指定した時間における指定したポイントの線形補間されたimpulse(力積)を返します。
|
Get Point Life |
スポーン時に指定したポイントのlife値を返します。 life値はaliveアトリビュートから計算されるか、スポーン時のlifeアトリビュートです。
|
Get Point Life at Time |
ポイントキャッシュ内における、指定した時間の指定したポイントの残りのlife値を返します。
|
Get Point Normal at Time |
指定した時間における指定したポイントの線形補間された法線を返します。 返されたベクトルは、Houdiniの座標系からUnrealの座標系に変換されます。
|
Get Point Position at Time |
指定した時間における指定したポイントの線形補間された位置を返します。返された位置ベクトルは、Houdiniの座標系からUnrealの座標系に変換されます。
|
Get Point Quat Value at Time |
指定した時間における指定したポイントについて、指定したアトリビュートインデックスの線形補間されたクォータニオン値を返します。 DoHoudiniToUnrealConversionパラメータは、vector4をHoudiniの座標系からUnrealの座標系に変換する必要があるかどうかを示します。
|
Get Point Quat Value at Time by String |
指定した時間における指定したポイントについて、(名前で)指定したアトリビュートの線形補間されたクォータニオン値を返します。
|
Get Point Type |
スポーン時に、指定したポイントのタイプをint型の値で返します。
|
Get Point Type at Time |
指定した時間における指定したポイントのint型の値を返します。
|
Get Point Value at Time by String |
指定した時間における指定したポイントについて、(名前で)指定したアトリビュートの線形補間されたfloat型の値を返します。
|
Get Point Vector4 Value at Time |
指定した時間における指定したポイントについて、指定したアトリビュートインデックスの線形補間されたVector4値を返します。 返されたベクトルは、Houdiniの座標系からUnrealの座標系に変換されます。
|
Get Point Vector4 Value at Time by String |
指定した時間における指定したポイントについて、(名前で)指定したアトリビュートの線形補間されたVector4値を返します。 返されたベクトルは、Houdiniの座標系からUnrealの座標系に変換されます。
|
Get Point Vector Value at Time |
指定した時間における指定したポイントについて、指定したアトリビュートインデックスの線形補間されたVector値を返します。 返されたベクトルは、Houdiniの座標系からUnrealの座標系に変換されます。
|
Get Point Vector Value at Time by String |
指定した時間における指定したポイントについて、(名前で)指定したアトリビュートの線形補間されたVector値を返します。 返されたベクトルは、Houdiniの座標系からUnrealの座標系に変換されます。
|
Get Point Vector Value at Time Ex |
指定した時間における指定したポイントについて、指定したアトリビュートインデックスの線形補間されたVector値を返します。
|
Get Point Vector Value at Time Ex by String |
指定した時間における指定したポイントについて、(名前で)指定したアトリビュートの線形補間されたVector値を返します。
|
Get Point Velocity at Time |
指定した時間における指定したポイントの線形補間されたVelocityを返します。 返されたベクトルは、Houdiniの座標系からUnrealの座標系に変換されます。
|
Get Position |
ポイントキャッシュファイル内の指定されたサンプルインデックスのposition値を返します。 返された位置ベクトルは、Houdiniの座標系からUnrealの座標系に変換されます。
|
Get Position and Time |
ポイントキャッシュ内の指定されたサンプルインデックスのpositionおよびtime値を返します。 返された位置ベクトルは、Houdiniの座標系からUnrealの座標系に変換されます。
|
Get Quat Value |
ポイントキャッシュ内における、指定されたサンプルインデックスおよびアトリビュートインデックスのクォータニオン値を返します。 |
Get Quat Value by String |
ポイントキャッシュ内における、指定されたサンプルインデックスおよびアトリビュート名のクォータニオン値を返します。 DoHoudiniToUnrealConversion パラメータは、ベクトルをHoudiniの座標系からUnrealの座標系に変換する必要があるかどうかを示します。
|
Get Time |
ポイントキャッシュ内の指定されたサンプルインデックスのtime値を返します。
|
Get Vector4 Value |
ポイントキャッシュ内における、指定されたサンプルインデックスおよびアトリビュートインデックスのVector4を返します。 返されたベクトルは、Houdiniの座標系からUnrealの座標系に変換されます。
|
Get Vector4 Value by String |
ポイントキャッシュ内における、指定されたサンプルインデックスおよびアトリビュート名のVector4を返します。 返されたベクトルは、Houdiniの座標系からUnrealの座標系に変換されます。
|
Get Vector Value |
ポイントキャッシュ内における、指定されたサンプルインデックスおよびアトリビュートインデックスのベクトルを返します。 返されたベクトルは、Houdiniの座標系からUnrealの座標系に変換されます。
|
Get Vector Value by String |
ポイントキャッシュ内における、指定されたサンプルインデックスおよびアトリビュート名のベクトルを返します。 返されたベクトルは、Houdiniの座標系からUnrealの座標系に変換されます。
|
Get Vector Value Ex |
ポイントキャッシュ内における、指定されたサンプルインデックスおよびアトリビュートインデックスのVector3を返します。 DoSwap パラメータは、ベクトルをHoudiniの座標系からUnrealの座標系に変換する必要があるかどうかを示します。 DoScale パラメータは、Vector値をメートル(Houdini)からセンチメートル(Unreal)に変換する必要があるかどうかを決定します。
|
Get Vector Value by String |
ポイントキャッシュ内における、指定されたサンプルインデックスおよびアトリビュート名のVector3を返します。 DoSwap パラメータは、ベクトルをHoudiniの座標系からUnrealの座標系に変換する必要があるかどうかを示します。 DoScale パラメータは、Vector値をメートル(Houdini)からセンチメートル(Unreal)に変換する必要があるかどうかを決定します。
|
Get Velocity |
ポイントキャッシュ内における、指定されたサンプルインデックスおよびアトリビュート名のVector3を返します。 ポイントキャッシュ内の指定されたサンプルインデックスのVelocity値を返します。 返されたVelocityベクトルは、Houdiniの座標系からUnrealの座標系に変換されます。
|