LoginSignup
0
0

[UE5] Procedural Content Generation(PCG)を触ってみた①

Last updated at Posted at 2023-08-25

HighresScreenshot00000.png

今回はUnreal Engine 5.2の新機能PCGのグラフとノードを簡単に紹介する記事です。

PCG(Procedural Content Generation)とは、ノード形式でシーンを動的に作成できる機能です。

準備

  1. PCGのプラグインをオンにして再起動
    image.png
  2. ランドスケープと配置用のアセットを用意します(試したところLandmassとの併用可)

本記事はこちらのアセットパッケージを使用しました。
https://www.unrealengine.com/marketplace/ja/product/advanced-village-pack

  1. PCGVolumeをマップに追加し、PCG Graph Instanceを作成しアサイン
    image.png
    準備が整ったらGraphアセットを開きます

ノード解説

シンプルなグラフで少しずつ説明していきます
image.png
ランドスケープにメッシュをランダムな位置に配置するグラフ

1) Get Landscape Data

 ランドスケープのデータを取得するノード。グラフのInputノード→Landscapeを使っても同じ効果がありますが、UE5.3ではDeprecatedとなっているため専用ノードを使います。

2) Surface Sampler

image.png
Surface(ランドスケープ入力)からランダムの点群を作成するノード。

Extent入力は自作Vector関数で、一つのポイントのサイズを調整しています。関数にしなくてもグラフ内で設定できますが、関数にすればアクターから直接に調整できるようになります。

ポイントのランダム性を調整するパラメーター:

  • Points Per Squared Meter (1平方メートルで何回ポイント配置するのか、1より下の数字は確率になります)
  • Looseness(配置の緩さ?サンプリングスケールみたいなもので、大きければ配置の全体スケールが拡張されます)

Point Extents より小さく配置されないので要注意です
(追記:Point Extentsをメッシュのサイズにするときれいに配置できる場合が多いです)

3) Transform Points

image.png
ポイントをさらに微調整するためのノード。ここではZ軸の回転をランダムになるよう調整しました。
Absolute にチェックを入れていないので調整していない数値はSurface Samplerから引き継がれます。

4) Static Mesh Spawner

image.png
ポイントの位置にメッシュを配置するノード。ここでは草のメッシュを3種類用意しました。この3種類のWeight値で配置されるメッシュが決められます。全部1の場合は均等に配置されます。

以上の実行結果がこちら
image.png

以上のグラフを別のメッシュで重ねて設定し、
ポストプロッセスを調整したら簡単にミステリアスな森が作れます

グラフ
image.png

Extentサイズや密度が違うメッシュでは個別のSurface Samplerで設定を変えています

最終結果
HighresScreenshot00000.png

終わりに

 簡単なグラフでここまでできてシーンのブロックアウトがしやすく、極めれば非常に強力なツールだと感じました。今回はPCGの一番基本な部分しか触れておらず、スプラインに沿って配置することや、Blueprintとの連携など複雑なこともできますので、今後の記事でまた他の機能も紹介したいと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0