ランダムに生成されたフォリッジ

Foliage ブループリントの概要

Choose your operating system:

Windows

macOS

Linux

Foliage.png

Foliage ブループリントは、ランダムに生成されるフォリッジ (もしくは潜在的にその他の構造) の作成にブループリントを使用する方法を示します。フォリッジは表面に同化させて自動的に配置されます。ユーザーは、影響の及ぶ範囲とシステムによるスポーンの試行回数を制御することができます。ブループリントを移動させると、新しい環境に再同化するためメッシュを更新します。

システムは設定半径を受け取り、潜在的なスポーン地点として利用するために、半径内でランダムに生成された点を選択するのが一目で理解できます。そしてサーフェスが各点の真下の位置を探すために下方へトレースチェックを実行し、潜在的な位置として利用します。システムは、過度なメッシュの重複を防ぐために各メッシュの個々の半径もチェックします。そして現在位置が十分な広さで無い場合、メッシュの新しい位置をランダムに選択します。

ブループリントの設定

このブループリントのコンポーネント リスト、コンストラクション スクリプト、そしてイベント グラフで実行されるタスクは以下の通りです。

ブループリントの特性

目的

コンポーネント リスト

構成する半径をビジュアル化するために中心と BoxComponent を表す BillboardComponent を追加します。

コンストラクション スクリプト

コンストラクション スクリプト は以下のタスクを実行します。

  • ビジュアル化の支援のために BoxComponent をスケーリングします

  • 半径内のランダムな位置に設定数のフォリッジ メッシュを作成するためにループを使用します。

  • メッシュのスポーンおよびその方法を決定するためにさまざまな状況をチェックします。

イベント グラフ

このブループリントにはイベント グラフがありません。つまり、一度設定されたプロパティがゲームプレイ中ずっと使用されます。

この画像は、フォリッジを生成するために使用されたブループリント スクリプトの例です。フル スクリプトについては、Epic Games Launcher の [Learn] タブから Blueprint サンプル プロジェクトを参照してください。

編集可能な変数

ご推察の通り、このブループリントのほとんどの作業は、非常に広範囲に渡って コンストラクション スクリプト で行います。主な公開プロパティとその目的は以下の通りです。

MyBlueprintNoVar.jpg Properties_Foliage.png

プロパティ

目的

Number of Meshes

ブループリントがスポーンを試みるメッシュの数を示す整数値です。コンストラクション スクリプトにおけるこの値は、 ForLoop ノードがトリガーする回数を決定します。 ForLoop ノードが送信するそれぞれの実行は、スタティックメッシュの作成を担当するスクリプトの一部を通過します。

Radius

フォリッジがランダムに散乱して影響を及ぼす半径を制御します。

Collision Trace Range

フォリッジのスポーンに有効なサーフェスを検索する垂直距離 (システムが検索する深さ) です。

Meshes To Spawn

コンテンツ ブラウザからのメッシュを追加することができる配列変数です。コンストラクション スクリプトがメッシュ コンポーネントをスポーンした後に、メッシュ コンポーネントはこの配列からランダムに選択されたメッシュへ変更されます。

Vertical Offset

サーフェスからメッシュのスポーン 距離 を制御します。メッシュがより接地して表示されます。

Align To Surface

配置されているサーフェスの角度と一致させるなど、ブループリントにスポーンされたメッシュを正しい位置に配置する Boolean 値です。内部では、この変数は、フォリッジ メッシュの配置方法を決定するコンストラクション スクリプトのブランチに影響を及ぼします。有効な場合、スクリプトは各メッシュをスポーンする前にトレース線を描きます。トレース線がサーフェスにぶつかると、衝撃点の角度及び高さが読み出され、スポーン中のメッシュの角度および高さに使用されます。

Scale Max

スポーンされるメッシュに許容される最大スケーリングです。0.0 から 1.0 のパーセンテージ値です。値 1.0 は 100 % を表します。

Scale Min

スポーンされるメッシュに許可される最低スケーリングです。0.0 から 1.0 のパーセンテージ値です。値 1.0 は 100 % を表します。

Cluster Around Center

任意選択されたメッシュの位置を、最初に半径の中心付近にするかどうかを決定する Boolean 変数です。このオプションが有効になると、中心点からスポーンできるメッシュの距離が任意の量で縮小されて、システムが半径から遠ざかるにつれてスポーンされるメッシュ量が少なくなる要因となります。

Scale Falloff

中心点から遠ざかるにつれてスポーンされたメッシュをより小さくするかどうかを決定する Boolean 値です。中心からのメッシュの距離に由来する値で、メッシュのスケーリングを乗算するかどうかを決める Boolean 値です。フォリッジ メッシュの生成にブループリントを使用すると、草や花の規模がグループの外端周りで次第に減少するにつれてメッシュの一群はより自然な外見となります。

Random Seed

ランダム値の作成に適用するシードを制御します。この値を変更して結果を変更します。

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル