Waterプラグインを使ってみます(・ω・)
今回は4.26で追加される。
WaterプラグインのFluid(流体シミュレーション)を使って、
波や流体の揺れなどを表現していきたいと思います。
下の公式の動画を参考に行いました!!
※UE4の4.26Preview7を使用しています(^ω^)
※サードパートンブループリントのプロジェクトから作成しています。
※まだ試験的な運用となっています。
※間違った説明などをしていたらコメント欄に記載してください。
Waterプラグインの有効化
まずWaterプラグインを有効化しないことには始まらないので、
Waterプラグインとそれに必要なLandmassプラグインを有効化します。
※landで検索するとどちらも表示されます。
地形の設定と波を発生させる場所の準備
まずは波を発生させるにも、
それを表現する場所がなければいけないので、
landscapeで地面を作成します。
エディタ上部のツールバーのモードを選択してランドスケープを選択します。
「編集レイヤーを有効化」にチェックを入れてから作成ボタンを押してください。
※マテリアルはスターターコンテンツありの場合に追加される、
M_Ground_Grassを使用しています。
設定が完了したら右下の作成ボタンを押して地形を作成します。
作成が完了したらツールバーのモードを「選択」にして、
アクタの配置タブからを選択し「Water」と検索します。
するといくつかのアクタ情報が表示されます。
今回使用するのはWaterBodyLakeを使用してみます。
ドラッグアンドドロップでレベル上に配置しましょう。
配置してビルドすると下のようになるかと思います。
※Waterプラグインの使い方は他の方が紹介していますので、
説明を省略させていただきます。
地形の設定と波を発生させる場所の準備は完了になります。
実際に波を表示させる。
それでは実際に波を発生させていきます。
波を発生させるにはWaterプラグインの中にある、
流体シミュレーションの制御をメインに行うBP_FluidSim_01と、
波を実際に発生させるサンプル用のBPを使います。
表示オプションでプラグインの表示ができるようにします。
上の画像のように設定するとWaterコンテンツという
フォルダを選択できるようになります。
波の設定はFluidSimulationフォルダ内に格納されています。
それ以外にもNiagara やマテリアルなど必要なファイルはこちらに格納されています。
FluidSimulationのBluePrintsフォルダにある、BP_FluidSim_01をレベルに配置します。
BP_FluidSim_01を配置して波のシミュレーションが
適応される広さや高さを指定します。
ブループリント詳細のシミュレーション項目にShow Simulation Meshがあるので、
チェックを入れてどれぐらい必要か自身の環境に合わせてください。
広さを変更するにはシミュレーション項目のSimulation World sizeで設定します。
次にどのアクタを対象にシミュレーションを実行するのか指定します。
Wave Simlation項目の「Simulate Wave Foam」のチェックを入れて、
「Water body」で先ほどの湖を指定してあげます。
シミュレーター側であるBP_FluidSim_01の設定は以上です。
実際に波を発生させる設定を行う前に、
Rakeの波を消したほうが分かりやすいので抑えるようにします。
追加した湖のアクタを選択してWaveの設定を表示します。
WavesSourceをNoneにすればOKです。
それから流体シミュレーションの表現をシミュレーションの項目があります。
こちらを「Shallow Water」に変更します。
※Shallow Waterとは浅瀬の波しぶきを表現するようなもの
これで地形と波を発生させるシミュレーションの設定は完了です。
続いて波を発生させるためのブループリントを配置します。
FluidSimulationのBlueprintsのExample内に波の衝撃を発生させるための、
アクタ情報がいくつか用意されています。
今回はBP_Dynamic_Force_skelMeshとBP_Fluid_Impulse_Repeatingを使います。
まずはBP_Fluid_Impulse_Repeatingを設定して配置してみます。
波を発生させたい箇所に配置して下の画像の設定箇所を変更します。
簡単な設定は下記になります。
※細かい設定はブループリント内で編集できます。
Impulse Every N Secound:波を発生させる間隔
Force Radius:波の広がりの広さ
Force Strength:波しぶきの強さ
実際にStrengthを変更すると見た目がだいぶ変化します。
Strengthを100にすると波紋やしぶきの表現もだいぶ変化します。
今度はBP_Dynamic_Force_skelMeshを試してみます。
こちらはスケルタルメッシュのソケットの位置と
キャラの動きに応じて波を発生させています。
設定の箇所についてはBP_Fluid_Impulse_Repeatingとほぼ同様ですが、
スケルタルメッシュの情報やソケットの情報などを渡しています。
実際に動かすと下のTwitterのような形になります。
UE4の4.26で追加されるWaterプラグインのFluidの実験!
— よしかた (@yoshikata_game) 2020年11月15日
波紋とか一瞬出る水しぶきがすごくよくできていて素晴らしい!! #UE4 #Fluid pic.twitter.com/OnYAerMDPn
以上でWaterのFluidSimulationで波を発生させる簡単な説明は完了になります。
ブループリントや細かい解説はUE4の4.26リリース後に行いたいと思います。