フォリッジ モード はツール セットです。フィルタで選別したアクタやジオメトリ上の スタティック メッシュ フォリッジ または アクタ フォリッジ のセットをすばやくペイントしたり、消去したりできます。このモードを使用すると、短時間で広大な屋外環境をフォリッジで覆うことができます。
![Foliage Cottage](https://d1iv7db44yhgxn.cloudfront.net/documentation/images/c6b8c202-8b81-4f2d-89c3-30ef96d3c2ba/foliage-cottage.jpg "")
動作している フォリッジ ツールの例については、「ランドスケープ 機能別サンプル」プロジェクトの「フォリッジ」セクションを参照してください。
フォリッジ編集モード
フォリッジ ツールを使用するには、[Modes (モード)] ドロップダウン メニューの [Foliage (フォリッジ)] オプション (Shift+3) をクリックします。
これにより、[Foliage (フォリッジ)] パネルが開きます。
フォリッジ モード パネル
番号 | 説明 |
---|---|
1 | ツール パレット |
2 | ブラシ オプション |
3 | フィルタ オプション |
4 | フォリッジ パレット |
5 | フォリッジの詳細 |
フォリッジ タイプ
[Add Foliage Type (フォリッジタイプを追加)] ドロップダウン メニューを開いて、以下を追加します。
フォリッジ タイプ | 説明 |
---|---|
Actor Foliage (アクタフォリッジ) | シーンにブループリント インスタンスまたはネイティブ アクタ インスタンスを配置するフォリッジ タイプ。高密度のフォリッジはパフォーマンスの問題につながることがあります。 |
Static Mesh Foliage (スタティック メッシュ フォリッジ) | メッシュのインスタンス化を使用するフォリッジ タイプです。このタイプは、非破壊フォリッジに最適です。 |
フォリッジ編集モードで配置されたスタティック メッシュは、ハードウェアのインスタンス化を使用してレンダリングされるバッチに自動的にグループ化されます。ハードウェアのインスタンス化では、1 度のドローコールで多数のインスタンスをレンダリングできます。また、アクタ フォリッジは、通常のアクタをシーンに配置する際にかかるものと同じレンダリングの負荷がかかります。
フォリッジ モードを使用する
フォリッジ モードはツール セットで、フォリッジをランドスケープや他のフィルタ対応アクタに直接ペイントするために使用されます。
Foliage ツール
ツール | 説明 |
---|---|
Select (選択) | 個別のフォリッジ インスタンスを選択します。Ctrl キーを押しながらフォリッジ メッシュをクリックすると、一度に複数のフォリッジ メッシュを選択できます。 |
All (すべて) | すべてのフォリッジインスタンスを選択します。 |
Deselect (選択を解除) | 現在の選択を解除します。 |
Invalid (無効) | 無効なフォリッジ インスタンスを選択します。 |
Lasso (ラッソ) | ブラシでペイントされた対象から、選択フォリッジ タイプのフォリッジ インスタンスを選択します。 |
Paint (ペイント) | 選択したフォリッジ タイプのインスタンスをペイントします。Shiftキーを押したままペイントすると、選択したフォリッジ タイプのインスタンスを消去します。 |
Reapply (再適用) | ワールドにすでに配置されているフォリッジ インスタンスの各パラメータを選択して、変更できます。次のとおり使用します。
|
Single (単一) | 選択したフォリッジ タイプの単一インスタンスをペイントします。 |
Fill (塗りつぶし) | フォリッジ インスタンスで選択したターゲットを塗りつぶします。 |
Erase (消去) | ブラシでペイントされた対象から、選択したフォリッジ タイプを消去します。 |
Remove (削除) | 選択したフォリッジ インスタンスを削除します。 |
Move (移動) | 選択したフォリッジ インスタンスを現在のレベルに移動します。 |
ブラシ オプション
[Brush Options (ブラシ オプション)] セクションはコンテキストに応じて変わり、次の 1 つまたは複数のオプションが含まれます。
オプション | 説明 |
---|---|
Brush Size (ブラシ サイズ) | フォリッジ ブラシのサイズを調整します。 |
Point Density (点密度) | 選択ツールで影響を受けるフォリッジの密度を調整します。選択したフォリッジ タイプの詳細にある Density プロパティの乗数です。 |
Erase Density (消去密度) | Shift キーを押したまま消去すると、残っているフォリッジの密度を調整します。 |
Single Instance Mode (シングル インスタンス モード) | オンにすると、カーソル位置で単一フォリッジ インスタンスをペイントします。2 種類のモードで使用できます。
|
Place in Current Level (現在のレベルに配置) | オンにすると、選択フォリッジ タイプのインスタンスを現在のレベルに配置します。オフでは、ペイント対象のメッシュやアクタを含むレベルに、選択フォリッジ タイプのインスタンスを配置します。 |
フィルタ設定
[Filter (フィルタ)] セクションを使用すると、選択ツールに影響する対象サーフェスとどのフォリッジ タイプが現在アクティブなのかをコントロールできます。これは新しいフォリッジ タイプが追加されるメニューのセクションでもあります。
オプション | 説明 |
---|---|
Landscape (ランドスケープ) | 選択フォリッジ タイプをランドスケープに配置します。 |
Static Mesh (スタティック メッシュ) | 選択フォリッジ タイプをスタティック メッシュに配置します。 |
BSP | 選択フォリッジ タイプを BSP ジオメトリに配置します。 |
Foliage (フォリッジ) | 他をブロックするフォリッジ ジオメトリに選択フォリッジ タイプを配置します。 |
Translucent (透過処理) | 選択フォリッジ タイプを半透明ジオメトリに配置します。 |
Mesh List (メッシュ リスト) | フォリッジとして使用されるスタティック メッシュやアクタ フォリッジが配置されている領域です。 フォリッジ タイプにマウス ポインタを合わせると、ツールを使用するときにそのフォリッジ タイプの有効/無効を切り替えるチェックボックスが表示されます。 1 つまたは複数のフォリッジ タイプをクリックすると、メッシュ リスト領域の下にあるフォリッジの詳細領域に詳細情報が表示されます。 |
Foliage Details (フォリッジの詳細) | 選択フォリッジ タイプの詳細を表示する領域。スタティック メッシュ フォリッジやアクタ フォリッジの動作をカスタマイズする各種プロパティが含まれます。 |
メッシュ リストにフォリッジ タイプを追加する手順の詳細については、「フォリッジのランドスケープ アクタへの追加」を参照してください。
カリング設定
フォリッジ インスタンスは 1 度のドローコールでクラスタとしてレンダリングされるため、各クラスタはオクルージョンに基づいてレンダリングされたり、レンダリングされなかったりします。フォリッジの詳細の End Cull Distance パラメータに値を設定すると、その距離を超えるクラスタもカリングされます。ただし、これにより、クラスタの一部が範囲外でも全体に影響するため、メッシュのグループが突然表示されなくなります。
このような状況は、Start Cull Distance パラメータを追加してから、適宜マテリアルを設定することで軽減できます。頂点シェーダでは、インスタンス単位のフェーディング係数 (開始距離 1.0 から終了距離 0.0 まで) が計算されます。これは、PerInstanceFadeAmount ノードを使用してマテリアルでアクセスできます。これをオパシティ値またはマスキング値に接続すると、Cull Distance End に到達してレンダリングから削除される前に、この係数を使用して特定の距離にわたってインスタンスをフェーディングできます。FadeMultiplier パラメータの値を小さくすると、フェードの速度が上がります。値をゼロにすると、どの距離でもフォリッジが見えなくなります。
次のサンプル マテリアルでは、フェード係数によってマテリアルのマスクが乗じられています。その結果、フォリッジ メッシュの葉が、完全に消えるまで間引かれていきます。
Nanite 対応メッシュは、カリング距離やインスタンス フェーディングの影響を受けません。
LOD 設定
フォリッジではスタティック メッシュ LOD がサポートされています。これには次のような注意事項があります。
- スタティック メッシュは Elements 配列への入力が 1 つだけになっていることを確認してください (LOD0 で表示可能)。
- ライトマップとシャドウ マップはすべての LOD レベルで共有されるため、すべての LOD は同じアンラップを使用する必要があります。
- 現在、インスタンスのクラスタ全体で LOD が同時に変更されます。将来、インスタンスごとの距離ベースのフェーディングがサポートされる可能性があります。
ライティング
シャドウ マップやライト マップは各インスタンスの必要に応じて、ライトマスで個別に生成されます。さらにこれらは各事前計算バッチに対して、タイルで並べられます。スタティック メッシュには、事前計算されたライティングがインスタンス化されたフォリッジで適切に動作するように、確認する必要のある設定がいくつかあります。インスタンス化されたメッシュのシャドウ マップを生成する場合ライトマスはあまり柔軟性がありません。また、設定を誤ると、ライティングの再ビルド後に、黒いメッシュが生成されることがあります。
- Light Map Coordinate Index (ライトマップ座標インデックス):これは、一意の UV アンラップを持つ有効な UV チャンネルに設定する必要があります。スタティック メッシュ エディタの [Generate Unique UV (一意の UV を生成)] 機能 ([Window (ウィンドウ)] メニューからアクセス可能) を使用すると、独自のアンラップをすばやく生成できます。
- Lightmap Resolution (ライトマップ解像度):これは、単一のクラスタにあるインスタンスのすべてのシャドウ マップ (デフォルトでは 100) を、最大テクスチャ解像度 (4094x4096) を超えることなくまとめてタイリングできる小さい数値に抑える必要があります。
Foliage Scalability (フォリッジのスケーラビリティ)
フォリッジ スタティック メッシュは、スケーラビリティ システムを使用して、現在画面にレンダリングされているフォリッジ インスタンスの量を増減できます。
プロジェクト内でこの機能を使用するには、以下を実行します。
-
フォリッジ メッシュ リスト に移動し、フォリッジ タイプ を選択します。
-
フォリッジの詳細 では、[Scalability (スケーラビリティ)] セクションを見つけます。
-
[Enable Density Scaling (密度スケーリングの有効化)] チェックボックスをオンにします。
ランタイム時にレンダリングするフォリッジの密度を foliage.DensityScale
コマンドでコントロールできます。
以下のように、foliage.DensityScale
設定を「0.1」、「0.2」、「0.3」、「0.4」、「0.5」、「0.6」、「0.7」、「0.8」、「0.9」、「1.0」に設定して、フォリッジ密度を変更できます。
フォリッジをワールド パーティションとともに使用する
World Partition マップでは、フォリッジ インスタンスのデフォルト グリッド サイズは 256 メートルです。これは World Partition グリッド サイズと別のものです。
新しいマップのインスタンス化フォリッジ グリッドのデフォルト サイズを変更するには、以下を実行します。
- [Edit (編集)] メニューを開いて [Project Settings (プロジェクト設定)] オプションを選択し、プロジェクト設定を開きます。
- 検索ボックスで、「Foliage」を検索します。
- Instanced Foliage Grid Size (インスタンス フォリッジ グリッド サイズ) の値を希望する値 (センチメートル単位) に変更します。前の例では、25600 センチメートル、つまり 256 メートルです。
既存のマップのデフォルト グリッドサイズは次のように World Partition Builder Commandlet で変更できます。
フォリッジ インスタンスのデフォルト グリッド サイズを変更するには、以下を実行します。
-
Windows で、コマンド プロンプト ウィンドウを開きます。
-
まず、プロンプトで「
UnrealEditor.exe
」実行ファイルが格納されているディレクトリに移動します。前の例では、c:\Builds\Home_UE5_Engine\Engine\Binaries\Win64
です。 - 次に、コマンドの先頭にコマンドレットを実行する .exe ファイルの名前
UnrealEditor.exe
を指定します。 -
プロジェクト名を追加します。ここでは、
QAGame
です。 -
ターゲット マップの名前を追加します。
-
最後にコマンドレットの名前と次の引数をコマンドに追加します。
-run=WorldPartitionBuilderCommandlet
はコマンドレットの名前。-Builder=WorldPartitionFoliageBuilder
はコマンドレット内のビルダーの名前。-NewGridSize
はインスタンス化フォリッジ グリッドの新しい値 (センチメートル単位)。この例の値 51200 は、512 メートルを表します。
- Enter を押すと、このコマンドレットにより、指定マップに対するフォリッジ インスタンス グリッド設定が変更されます。
ランドスケープにフォリッジを追加する
1 つまたは複数タイプのフォリッジを直接 Landscape アクタにペイントすることは、屋外環境に詳細な外観をすばやく追加する優れた方法です。
-
レベルにアクタがまだない場合、新しい Landscape アクタを作成することから始めます。丘をスカルプトして、コントラストを生み出します。Landscape アクタの作成や作業の詳細については、ランドスケープ クイック スタート ガイドを参照してください。
- [Modes (モード)] ドロップダウンを開き、[Foliage (フォリッジ)] モードを選択します。また、ホットキー Shift + 3 を押すことでも有効にできます。
-
コンテンツドロワー で、スタティックメッシュ キューブ など、フォリッジ タイプとして使用する、スタティック メッシュの場所に移動します。コンテンツドロワー の スタティック メッシュ をクリックして、[Foliage (フォリッジ)] パネルの メッシュ リスト にドラッグします。
-
[Paint (ペイント)] ツールを選択します。[Brush Options (ブラシオプション)] の [Brush Size (ブラシサイズ)] を「128」に設定します。[Paint Density (ペイント密度)] を「0.3」に設定します。
-
メッシュ リスト で スタティック メッシュ を選択します。フォリッジの詳細 の [Paint (ペイント)] セクションで、[Radius (半径)] の値を「100」に変更します。この例では、ランドスケープでペイントされるキューブのインスタンスが必ずオーバーラップされます。
-
次に、[Scale X] の [Min] 値を「0.4」に、[Max] 値を「0.8」に設定します。フォリッジをペイントするときにサイズの多様性が生まれます。
-
ビューポートで、LMB をクリックしたままドラッグして、ランドスケープ にフォリッジをペイントします。
フォリッジ インスタンスを再アタッチする
フォリッジ インスタンスを、基本コンポーネントからデタッチすることがあります。たとえば、フォリッジの配置が適切だが、ベースのランドスケープの変更が必要になる場合があります。
フォリッジをベースのコンポーネントに再アタッチするには、次のステップに従います。
- フォリッジ モードで、再アタッチするフォリッジ インスタンスを選択します。
- ビューポートで、選択インスタンスをターゲット コンポーネントの上に移動します。
- End キーを押して、フォリッジを地面にスナップします。これによりフォリッジ インスタンスがターゲット コンポーネントに再ペアレント化します。[Align to Normal (法線に整列)] オプションを使用して配置されていた場合、コンポーネントの法線に基づいて、フォリッジはコンポーネントに合わせて整列されます。この設定は、フォリッジ タイプの詳細の [PLACEMNT (プレースメント)] セクションにあります。