電通総研 テックブログ

電通総研が運営する技術ブログ

StableDiffusion x Substance3DでUnreal Engine向けマテリアルを生成する

こんにちは!金融ソリューション事業部の山下です。 本記事では、前回の記事に続き、StableDiffusion生成画像からUnrealEngineで使用可能なマテリアルを生成します。 今回はノードベースプログラミングなど不要ですので、さくっと終わります。

実施環境/ツール

実施手順

  1. Stable Diffusionでパターン画像の生成
  2. Substance 3D Samplerでマテリアル化
  3. Unreal Engineでマテリアル適用、レンダリング

1. Stable Diffusionでパターン画像の生成

ChatGPTで生成した以下プロンプトで、パターン画像を生成しました。

beautiful pattern of traditional japanese paper, Exquisite, intricate, delicate, elegant, sophisticated, subtle, timeless, stunning, lustrous, and graceful, 8k, seamless, no dof, use of gold
---
(DeepL日本語訳)
伝統的な和紙の美しい模様、精巧、複雑、繊細、エレガント、洗練、繊細、時代を超えた、見事、光沢、優美、8K、シームレス、ノードフ、金使用

Sampling Stepsは100、Resolutionは768x768です。
バッチ処理で300枚くらい生成したものから、良さそうなものを4パターンほど選定しました。

2. Substance 3D Samplerでマテリアル化

プロジェクト新規作成後、生成画像をレイヤータブにドラッグ&ドロップします。

「画像からマテリアル」を選択して「読み込み」を押下します。

マテリアルが作成されます。 上記はプレビュー形式を「布」で表示しております。 ちなみに、「服」形式などのプレビューも可能です。

このままでも十分マテリアルとして使えますが、よりリアルな質感にする為、刺繍フィルターを適用します。 「アセット」>「フィルター」>「Embroidery」を追加します。

質感に刺繍フィルターが加わり、よりリアルになりました。

マテリアル画像として書き出します。 「共有」>「書き出し」>「書き出し形式...」を押下します。

ディレクトリや必要なチャンネルを指定して、「書き出し」を押下します。 無事、アウトプットディレクトリに画像が出力されていれば、マテリアルは完成です。

3. Unreal Engineでマテリアル適用、レンダリング

Content Drawerに、マテリアル画像をimportします。

マテリアルを新規作成して、ノードを接続します。

任意のメッシュにマテリアルを適用すれば完成です。 4パターンのうち、2パターン分のマテリアルを作成してメッシュに適用しました。

以下、MovieRenderQueueでレンダリングを行い、After Effectsで動画変換した結果になります。

所感

今回、StableDiffusion生成画像からフォトリアルなマテリアルを生成しました。これまでのマテリアル制作ワークフローにおけるプロセスを飛躍的に改善できる可能性があると感じました。
一方で、現状はAIに関する一定のリテラシーが求められることも否めません(プロンプトの調整やAIモデルの選定、必要に応じたファインチューニングなど)。
まだ誰もが使える形ではツール等に組み込まれていない以上、このままの形で一般普及するイメージはつきませんが、AI x 3DCGの領域は文字通り日進月歩で進化している為、想像以上に早期にブレークスルーが起きると思われます。引き続き本領域、注目していきたいと思います!

現在ISIDはweb3領域のグループ横断組織を立ち上げ、Web3およびメタバース領域のR&Dを行っております(カテゴリー「3DCG」の記事はこちら)。 もし本領域にご興味のある方や、一緒にチャレンジしていきたい方は、ぜひお気軽にご連絡ください!
私たちと同じチームで働いてくれる仲間を、是非お待ちしております!
ISID採用ページ(Web3/メタバース/AI)

参考

執筆:@yamashita.yuki、レビュー:@wakamoto.ryosukeShodoで執筆されました