UE5のエンジンを改造してアウトラインの描画箇所を制御する。スパーククリエイティブが解説記事を公開

2023.07.24
ニュース3DCGアンリアルエンジン
この記事をシェア!
Twitter Facebook LINE B!
Twitter Facebook LINE B!

この記事の3行まとめ

  • スパーククリエイティブ、自社ブログにてUnreal Engineのエンジン改造について解説
  • トゥーン表現のためのアウトラインマスク追加のために、G-Bufferを拡張
  • シェーディングモデル、マテリアルインプットの追加についての解説記事も公開中

スパーククリエイティブは、自社ブログにて『【UE5】セルシェーディングのためにGバッファを追加してみた』と題する記事を公開しました。

同社ブログでは、トゥーン表現を題材としたUnreal Engine 5.0.3のエンジン改造について解説する連載記事を掲載。前回、前々回で取り上げた「シェーディングモデルの追加」と「マテリアルインプットの追加」に続き、今回は「G-Bufferの拡張」について、実際のコードを交えて説明しています。

ディファードシェーディングにおけるポストプロセスを用いた一般的なアウトライン描画では、描画する対象を細かく指定することはできず、キャラクターの目の輪郭にまでアウトラインが引かれるなどの問題が発生します。

G-Buffer拡張前。目の輪郭線が描画されてしまっている(画像はSPARKCREATIVE Tech Blogより引用)

同記事では、この問題をエンジン改造によるG-Bufferの拡張で解決しています。拡張したG-Bufferにアウトラインのマスク情報を格納することで、アウトラインを出したい部分にのみ描画することが可能になります。

G-Buffer拡張後。目の輪郭線が消えている(画像はSPARKCREATIVE Tech Blogより引用)

独自に追加したシェーディングモデルを持つマテリアルにアウトライン用のマスクテクスチャを設定すると、マスク情報がG-Bufferに格納されるように実装されています。

独自のシェーディングモデル「Toon Lit」を追加(画像はSPARKCREATIVE Tech Blogより引用)

マテリアルインプット「Toon Shadow Param」を追加し、アウトライン用のマスクテクスチャなどをシェーダーで扱えるようにしている(画像はSPARKCREATIVE Tech Blogより引用)

キャラクターのマテリアルに設定しているアウトライン用のマスクテクスチャ(画像はSPARKCREATIVE Tech Blogより引用)

G-Bufferに格納したアウトラインのマスク情報は、ポストプロセスマテリアルの「SceneTexture」ノードからアクセスされ、アウトラインの描画に使用されます。

(画像はSPARKCREATIVE Tech Blogより引用)

詳細は、SPARKCREATIVE Tech Blog『【UE5】セルシェーディングのためにGバッファを追加してみた』をご確認ください。

SPARKCREATIVE Tech Blog『【UE5】セルシェーディングのためにGバッファを追加してみた』

関連記事

3Dスキャンデータをブラウザで共有&AR/VR表示もサポート。オープンソースの3Dスキャンデータ編集ツール「SuperSplat」が2.0にバージョンアップ
2025.02.18
Unreal Engine向けゲーム制作コンテスト「第23回UE5ぷちコン」の作品募集が開始!テーマは「せん」。応募締切は4/6(日)
2025.02.14
Epic Gamesの資金援助プログラム「Epic MegaGrants」、2025年1期目の募集がスタート。募集期間は年2回に変更
2025.02.13
「Unreal Engine Meetup in Shizuoka Vol.1」講演資料&動画が公開。静岡県が進めるデジタルツイン施策や、UE5で3D点群データの処理を自動化する手法など
2025.02.12
富士山をバーチャル上にそっくり再現!デジタルツインの活用アイデア満載の「Unreal Engine Meetup in Shizuoka Vol.1」参加レポート
2025.02.10
Unreal Engine 5.5.3がリリース。5.5.2で発生していた、スケルタルメッシュのオーバーライドが消失する問題を修正
2025.02.07

注目記事ランキング

2025.02.12 - 2025.02.19
VIEW MORE

連載・特集ピックアップ

イベントカレンダー

VIEW MORE

今日の用語

エミッター(Emitter)
エミッター
  1. 英語で「放出器」「放出源」のこと。
  2. ゲーム開発においては、パーティクルを生み出す発生源のことを示すことが多い。
VIEW MORE

Xで最新情報をチェック!