メインコンテンツへスキップ
  1. 記事/

UE5でTessellationを使う

UnrealEngine UE5.2 GeometryScripting

UE5 で Tessellation を使う方法について書きます

UE5 での Tessellation について #

UE4 から続けて使っている人にとって、Tessellation といえば Material の Tessellation だと思います
残念ながら、MaterialTessellation は UE5 で廃止されました

おそらく、Nanite と競合するからかな、と予測しています
Nanite も Tessellation ステージで動作するため、両立が難しかったのかなと

ただし、UnrealEngine 内で Tessellation の効果を受けられない、というわけではないです
GeometryScripting を使って動的に分割数を上げてみましょう

GeometryScripting による Tessellation #

GeometryScript を使って Tessellation を実行します

GeometryScripting についての説明はこの記事では行いません

DynamicMeshActor を継承した Actor を作成します
ConstructionScript で、下記のように記述しましょう

Source Mesh は StaticMesh の変数です InstanceEditable にしておきます

Tessellation

ノードを配置したら、Level 上に配置して、SourceMesh と、DynamicMesh の Material を設定します
結果は画像を参照してください
右がもとの Mesh、左が Tessellation を実行した Mesh です

Result

Material で Tessellation を行っていたのと同様に Tessellation による分割が行えました

UE4 のときの MaterialTessellation と違う点は、距離が離れても分割数が減らない点です
なので、形が崩れない反面、離れても負荷が減らないことには注意が必要です

負荷が気になるのであれば、この状態から StaticMesh を生成し、NaniteMesh として扱うほうが良いでしょう
DDC では重くなるので大量の頂点を扱いたくない…という場合には有用かと思います

ランタイムで使用する場合 #

チュートリアルドキュメントでは GeneratedDynamicMeshActor を継承して使うものが多いですが、
この Actor は EditorOnly なので、パッケージに含まれません

なので、GeometryScripting の結果をランタイムで使用したい場合は、その親の DynamicMeshActor を継承して使う必要があります

参考文献 #

Related

PICO4のLivePreviewをセットアップする
UnrealEngine UE5.1 VR PICO4
UnrealEngine5でPICO4の開発環境をセットアップする
UnrealEngine UE5.1 VR PICO4
PICO4をOpenXR準拠で開発する
UnrealEngine UE5.1 VR PICO4