BlenderのPythonで単純な作成
概要
BlenderもPythonなら繰り返しの配置が簡単なので面白い
詳細
- 基本はbpy.ops.mesh.primitive_cube_add(l) で並べていくだけ。引数はlocation、rotationなど使ってみた。
- これをScriptingのワークスペースにして、テキスト/新規でスクリプト作って実行しただけ。
- マニュアルはBlender 2.81 Python API Documentation — Blender Python APIにある。まだまだ概念がイマイチ分かってないので上手く調べられない。
- 最初にオブジェクトを全部消したい時は次の行を入れる。ただし、カメラもライトも全部削除されるけど
bpy.ops.object.select_all(action='SELECT') bpy.ops.object.delete(True)
立方体を円柱に配置
import bpy import math for z in range(0,20,5): for d in range(0,360, 20): x = 10*math.cos(math.radians(d)) y = 10*math.sin(math.radians(d)) lo = (x,y,z) ro = (0,0,math.radians(d)) bpy.ops.mesh.primitive_cube_add(location=lo,rotation=ro)
立方体を螺旋に配置
import bpy import math z = 0 for d in range(0,360*3, 20): x = 10*math.cos(math.radians(d)) y = 10*math.sin(math.radians(d)) z = z+0.5 lo = (x,y,z) ro = (0,0,math.radians(d)) bpy.ops.mesh.primitive_cube_add(location=lo,rotation=ro)
ランダムな大きさの直方体 10x10x10
import bpy import math import random for z in range(0,40,4): for y in range(0,40,4): for x in range(0,40,4): bpy.ops.mesh.primitive_cube_add(location=(x,y,z) ) bpy.ops.transform.resize(value=(random.random(),random.random(),random.random()))