Blender ウォッチング

テキストの指示で3Dモデルを生成するAI「Point-E」を「Blender」に組み込むアドオン

世界中の3DCGモデラ―を恐怖に陥れた3D版「Stable Diffusion」でモデリングできるかな

 本連載では、無料の高機能3Dモデリングツール「Blender」の使い方や関連情報を幅広くお伝えします。

思ってたのと全部違った

 今回は、以前公開時に世界中の3DCGモデラ―を恐怖に陥れた(?)、機械学習による形状の自動生成ツール「Point-E」を、「Blender」用のアドオンとして利用できるようにした「DMT Meshes」(DMT Meshes contributors作)をご紹介します。

必須構成

 このアドオンも他のAIツール同様、以下のように導入可能な環境が制限されています。また初回実行時にもダウンロードが発生します。時間に余裕がある時に行ってください。

  • Windows OS
  • CUDAが利用可能なNVIDIA製グラフィックカード。
  • ストレージの空き:最大11.4GB(デフォルトでは5.5GB)

 本記事では「Windows 10 Pro x64」と「NVIDIA RTX2060 12GB」、「Blender 3.4.1」、「DMT Mesher 0.0.1」で動作を確認しています。アドオンのバージョンアップにより、インストール方法などが変わることがあります。ご了承ください。

 デフォルトではこのアドオンは「C:¥Users¥(ユーザー名)¥AppData¥Roaming¥Blender Foundation¥Blender¥(Blenderバージョン)¥scripts¥addons¥dmt_meshes」以下にインストールされますが、空きが足りない場合は、ZIP(Portable)版の「Blender」を別のドライブ(D:など)にインストールし、そちらにアドオンをインストールすることもできます。詳しくは過去の記事をお読みください。

入手とインストール

 入手は下記リンク先のページから行います。「Windows: 」の左側にあるリンクからダウンロードしてください。

Releases · Firework-Games-AI-Division/dmt-meshes

囲み内のリンクからダウンロード

 「Blender」を起動し、[編集]メニューの[プリファレンス...](①)からプリファレンスを開き、[アドオン]タブ(②)内の[インストール...](③)で入手した「dmt_meshes-win-cuda.zip」を指定します。

「Blender」を起動し、[編集]メニューの[プリファレンス...](①)からプリファレンスを開き、[アドオン]タブ(②)内の[インストール...](③)で入手した「dmt_meshes-win-cuda.zip」を指定

 しばらくすると、このアドオンのパネルが表示されます。下図の囲み部分をクリックして有効化してください。「v0.0.1」の時点ではパネルに設定はありません。

アドオンを有効化してパネルを開いた状態

使用方法

  1. 「3Dビューポート」内で[N]キーを押すか、右端の[≺]をクリックして「サイドバー」を表示します。
  2. [DMT]タブをクリックし、パネル内の「プロンプト」に生成したい物を英文で入れ、パネル下部の[Generate]をクリックします。
「3Dビューポート」内で[N]キー押下または右端の[≺]のクリックで「サイドバー」を表示し、[DMT]タブを開いてパネル内の「プロンプト」に英文を入力後、パネル下部の[Generate]をクリック

 とりあえずはデフォルトで入力されている「A corgi」(コーギー)で実行してみましょう。

 初回は「Point-e」のトレーニング済データをダウンロードします(890MB)。作業の進捗を知りたい場合は、[ウィンドウ]メニューの[システムコンソール切り替え]を実行してください。なお、このシステムコンソールウィンドウを間違って閉じてしまうと、「Blender」本体も閉じますので注意してください。

[ウィンドウ]メニューの[システムコンソール切り替え]と、表示したシステムコンソールウィンドウ

 その後も「base checkpoint」と「upsampler checkpoint」ファイルがダウンロードされ、「SDFモデル」の生成と読み込みが行われた後、「ポイントキャッシュ」と「メッシュモデル」(Text to Meshモード時)が表示されます。

システムコンソールウィンドウに表示された一連の処理

Run Mode設定と処理の流れ

 「Run Mode」とは、名前の通り実行のモードです。パネル内の[Run Mode]で設定でき、デフォルトの「Text to Mesh」モードでの処理の流れは次のようになります。

  1. 「プロンプト」から「Point-e」が文字列を受け取り、「ポイントクラウド」(点の集合体)を作成
  2. 上記のアドオンがインストールされたフォルダーの「data/pc」内に「.npz」ファイルとして保存
  3. ポイントクラウドから、ランダムな名前の「メッシュオブジェクト」を生成

 ポイントクラウドはパネルの「ポイントクラウド」内にもリスト表示され、後述の「Point to Mesh」モードでソース指定するのに使用されます。ちなみにリストないポイントクラウドは一番上が最新です(時間順)。

DMT Meshパネル内に表示されたポイントクラウドのリストと[Run Mode]設定

 Run Modeを「Point to Mesh」にして既存のポイントクラウドからメッシュデータを再生成したり、「Text to Point Cloud」でポイントクラウドのみ生成することもできます。

メッシュ変換の調整

 [詳細設定]では、ポイントからメッシュに変換する方法やパラメーターの調整が行えます。

 「PC to mesh method」にはデフォルトの「openAI」と「dmtet」が選択できるようですが、残念ながら「dmtet」はエラーメッセージが出て実行できませんでした。

DMT Meshパネル内の[詳細設定]。オプションの大半は「dmtet」用だが、今回はエラーで確認できず

 「Gridres」はメッシュの解像度で、「openAI」で唯一利用可能なパラメーターです。大きくすると細かくなりますが、生成に時間がかかり、小さくすると粗くなりますが、生成時間が短縮されます。デフォルト値は「128」です。

 まず小さい「Gridres」値で「Text to Mesh」でモデルを作成し、いいのができれば「Gridres」値を大きくして「Point to Mesh」で再生成するのが効率的です。

[Gridres]設定による違い

終わりに

 次回は画像からの生成と、Dream Textureアドオンとの連携と注意すべきことなどについて解説したいと思います。

 ではまた。