BlenderでPythonを使って制作ができるそうです。 私は BlenderとPythonを勉強しているので、「2つを同時に勉強できるのはいいかも!」と思って取り組み出しました。
まずは、超基本的なコードです。
デフォルトのCubeを削除して、Scriptingに読み込んで実行すると新しいCubeが表示される。
import bpy bpy.ops.mesh.primitive_cube_add()
Mesh を 3 つを並べる
3 つの Mesh を x 軸上に並べてみました。
Blenderの超基本的なMeshはプリミティブと呼ばれているようです。
なので、コードも「primitive_cube_add()」とプリミティブが入っています。
↓ bpy.py
コードの確認
まず、「bpy」モジュールをインポートします。
import bpy
今あるメッシュ(最初の立方体とか)を削除する。
for m in bpy.data.meshes: bpy.data.meshes.remove(m)
次は、3つのオブジェクト(Mesh)を追加します。
今回は立方体(cube)、モンキー(monkey)、UV 球(uv_sphere)にします。
他のMeshはこちらのページ(Mesh Operators)にあり。
bpy.ops.mesh.primitive_cube_add() bpy.ops.mesh.primitive_uv_sphere_add() bpy.ops.mesh.primitive_monkey_add()
追加したオブジェクトを入れるためのリストを作成する。
obj = []
オブジェクトを Mesh であるかどうかを確認して、Mesh であればリストに入れる。
for o in bpy.data.objects: if o.type == "MESH": obj.append(o)
obj にちゃんと入っているか、念のため確認します。
print(obj) # [bpy.data.objects['Cube'], bpy.data.objects['Sphere'], bpy.data.objects['Suzanne']]
追加したオブジェクトの座標を決める。
pos_monkey = (0, 0, 0) pos_uv_sphere = (-5, 0, 0) pos_cube = (5, 0, 0)
座標をオブジェクトに割り当てる。
obj[1].location = pos_monkey obj[2].location = pos_uv_sphere obj[0].location = pos_cube
この Python ファイルを Blender で scripting に読み込む。