« blender python 関連資料 | トップページ | blender, python, camera »

2017.12.24

blender とpython 立体配置

3Dのblender とPythonで時々遊んでいます。

20171224b

今の目標は、(A). 100個程度の立体配置、(B). 照明とカメラを配置、(C). カメラ移動のパスを配置 (D). カメラ設定して数秒間のアニメーション作成、この辺までをpythonで実行すること。 全自動化するのは目標が高すぎるので最初のA, Bあたりの作業に慣れたいというところ。手作業で20個くらいはコピペできるけど大量に複製するとか綺麗な曲線に沿って並べるとか考えるとpythonの方がメリットが多いと予想してます。完成アニメは例えばジャングルジム上空からドローンで撮影したような動画とかビル街を右折左折して走る車を後方上からカメラで追っかける動画とか。なお、今後の参考資料としてカメラとカメラ移動のパスを関連づけるscriptはこれ。 Blender Stack Exchange,  how to set the camera follow path ...

なお今日の添付GIFアニメ (400kB) のスクリプトは以下の通り。円盤24個と柱4個のメッシュ配置だけ。カメラ動きは手作業。参考は 「BlenderのプリミティブオブジェクトをPythonで操作する...」 「Pythonではインデントがルール」これ大事だと感じました。

オマケ。 【Blender】複数選択方法いろいろ。特にBボタンと左ドラッグ大切。 (室蘭工業大学 「波動エレクトロニクス研究室」)Blender 解説 PDF 初期オブジェクトの削除、カメラの設定、など例文あり役立つ。 直線曲線メモ。bezier_curveと、nurbs_pathの比較。bpy.ops.curve.primitive_bezier_curve_add()は初期状態で曲線。bpy.ops.curve.primitive_nurbs_path_add()初期状態で直線状なので扱いが楽。control pointsの扱いをどう書くかはまだ手付かずのまま。。参考資料keyframe Thread: Blender 2.6: Set keyframes using Python script 良さそう。

import bpy

def add_nijushikon():
    for x in range(2):
        for y in range(3):
            for z in range(4):
                bpy.ops.mesh.primitive_cylinder_add(
                location=(x, y, z-1),
                rotation=(0.2*(x+y+z), 0, 0),
                radius=0.3,
                depth=0.2
                )
               
add_nijushikon() 

def add_four_pillars(): # 4 hon hashira tateru
    for x in range(2):
        for y in range(2):
            bpy.ops.mesh.primitive_cylinder_add(
            location=(4*x-2, 4*y-2, 0),
            rotation=(0, 0, 0),
            radius=0.3,
            depth=10
            )
            
add_four_pillars() 

# 以下5行で既存カメラCamera位置を指定、指定位置に新ベジエ曲線を配置。
import bpy
camera = bpy.data.objects['Camera']
camera.location = (3, 0, 0)
bpy.ops.curve.primitive_bezier_curve_add(view_align=False, enter_editmode=False, location=(3, 0.0, 0.0), rotation=(0.0, 0.0, 0.0))

|

« blender python 関連資料 | トップページ | blender, python, camera »

コメント

コメントを書く



(ウェブ上には掲載しません)




« blender python 関連資料 | トップページ | blender, python, camera »