3Dモデルを画像生成の元画像にできる拡張機能「3D Model&Pose Loader」の紹介【Stable Diffusion web UI】

3Dモデルを読み込んでControlNetに使おう! 画像生成AI

今回もStable Diffusion web UIの拡張機能に関する話題で

3DモデルをControlNetの元画像にできる拡張機能「3D Model&Pose Loader

をご紹介するという内容になっています。

Stable Diffusion web UIのControlNet拡張機能を使って画像を生成していると元画像を用意するのが面倒くさいなーと思うことがあります。もちろんOpenpose EditorなどControlNetを補助する拡張機能が色々登場しており、ある程度は楽ができるのですが元ゲーム開発者の私からしたら

3Dモデルを直接読み込んでControlNetに使えたら便利なんだけどなぁ…

なんて贅沢なことを考えていました。

ところが拡張機能について調べていたら3Dモデルを読み込んでControlNetに送れる拡張機能が本当にあったので、早速使ってみることにしました。

ここではこの拡張機能「Stable Diffusion WebUI 3D Model&Pose Loader」(以下、長いので3D Model&Pose Loaderと呼びます)について

  • 概要やインストール方法
  • 基本的な使い方

といった点についてご説明していきますね。


2023/04/07追記:
この拡張機能に下記の機能が加わり、名前が「3D Model Loader」→「3D Model&Pose Loader」に変更になりました。

  • ポーズエディタ
  • vrmモデルの読み込み機能
2023/05/14追記:
アップデートによって画面のレイアウトが大幅に変わったようです。また折を見て記事を更新しようと思います。

「3D Model&Pose Loader」の概要

公式ページ

GitHub - jtydhr88/sd-3dmodel-loader: A custom extension for stable diffusion webui to load local 3D model/animation
A custom extension for stable diffusion webui to load local 3D model/animation - jtydhr88/sd-3dmodel-loader

3D Model&Pose Loaderについて

3D Model&Pose Loaderは、その名の通り3Dモデルを読み込んでControlNetの元画像に使える拡張機能です。執筆時点で対応している3Dモデルの形式は主に

  1. obj
  2. stl
  3. fbx
  4. vrm

の4種類です(※他にも部分的にサポートしているファイル形式もあります)。当然ながら3Dアニメーションにも対応しており、任意のフレームで一時停止してそのキャプチャをControlNetに転送することができます。

なおこの拡張機能を使うには、前提として

  • Stable Diffusion web UI(AUTOMATIC1111版)が必要
  • さらにそのweb UI用のControlNet拡張機能も必要

となります。まだStable Diffusion web UIをインストールしていない場合は、下記の記事でインストール手順や使い方を丁寧に解説していますのでそちらをご覧ください。

「Stable Diffusion web UI」のインストール方法・日本語化・使い方まとめ(AUTOMATIC1111版)
今回も画像生成AIに関する初心者向けの話題で、タイトルの通り 「Stable Diffusion web UI」のインストール方法・日本語化の方法・使い方 をまとめてみるという内容になっています。 画像生成AIの代表格であるStable D...

またControlNetについては下記の記事で詳しくご紹介していますので、まだ使ったことがないよ、という方はそちらも併せてご覧頂ければと思います。

ポーズを指定して画像を生成できる「ControlNet」の使い方【Stable Diffusion web UI】
今回も画像生成AIに関する話題で、タイトルの通り ポーズや構図をきっちり指定して画像を生成できる「ControlNet」の使い方 を丁寧にご紹介するという内容になっています。 画像生成AIを使ってイラストを生成する際、ポーズや構図を決めると...

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の使い方については下記の記事で詳しく解説していますので、もしご興味がありましたら参考になさってください。

無料の自動リギング&アニメーションツール「Mixamo」の使い方!自作キャラに簡単に命を吹き込もう
3Dゲームを作っていると、既存のキャラクターだけではなく自作のオリジナルキャラをゲームで動かしたくなることがあります。しかしBlender等のモデリングソフトでキャラクターの外観までは作ることができても、リギング(=ボーンを入れてメッシュと...

Mixamoで適当なキャラクターとそれを動かすアニメーションを選んだら、「DOWNLOAD」ボタンを押して下の画像のように設定を選択し、FBXファイルをダウンロードしましょう。

Mixamoのダウンロード設定

ここではサンプルとして下の3Dモデルを使わせて頂くことにしました。

今回使用した3Dモデルとアニメーション

基本的な使い方

さて準備ができたらようやく3D Model&Pose Loaderを使っていきます。主な作業手順は次のとおりです。

  1. 3Dモデルファイルを読み込む
  2. カメラを調整する
  3. アニメーションを一時停止する
  4. 余計なグリッド線や座標軸を非表示にする
  5. ControlNetに転送する

それぞれ詳しく見ていきましょう。

手順1:3Dモデルファイルの読み込み

まずは先ほどダウンロードした3Dモデルを3D Model&Pose Loaderに読み込みます。「3D Model&Pose Loader」タブ→「Load Model」ボタンからダウンロードしたファイルを選ぶと、下の画像のように3Dモデルが読み込まれて表示されます。

3D Model Loaderの画面

手順2:カメラを調整する

次にキャラクターが映っている画面でカメラの位置を調整して、キャラクターが好きな位置に映るようにしていきます。操作方法は

  • マウス左ドラッグ:カメラ回転
  • マウスホイール:カメラのズームイン・ズームアウト
  • マウス右ドラッグ:カメラの移動

となっているので適当に調整してください。

手順3:アニメーションの一時停止

そうしたらアニメーションを好きな位置で一時停止して、欲しいポーズが得られるようにします。「Play/Pause」ボタンを押すとアニメーションの再生・一時停止を行えるので上手く調整しましょう。

手順4:余計なグリッド・座標軸を非表示にする

ポーズやアングルがいい感じになったら、グリッドや座標軸が邪魔なので

  • Show Grid
  • Show Axis

のチェックを外しましょう。場合によっては残しておいたままでもいいのですが、とりあえずこれで背景に何も表示されなくなります。

手順5:ControlNetに転送する

ここまでできたらポーズをControlNetに転送するだけです。「txt2imgに転送」ボタンを押すと先ほど調整したポーズがControlNetに反映されるようになります。

ControlNetにポーズを転送した場合の例

これで元画像の準備ができました!あとは好きなように画像を生成すればOKです。試しにControlNetの「canny」で画像を生成したところ、次のように元画像のポーズや、キャラクターのシルエットを上手く反映したイラストが生成されました。

ControlNetで生成したイラストの例(SFヒーロー)

新機能:ポーズエディタ

いつの間にかポーズエディタが実装されていました。人型のリグが付いたキャラクターの場合はポーズを自由に編集できます(※リグが人型ではない場合は編集できません)。

ポーズエディタを使った場合の例

ただ、今のところは直感的に弄れる感じではないですね。今後のアップデートに期待したいです。

おわりに

以上、3Dモデルを読み込んでControlNetに使える3D Model&Pose Loaderについてご紹介しました。この拡張機能を使えば比較的簡単に元画像を用意することができて便利なので、ぜひ試してみてください。

この記事が何かしら参考になれば幸いです。