無料で使える高機能3DCGソフトBlenderでPythonを使えるとのことなので試してみました。
Pythonを使うことで作業を自動化出来たり
アドオン(拡張機能)を作成することも出来るようです。
まあ今回の「オブジェクト呼び出し」は別にPyhotnを使う必要はありません。
むしろ普通に呼び出したほうが余裕で早いです。
事前準備
Blenderダウンロード
https://www.blender.org/download
まずは本体をダウンロードします。
Blender Launcher
今回は必要ありませんが、あると便利なBlender Launcherも紹介しておきます。
これはBlnderの古いVerを使いたい時使えるソフトです。
動画や本を見て作業する時に使用しているVerが表示されていことが多いのですが
Verが違うと微妙に操作が違っていることがあります。
自力で見つけ出すのも結構面倒くさいので
そんな時は「Blender Launcher」を使ってVerを合わせると作業がし易いと思います。
https://github.com/DotBow/Blender-Launcher
リンク先の「Releases」をクリックすると”Window”か”Linux”用のzipファイルがあるので
自分にあったファイルをダウンロードしてください。
”Mac”用は無いみたいです。
Blenderの設定
初期状態ではBlender内でPythonが使える状態になっていないのでその設定をします。
「プリファレンス」を開いて「インターフェース」から「開発者オプション」と「Pythonツールチップを表示」のチェックボックスにチェックを入れてます。
これでPythonを使用する準備が出来ました。
オブジェクトの呼び出し
Blenderを開いたら右上にある「Scripting」をクリックすると画像のような画面が開きます。
Pythonコードを書く方法は
- Pyhonコンソール
- テキストエディタ
の2つになっています。
単純なプログラムなら「コンソール」で複雑なプログラムなら「テキストエディタ」
といった感じですね。
プログラム自体に違いはありませんが、多少書き方が違うので個別に説明します。
Pythonコンソール
Pythonコンソールはコンソール画面にある<<<の横にコードを書いてエンターを押すと
プログラムが実行されます。
例えば立方体(cube)を呼び出したい時は
bpy.ops.mesh.primitive_cube_add()
と入力すれば立方体のメッシュが呼び出せます。
基本的なオブジェクトは「mesh」や「cube」の部分を変えるだけで該当するオブジェクトを
呼び出だす事ができます。
テキストエディタ
まずは新規をクリックします。
テキストエディタで同じように立方体(cube)を呼び出す時は
import bpy
bpy.ops.mesh.primitive_cube_add()
といった感じになります。
コンソールから直接打ち込む時と違って、bpyをimportする必要があります。
bpyは「Blender Python」のことらしく、一般的にAPIと呼ばれていモジュールの事らしいです。
正直詳しい事はわかりません。
プログラムを書き終えたら、三角の再生ボタンのようなアイコンをクリックすれば
プログラムが実行されます。
コードの確認・コピー
「追加」をクリックするか「Shift」+「Aキー」でオブジェクトを追加する画面が開きます。
この時に追加したいオブジェクトにマウスカーソルを合わせるとオブジェクトを追加するための
プログラムが表示されます。
あとは「Ctrl」+「Cキー」でコピーが出来るので、コンソールなりエディタに貼り付けられます。
複雑なプログラムはBlender上で確認は出来ないっぽいですが、割とネットにコードが転がっていたり
ChatGPTのようなAIに聞いてもコードを教えてもらえるので試して見ると面白いかもしれません。
ただAIに関しては微妙にコードが間違っていたりと、完璧とは言えない印象でした。
今回はここまでです。
ありがとうございました。