Blenderをpythonで操作したい
環境
mac os catalina 10.15.7
$ python -V
python 2.7.16
$ /Applications/Blender.app/Contents/MacOS/Blender -v
Blender 2.93.4
スクリプトの実行方法
CLIで実行する方法と、BlenderのGUIで実行する方法があります。
①CLIで実行する方法
CLIでBlenderを立ち上げる
次のコマンドでターミナルからBlenderを立ち上げることができます。
Blenderアイコンから立ち上げた時と同じように、初期画面が表示される。
$ /Applications/Blender.app/Contents/MacOS/Blender
スクリプトを指定して立ち上げる
12個の球体が均等に表示されるpython scriptを作ります。
loop.py
import bpy
import math
# 既存要素削除
for item in bpy.data.meshes:
bpy.data.meshes.remove(item)
N = 12
RR1 = 10.0
RR2 = 2.0
for i in range(0, N):
rad = 2 * math.pi * i /N # 角度計算2π i /n
xx = RR1 * math.cos(rad) # x座標計算 半径*cosθ
yy = RR1 * math.sin(rad) # y座標計算 半径*sinθ
# 球体作成
bpy.ops.mesh.primitive_ico_sphere_add(location=(xx, yy, 0),radius= RR2, subdivisions = 5 )
上でimportしようとしているbpyモジュールは、Blenderがバックグラウンドで動いている状態でしか動かない。なので、単純にpython loop.py
としても動かない。
$ python loop.py
Traceback (most recent call last):
File "loop.py", line 1, in <module>
import bpy
ImportError: No module named bpy
$
以下で実行します。
$ /Applications/Blender.app/Contents/MacOS/Blender --python loop.py
②BlenderのGUIで実行する方法
以下のように、右上にtext editer、右下にpython consoleを表示。
text editerでは、実行したいコードを書いておく。
右上の三角マーク「Run Script」で実行することができる。
また、「Scripting tab」を開くと、GUIでの操作がpythonだとどう書かれるかリアルタイムで確認することができる。
オブジェクトやキーフレームの生成や削除、移動などの操作がわかってきたら、公式ドキュメントを読んで引数の意味や種類を調べる。