CrossRoad

XRを中心とした技術ブログ。 Check also "English" category.

【生成AIの検証】BlenderGPTを試してみました

前回に引き続き、今度はBlenderでの3Dモデル自動生成機能である、BlenderGPTを試してみました。

使用した環境

Blender 3.3.6
ChatGPT 3.5

1. BlenderGPTとは

BlenderでChatGPTが使えるようになるアドオンです。Blenderの画面に表示されるプロンプトで指示文章を入れると、Pythonスクリプトを生成してくれます。

使うためには、OpenAIでアカウントを作ってAPI Keyを発行、BlenderGPTを自分のBlenderにインストールしてAPI Keyを入力という手順が必要になります。また、API Keyを使うのでインターネット接続が必須です。

2. 環境構築

すでに複数紹介されているので省略します。たとえば以下の動画で確認できます。

www.youtube.com

文章で確認したい場合はこちらをご参照ください。
「BlenderGPT」アドオンの導入方法をやさしく解説!|サルブレ

準備に必要なサイトURLです。

■OpenAI API
openai.com

■BlenderGPTのソースコード (zipでダウンロードしてzipのまま使う)
github.com

使い方ですが、まずはBlenderを起動して、タブからBlenderGPTのプロンプトウインドウを表示させます。もしタブが表示されてない、よくわからない場合、"N"キーを押すと表示されます。

Press 'N' key for showing BlenderGPT tab on Blender3.3.6

このウインドウが表示されたら、任意の言葉を入力します。数秒から10秒程度待つとLayout Viewに自動生成された結果が表示されます。

3. BlenderGPTで試した結果

いくつか試してみました。

Several results of BlenderGPT trial

2023/5/3時点では、building、castle、forestなどの名詞を入れても具体的な形にはなりませんでした。

唯一Carは少しそれっぽい表示になりました。

Creat a car model with BlenderGPT

指示が短すぎるのがよくないかなと思い、細かく書いてみました。

Create a castle model. The castle contains three tower like cylinder, roofs are triangular pyramid. The tower has two windows. The castle is enclosed with a fence. The fence is made by long cube.  

結果はこちらです。個別の単語や形状は拾ってもらえなかったようです。

Create a castle result on BlenderGPT

次に日本語で入力してみました。

城の3Dモデルを作ってください。城は円柱で作った3つのタワーを含み、それぞれの屋根は三角錐で作ってください。タワーには2つの窓があります。城はフェンスでかこみます。フェンスは細長くした直方体で構成します。  

結果はこちらです。

Create a castle result on BlenderGPT(Japanese)

英語版入力よりは少し形状を拾ってくれました。

4. OpenAI (ChatGPT 3.5) でBlenderのPythonスクリプトを問い合わせた結果

先ほどのcastleについて試してみました。英語版です。

Could you tell me a Blender-Python script for creating a castle model? Conditions are the followings: The castle contains three towers. Roofs are triangular pyramid. The tower has two windows. The castle is enclosed with a fence. The fence is made by long cubes.  

生成されたPythonスクリプトをコピーして、Blenderの"Scripting"タブに貼り付けて実行しました。 結果はこちらです。

Create a castle result on ChatGPT3.5(English)

初期生成版だとエラーが複数あって表示できませんでした。何度か直してみたのですが、フェンスを表示できませんでした。

次に、日本語版です。

Blenderで城の3Dモデルを作るPythonスクリプトを教えてください。条件は以下とします。城は円柱で作った3つのタワーを含み、それぞれの屋根は三角錐で作ってください。タワーには2つの窓があります。城はフェンスで囲みます。フェンスは細長くした直方体で構成します。 

Create a castle result on ChatGPT3.5(Japanese)

英語版と同じ結果になりました。

5. Tips

5.1 OpenAIのAPIキーは生成時しか表示されない

セキュリティ上の理由ということで、APIキーは生成されたときしか確認ができません。そのため、コピーし忘れた場合は新しく作る必要があります。

たとえば、ここに2つのAPI Keyが表示されています。"sk-~I3wF", "sk-~ZjR5"とありますが、途中の文字列を見ることができません。 (補足:この2つのkeyはすでに削除しています)

Examples of API key on OpenAI portal

5.2 突然無料枠が使えなくなったと思ったら

OpenAIを登録すると、$18までの無料枠が付与されます。(今は$5のようです)

私の場合5/1に使い始めたのですが、次の日になったら残りの無償枠がExpiredと表示されて使えなくなっていました。

OpenAI portal site

ポータルサイトでこの表示が出ているときにBlenderGPTでプロンプト入力しても、"You exceeded your current quota, please check your plan and billing details."というエラーが出て失敗します。

色々調べたり聞いた結果、OpenAIのサービスでアカウントを作った日が開始日としてカウントされ、そこから3ヶ月経過して切れてしまったようです。私の場合、ChatGPT3.5を試すためにアカウントを作ったのが2023年の1月か2月頃だったので、3ヶ月経過したと思われます。

OpenAIのForumでスタッフさんからの回答もいただきました。

An answer from an OpenAI staff

Please Help - Can't access the API - #4 by AlexDeM - ChatGPT - OpenAI API Community Forum

要約
・今のOpenAIの仕様では、ChatGPTとAPIは同じアカウントを共有しており、free trial期間はChatGPTアカウント作成時からも開始となる
・将来的に、これらを分離する可能性はあるが今のシステムはこうなっている

5.3 クレジットを登録したらHard/Soft limitの設定がお勧め

OpenAIの課金は "Pay as you go" (=使った分だけ) という課金スタイルです。サブスクリプションと異なり、使用しなければ料金はかかりません。
なお、今回のBlenderGPTのプロンプト入力では18リクエストして$0.05かかりました。

Usage of OpenAI API

また、OpenAIのポータルサイトには"Usage limits"という機能があります。このページを開くと、Hard limits (設定値を超えるとエラーで使えなくなる) と、Soft limit (設定値を超えるとメールが届く) の設定ができます。初期設定時は、Hard limits : $120、Soft limits : $96になっています。
まだ、OpenAIの各種機能をそこまで試せておらず、うっかり高額課金を防ぎたいため、$10に変更しました。

Usage limits on OpenAI API portal

6. おわりに

BlenderGPTを使ってみましたが、現時点では単純な図形を並べることに限定した使用になりそうです。
一方、BlenderGPTを使うよりはOpenAIでPythonスクリプトを表示して使う方が多少結果がよい印象がありました。(目標とする結果からはかなり乖離があるのは共通ですが)

まだChatGPT 4が使えるようになっていないので、ChatGPT 4が使えるようになったらまた試してみたいと思います。