シンプルスタイライゼーション

13.5K Views

August 15, 24

スライド概要

第2回 Unreal Engine KYUSHU LT会 in 鹿児島での講演資料になります。
UnrealEngine5の基本機能でシンプルにスタイライゼーションを実現する方法について解説しました。

profile-image

Unreal Engineを開発・提供しているエピック ゲームズ ジャパンによる公式アカウントです。 勉強会や配信などで行った講演資料を公開しています。 公式サイトはこちら https://www.unrealengine.com/ja/

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

シンプルスタイライゼーション Senior Software Engineer, Developer Relations Takashi Suzuki 2024 Epic Games Japan

2.

Simple Stylization Techniques in Unreal Engine | GDC 2024 https://www.youtube.com/watch?v=exMzwH7EJUY Simple Stylization Techniques in Unreal Engine 5 https://dev.epicgames.com/community/learning/talks-and-demos/XayP/fortnite-simple-stylization-techniques -in-unreal-engine-5

3.

プラグインとアセット紹介 VRM4U https://ruyo.github.io/VRM4U/ 東北ずん子ずんだもんプロジェクト https://zunko.jp/ Stylized Rendering sample https://www.unrealengine.com/marketplace/en-US /product/stylized-rendering

4.

スタート地点

5.

目次 草をなじませよう 簡単トゥーンシェーディング ポストプロセス

6.

目次 草をなじませよう 簡単トゥーンシェーディング ポストプロセス

7.

草をなじませよう

8.

スタイライズドな草 ● ● ● シンプルなシェーディング 影なし 地面とのマッチングがいまいちで浮い ているように見える

9.

スタイライズドな草 ● ● ● シンプルなシェーディング 影なし 地面とのマッチングがいまいちで浮い ているように見える ➡地面と草の色をブレンドしたい

10.

ランタイム バーチャル テクスチャ @ EPIC Dev Community https://dev.epicgames.com/documentation/ja-jp/unreal-engine/runtime-virtual-texturing-in-unreal-engine?a pplication_version=5.3

11.

Runtime Virtual Texture ● ● ● ● 描画先として、 Runtime Virtual Texture アセットを利用 ランタイムで上空からレンダリング タイル化されたテクスチャ ○ 近いほどより精細に レンダリング結果をキャッシュ ○ 複雑なシェーディングの最適化にも

12.

Runtime Virtual Texture ● 注意点 ○ 追加のメモリ ○ 解像感の差が出る場合も ○ プロジェクト設定

13.

動作時の Runtime Virtual Texture のようす

14.

RVT書き込み (ランドスケープ ) ● ● 対象アクター ○ Draw in Virtual Textures を設定 マテリアル ○ Runtime Virtual Texture Outputに出力 ○ (Option)Runtime Virtual Texture Sampleを 読み込んで使うようにする

15.

RVTを使う(草のマテリアル ) ● ● Runtime Virtual Texture Sample ○ BaseColor ○ Normal(WorldSpace) スペキュラやラフネスは不要ならサンプリング しなくてよい

16.

結果

17.

結果

18.

草をなじませるの結果 ● ● とりあえず地面とのマッチングは改善 本来の草の色とブレンドしても良い

19.

目次 草をなじませよう 簡単トゥーンレンダリング ポストプロセス

20.

簡単 トゥーンシェーディング

21.

トゥーンシェーディング 手法 あれこれ

22.

Hi-fi RUSH ● ● ● ● レンダリングパスの全体に手を入れている GBufferの用途を大幅に変更 プロジェクトに則した影描画など 『Hi-Fi RUSH』開発事例 グラフィックスと最適化紹介 ○ https://www.youtube.com/watch?v=gb7qXLnlaB4

23.

Guilty Gear -Strive● ● ● 限定的なエンジン改造 ○ デフュージョンフィルタ ○ 二つのカスタム法線 ■ ライティング用 ■ アウトライン用 ○ 背景用の影色グラデーション キャラクターシェーディング ○ ディファードレンダリング ○ Unlitマテリアル 西川善司の「試験に出るゲームグラフィックス」 「GUILTY GEAR Xrd -SIGN-」で実現された 「アニメにしか見えないリアルタイム 3Dグラフィックス」の秘密 ○ https://www.4gamer.net/games/216/G021678/20140703095/ © ARC SYSTEM WORKS

24.

Fortnite ● ● ● トゥーンシェーディング用にエンジン改造は無し マテリアルでトゥーンシェーディング VRM4Uの内蔵マテリアルも近い実装

25.

簡単 トゥーンシェーディング

26.

Overlay Material ● ● OverlayMaterialスロットにセットするだけ StaticMesh/SkeletalMesh ○ Nanite非対応 5.1

27.

Overlay Material の動作 ● ● 同じメッシュをオーバーレイマテリアルで 再描画 半透明なら半透明パスで描画

28.

カラーカーブアセット ● キャラクターに当たっているライト量に対してどの ような色にするか

29.

出力される色スケール→ トゥーンシェーディング 入力される色の比率→ (ライティング結果/ベースカラー)

30.

カーブアトラス ● ● ● 複数のカラーカーブをテクスチャにアトラス化 カラーカーブを変更すると自動更新 CurveAtlusRawParamterノード ○ カーブアトラスとカーブアセットを設定

31.

マテリアル

32.

OverlayMaterial を適用

33.

OverlayMaterial の作例紹介 [UE5] 透過オーバーレイマテリアルを使ってみよう @ Histria ブログ https://historia.co.jp/archives/32130/

34.

目次 草をなじませよう 簡単トゥーンシェーディング ポストプロセス

35.

周辺マスク付き ポストプロセス

36.

Niagara シミュレーション ステージ

37.

Niagara ● ● ● ● UnrealEngine内蔵のVFX用システム CPUまたはGPUで実行 モジュールを組み合わせて色々な表現を実現する モジュール=入力+プログラム+出力 ○ ノードベースプログラミングで拡張

38.

Simulation Stage ● ● ● ● より柔軟な更新処理 GPUで実行 更新処理をループ実行 サンプル ○ Content Example ■ Niagara_Advanced_Particles ■ Niagara_Fluids

39.

イテレーション ● IterationSource ○ Emitter ○ DataInterface ■ RenderTarget ■ Grid2DCollection ■ Grid3DCollection

40.

Grid の初期化 ● ● Grid2DCollection::SetNumCells Grid2DSetResolution ○ NiagaraFluidプラグインのノード

41.

UserParameters ● ● 外部に公開する変数 ○ NiagaraSystemComponentを 通じて設定 外部レンダーターゲット ○ TextureRenderTarget ○ UserParamtersウィンドウで アセットを直接バインド出来る

42.

作成した NiagaraSystem ● SimulationStage ○ 初期化Grid2d初期化 ○ プレイヤーポジションを Grid2Dに描画 ○ AdvectGrid(流体シム) ○ Grid2dをRenderTargetに描画

43.

スクラッチパッド ● 再利用しない「使い捨て」のモジュールスクリ プト StackContext ● Grid2Dなどをイテレーションする時は STACKCONTEXT ネームスペースの変数に書き込む

44.

ブループリント連携 ● Set Niagara Variable

45.

シミュレーションステージ の結果 ● ● プレイヤー周辺を RTに描画 さらに流体の効果を追加

46.

ポストプロセス実装 2023 Private & Confidential

47.

輪郭線

48.

輪郭線

49.

紙の質感

50.

紙の質感

51.

完成

52.

結果 ● シミュレーションステージを 活用して複雑な効果を実現できた

53.

ポストプロセスプラグイン紹介 PPLineDrawing https://github.com/alwei/PPLineDrawing Stylized Post Process for Unreal Engine 5 https://3dnchu.com/archives/stylized-post-proce ss-for-ue5/

54.

まとめ ● ● アンリアルエンジンは「エンジン改造なし」でもスタイライズドレンダリングを行うこと ができます 本日解説した有用な機能 ● ● ● ● ● ● Runtime Virtual Texture Overlay Material Color Curve Curve Atlus Post Process Material Niagara Simulation Stage

55.

Thank you! — Epic Games Japan 2024