今回もStable Diffusion web UIの拡張機能に関する話題で
をご紹介するという内容になっています。
Stable Diffusion web UIのControlNet拡張機能を使って画像を生成していると元画像を用意するのが面倒くさいなーと思うことがあります。もちろんOpenpose EditorなどControlNetを補助する拡張機能が色々登場しており、ある程度は楽ができるのですが元ゲーム開発者の私からしたら
なんて贅沢なことを考えていました。
ところが拡張機能について調べていたら3Dモデルを読み込んでControlNetに送れる拡張機能が本当にあったので、早速使ってみることにしました。
ここではこの拡張機能「Stable Diffusion WebUI 3D Model&Pose Loader」(以下、長いので3D Model&Pose Loaderと呼びます)について
- 概要やインストール方法
- 基本的な使い方
といった点についてご説明していきますね。
この拡張機能に下記の機能が加わり、名前が「3D Model Loader」→「3D Model&Pose Loader」に変更になりました。
- ポーズエディタ
- vrmモデルの読み込み機能
アップデートによって画面のレイアウトが大幅に変わったようです。また折を見て記事を更新しようと思います。
「3D Model&Pose Loader」の概要
公式ページ
3D Model&Pose Loaderについて
3D Model&Pose Loaderは、その名の通り3Dモデルを読み込んでControlNetの元画像に使える拡張機能です。執筆時点で対応している3Dモデルの形式は主に
- obj
- stl
- fbx
- vrm
の4種類です(※他にも部分的にサポートしているファイル形式もあります)。当然ながら3Dアニメーションにも対応しており、任意のフレームで一時停止してそのキャプチャをControlNetに転送することができます。
なおこの拡張機能を使うには、前提として
- Stable Diffusion web UI(AUTOMATIC1111版)が必要
- さらにそのweb UI用のControlNet拡張機能も必要
となります。まだStable Diffusion web UIをインストールしていない場合は、下記の記事でインストール手順や使い方を丁寧に解説していますのでそちらをご覧ください。
またControlNetについては下記の記事で詳しくご紹介していますので、まだ使ったことがないよ、という方はそちらも併せてご覧頂ければと思います。
Stable Diffusion web UIへのインストール方法
3D Model&Pose Loaderのインストール方法は簡単で、他の多くの拡張機能と同様に一覧からインストールすればOKです(※もちろん無料でインストールできます)。具体的には「拡張機能」タブ→「拡張機能リスト」→「読込」ボタンを押し、出てきた3D Model&Pose Loaderのインストールボタンを押すだけです。
あとはweb UIを再起動すれば3D Model&Pose Loaderを使えるようになります。
3D Model&Pose Loaderの基本的な使い方
ではここから3D Model&Pose Loaderの使い方についてご説明します。
下準備:Mixamo等でアニメーション付きの3Dモデルを探しておく
まず下準備として3D Model&Pose Loaderに読み込む3Dモデルを探しておく必要があります。3Dモデルは色々なサイトで配布されていると思うのですが、Adobeが完全無料で提供している「Mixamo」というサービスが使いやすく・しかも豊富な3Dアニメーションが揃っているので非常にオススメです。
このMixamoの使い方については下記の記事で詳しく解説していますので、もしご興味がありましたら参考になさってください。
Mixamoで適当なキャラクターとそれを動かすアニメーションを選んだら、「DOWNLOAD」ボタンを押して下の画像のように設定を選択し、FBXファイルをダウンロードしましょう。
ここではサンプルとして下の3Dモデルを使わせて頂くことにしました。
基本的な使い方
さて準備ができたらようやく3D Model&Pose Loaderを使っていきます。主な作業手順は次のとおりです。
- 3Dモデルファイルを読み込む
- カメラを調整する
- アニメーションを一時停止する
- 余計なグリッド線や座標軸を非表示にする
- ControlNetに転送する
それぞれ詳しく見ていきましょう。
手順1:3Dモデルファイルの読み込み
まずは先ほどダウンロードした3Dモデルを3D Model&Pose Loaderに読み込みます。「3D Model&Pose Loader」タブ→「Load Model」ボタンからダウンロードしたファイルを選ぶと、下の画像のように3Dモデルが読み込まれて表示されます。
手順2:カメラを調整する
次にキャラクターが映っている画面でカメラの位置を調整して、キャラクターが好きな位置に映るようにしていきます。操作方法は
- マウス左ドラッグ:カメラ回転
- マウスホイール:カメラのズームイン・ズームアウト
- マウス右ドラッグ:カメラの移動
となっているので適当に調整してください。
手順3:アニメーションの一時停止
そうしたらアニメーションを好きな位置で一時停止して、欲しいポーズが得られるようにします。「Play/Pause」ボタンを押すとアニメーションの再生・一時停止を行えるので上手く調整しましょう。
手順4:余計なグリッド・座標軸を非表示にする
ポーズやアングルがいい感じになったら、グリッドや座標軸が邪魔なので
- Show Grid
- Show Axis
のチェックを外しましょう。場合によっては残しておいたままでもいいのですが、とりあえずこれで背景に何も表示されなくなります。
手順5:ControlNetに転送する
ここまでできたらポーズをControlNetに転送するだけです。「txt2imgに転送」ボタンを押すと先ほど調整したポーズがControlNetに反映されるようになります。
これで元画像の準備ができました!あとは好きなように画像を生成すればOKです。試しにControlNetの「canny」で画像を生成したところ、次のように元画像のポーズや、キャラクターのシルエットを上手く反映したイラストが生成されました。
新機能:ポーズエディタ
いつの間にかポーズエディタが実装されていました。人型のリグが付いたキャラクターの場合はポーズを自由に編集できます(※リグが人型ではない場合は編集できません)。
ただ、今のところは直感的に弄れる感じではないですね。今後のアップデートに期待したいです。
おわりに
以上、3Dモデルを読み込んでControlNetに使える3D Model&Pose Loaderについてご紹介しました。この拡張機能を使えば比較的簡単に元画像を用意することができて便利なので、ぜひ試してみてください。
この記事が何かしら参考になれば幸いです。