Water システムには、ブループリント Buoyancy コンポーネントが含まれています。これは、球体 (ポントゥーン) を使用して水面と相互作用するオブジェクトの単純なボリュメトリック近似値を作成します。この近似値は、浮力を使用して同時に複数のオブジェクトをサポートすることができる低コストのソリューションを提供します。
Water Buoyancy ブループリントの例
Water プラグインには独自のサンプル コンテンツがあり、使用したり試したりすることができます。これには、キューブ状のスタティックメッシュを使用した Buoyancy コンポーネントが設定されているブループリントが含まれます。キューブを水面でバランスよく、真っすぐな状態にするために、ブループリントは 4 つのポントゥーンを使用して設定されています。
Buoyancy のサンプル ブループリントは [Engine (エンジン)] > [Plugins (プラグイン)] > [Water Content (Water コンテンツ)] > [Blueprints (ブループリント)] の下にあり、「BP_BuoyancyExample」という名前が付いています。そのサンプルを任意の Water Body のサーフェス上にドラッグアンドドロップします。[Play (プレイ)] または [Simulate (シミュレート)] をクリックすると、次のサンプルのように自動的に水面に合わせてぷかぷかと浮きます。
ブループリントに Water Buoyancy を設定する
次の手順は、Buoyancy コンポーネントを使用する独自のブループリントの設定方法と使用方法を示しています。
コンテンツ ブラウザ で、新しい ブループリント クラス を作成し、Actor クラスを選択して名前を付けます。このガイドでは、「BuoyancyExampleBP」を使用します。
ブループリントを開きます。[Components (コンポーネント)] パネルで [Add + (追加 +)] ドロップダウンをクリックし、[Static Mesh (スタティックメッシュ)] を選択します。
Static Mesh コンポーネントを選択します。[Details (詳細)] パネルでメッシュを [Static Mesh] 割り当てスロットに割り当てます。
このガイドの図とまったく同じように作業を進める場合は、使用されているメッシュをダウンロードできます。ダウンロードしたメッシュを直接 コンテンツ ブラウザ にドラッグアンドドロップしてください。
[Details] パネルで [Simulate Physics (物理シミュレーション)] を有効にして、[Physics (物理)] カテゴリの下の [Mass (kg) (質量 (kg))] の隣にあるチェックボックスをオンにします。
Buoyancy コンポーネントが機能するには、[Mass (kg)] が有効になっている必要があります。
[Components] パネルで、[Add +] ドロップダウン メニューを使用して Buoyancy コンポーネントを追加します。
Buoyancy コンポーネントを選択します。[Buoyancy Data (浮力データ)] の下にある [Details] パネルで、メッシュを水面に浮かべる ポントゥーン をいくつか追加します。最初に、[Add (+)] アイコンをクリックしてポントゥーンを 1 つ追加します。
次のように、配列に新しいポントゥーン要素が追加されます。
さらに 3 つ の ポントゥーン を配列に追加して、配列要素を全部で 4 つにします。[Relative Location (相対位置)] を使用してこれらのポントゥーンをメッシュの前後に配置し、水面で安定させます。
Index 0 (後ろの左側): 660、370、0
Index 1 (後ろの右側): 660、-370、0
Index 2 (前の左側):-220、370、0
Index 3 (後ろの右側): -220、-370、0
相対位置を入力しても、ポントゥーンは視覚化されません。ただし、Static Mesh Sockets および Center Socket タグを使用して特定の位置データを入力せずにポントゥーンを配置したり、ブループリントに Scene コンポーネントを追加してその位置をポントゥーンの相対位置に手動でコピーしたりすることができます。
ブループリントの [Components] パネルで、StaticMesh コンポーネントをクリックして DefaultSceneRoot までドラッグし、新しい Root コンポーネントにします。
Buoyancy コンポーネントが適切に機能するには、Static Mesh がルートである 必要があります。
Buoyancy ブループリントをレベルにドラッグアンドドロップし、水面上に配置します。[Play] または [Simulate] を押して結果を確認します。
Buoyancy コンポーネントのプロパティ
Buoyancy コンポーネントには次のようなプロパティがあります。これらはポントゥーンが水面と相互作用する方法についての物理を制御します。
クリックしてフルサイズで表示。
次のプロパティは、Buoyancy コンポーネントを選択すると [Buoyancy] セクションのブループリントの [Details] パネルで使用できます。
プロパティ |
説明 |
---|---|
Pontoons |
コンポーネントのボリュームを概算するためにコンポーネントに追加されるさまざまな半径の利用可能なポントゥーンの配列。
|
Center Pontoons on COM |
有効にすると、相対位置を使用している場合に重心を軸にポントゥーンを揃えます。これは、ソケットを使用してポントゥーンの位置を指定している場合は使用されません。 |
Buoyancy Coefficient |
各ポントゥーンに適用されている浮力を増加します。 |
Buoyancy Damp |
Z ベロシティに基づいて減衰をスケールする減衰係数。 |
Buoyancy Damp 2 |
Z ベロシティに基づいて減衰をスケールする 2 番目の減衰係数。 |
Buoyancy Ramp Min Velocity |
浮力に傾斜を適用し始める最小ベロシティ。 |
Buoyancy Ramp Max Velocity |
浮力が上昇できる最大ベロシティ。 |
Buoyancy Ramp Max |
浮力が上昇できる最大値 (最大ベロシティ以上)。 |
Max Buoyant Force |
上方向への最大浮力。 |
Water Shore Push Factor |
オブジェクトを岸辺に向けて押す係数 (主にパフォーマンス面の理由によります)。 |
Water Velocity Strength |
Water Body River で力を適用する係数。 |
Max Water Force |
Water Body River によって適用される最大のプッシュ フォース。 |
Apply Drag Forces in Water |
水中を移動するオブジェクトに抗力を適用するかどうかを指定します。 |
Drag Coefficient |
速度に基づいてリニアの抗力を適用するための係数。 |
Drag Coefficient 2 |
速度の 2 乗に基づいてリニアの抗力を適用するための係数。 |
Angular Drag Coefficient |
オブジェクトの回転に抵抗する角度抗力を適用するための係数。 |
Max Drag Speed |
抗力が適用される最大速度。 |
Apply River Forces |
エンジンが下流へのプッシュや岸辺へのプッシュなど、川の力を適用するかどうかを指定します。 |
River Pontoon Index |
ポントゥーンの水力を計算するリスト。横方向のプッシュやプルを計算し、可能な場合は下流への計算から主力計算の水のベロシティを取得するために使用します。 |
Water Shore Push Factor |
川でオブジェクトを岸辺に向けて押す係数 (主にパフォーマンス面の理由によります)。または、マイナスに設定して川の中央へプッシュします。 |
River Traversal Path Width |
オブジェクトが横断する川の内側に沿ったパスの幅。 |
Max Shore Push Force |
川によって端または中央に向かって適用される最大プッシュ フォース。 |
Water Velocity Strength |
川でプッシュ フォースを適用する係数。 |
Max Water Force |
川によって適用される最大プッシュ フォース。 |
Always Allow Lateral Push |
有効にすると、川を前進する速度に関係なく、オブジェクトを横方向にプッシュすることができます。 |
Allow Current when Moving Fast Upstream |
有効にすると、高速で上流に向かって進むときに水流を適用します。車両の場合は無効にすると、より詳細に制御できます。 |
Apply Downstream Angular Rotation |
有効にすると、川の下流方向に沿ってオブジェクトを並べるために回転力を適用します。 |
Downstream Axis of Rotation |
下流への角度回転の位置を揃えるオブジェクトに関する軸。 |
Downstream Rotation Strength |
下流への角度回転を適用する強度。 |
Downstream Rotation Stiffness |
下流の方向に沿ってオブジェクトの位置を揃えるために使用されるスプリングの剛性。 |
Downstream Rotation Angular Damping |
下流の方向に沿ってオブジェクトの位置を揃えるために使用されるスプリングの減衰。 |
Downstream Max Acceleration |
下流への回転を更新するたびに適用する最大回転力。 |
Water Buoyancy をデバッグする
Buoyancy コンポーネントと水面との相互作用は、コンソール コマンド「r.Water.DebugBuoyancy 1
」を使用してデバッグできます。各ポントゥーンは、水面と相互作用するポイントのグリッドに沿って描画されます。
次の例では、さまざまな間隔やサイズのポントゥーンを使用して、いくつかの形状やボートのメッシュを示しています。