見出し画像

【すべてローカル】画像生成AI技術をBlenderで利用する②【中級】


はじめに

下記事の続きです。

シームレス・テクスチャを生成

Stable Diffusion webUIは、3Dテクスチャや背景画像用にシームレス画像を生成する事ができます。昔はtext2imgやimg2imgのメインUIに表示されていましたが、今は設定で指定しないと表示されません。「Settings」タブを選択し、

「Settings」→「User interface」→「Quicksettings list」

「tiling」を「Quicksettings list」に追加します。

Stable Diffusion webUI

上部に「Tiling」が追加されます。Tilingをチェックして生成すると、シームレステクスチャを生成できます。

シームレステクスチャ
Blenderで読み込み

この機能は非常に革命的なものです。素材を用意しなくても、基本的に自分で何でも作れてしまいます。

立体構造を持つテクスチャ(深度マップ)

小石テクスチャ(シームレス生成)

AIで奥行き画像(Depth map)を生成します。筆者が知る限りもっとも精度良く詳細な深度マップを生成できるMarigoldを利用します。

以前は、Stable Diffusion webUI forgeのControlNetデフォルトでMarigold Depth mapプリプロセッサを利用できたのですが、今はエラーになるようです。一番簡単な方法だったので残念です。(筆者環境だけかもしれません)

webUI forgeでMarigoldエラー

ComfyUIでも利用できますが、オリジナル論文のリポジットリ上のMarigoldを利用します。

導入方法は下記で説明しています。※ 紹介しているバッチファイルを利用すると、画像を含むフォルダのドラッグ&ドロップで深度マップを生成できます。

Marigoldで生成したDepth map

Blenderで利用する(Displaceモディファイアの場合)

Blenderで深度マップをテクスチャに適用する場合の方法の一つに、Displaceモディファイアを利用する方法があります。

① 深度マップをテクスチャとして登録

Texture Property

② モディファイアを利用する

Subdivision surfaceで分割後にDispaceを適用します。

モディファイアを適用

必ずSubdivision(メッシュの分割)を上にしてください。Displaceのテクスチャを登録した深度マップにします。白黒がBlenderの凹凸正負と逆なので、Strengthをマイナスにしています。

敷き詰めると、完璧ではないですが、シームレスである事が確認できます。

Blenderで利用する(Adaptive Subdivisionの場合)

かなり昔からBlenderのベータ機能として存在している手法です。

① まずはGPUの「Feature set」を「Experimental」に変更します。

CyclesのFeature Set

② マテリアルのセットアップをします。

Displacementノードを利用する
SettingsのDisplacementを「Displacement Only」に変更する

③ Subdivision surfaceモディファイアを利用します。

「Experiment」を設定した時のみ「Adaptive Subdivision」の項目が現れる

Displaceモディファイアと同様に、立体構造をテクスチャに適用する事ができます。

③へつづく。


この記事が気に入ったらサポートをしてみませんか?