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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import bpy | |
for m in bpy.data.meshes: | |
bpy.data.meshes.remove(m) | |
bpy.ops.mesh.primitive_cube_add() | |
bpy.ops.mesh.primitive_monkey_add() | |
bpy.ops.mesh.primitive_uv_sphere_add() | |
obj = [] | |
for o in bpy.data.objects: | |
if o.type == "MESH": | |
obj.append(o) | |
print(obj) | |
# [bpy.data.objects['Cube'], bpy.data.objects['Sphere'], bpy.data.objects['Suzanne']] | |
pos_cube = (5, 0, 0) | |
pos_monkey = (0, 0, 0) | |
pos_uv_sphere = (-5, 0, 0) | |
obj[0].location = pos_cube | |
obj[1].location = pos_monkey | |
obj[2].location = pos_uv_sphere |
コードの確認
まず、「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 に読み込む。