[Blender]モーションパスからカーブをつくる
この記事では、モーションパス(軌跡)をカーブとして実体化する方法をまとめていきます。
この方法のメリットは、大まかな動きを作成したあとに、それをオブジェクトとして直観的に編集できるところです。
大まかには以下の手順でつくっていきます。
1.アニメーションをつくる
2.モーションパスを作成する
3.プログラムを実行する
4.カーブに沿ってオブジェクトを動かす
1.アニメーションをつくる
1-1.適当なアニメーションをつくる
2.モーションパスを作成する
2-1.オブジェクトプロパティタブ→モーションパスタブを開く
2-2.モーションパスを計算する範囲を決定する
2-3.Calculateボタンを押下する
2-4.OKボタンを押下する
3.プログラムを実行する
3-1.Scriptingタブを開く
3-2.+ Newボタンを押下する
3-3.以下のコードを入力する
import bpy
#変数の設定
ob = bpy.context.object
mp = ob.motion_path
#もしモーションパスが存在するならば
if mp:
#変数の設定
path = bpy.data.curves.new('path','CURVE') #pathという名前のカーブを作成する
curve = bpy.data.objects.new('Curve',path) #Curveという名前のオブジェクトを作成する
bpy.context.scene.collection.objects.link(curve) #オブジェクト("Curve")を3Dビューポート(Scene)に追加する
path.dimensions = '3D' #カーブの種類を決定する
spline = path.splines.new('BEZIER') #BEZIERを追加する
spline.bezier_points.add(len(mp.points)-1) #ベジエをモーションパスの頂点-1つ分追加する
#追加されたベジエの頂点の数だけ処理を繰り返す
for i,o in enumerate(spline.bezier_points):
#ベジエの頂点を、モーションパスの頂点の位置に配置する
o.co = mp.points[i].co
o.handle_right_type = 'AUTO'
o.handle_left_type = 'AUTO'
3-4.再生ボタンを押す(オブジェクトを選択していることを確認してから)
4.カーブに沿ってオブジェクトを動かす
4-1.コンストレイントタブを開いて、follow pathを選択
4-2.Targetにカーブを選択して、Offsetにキーを打つ
参考記事
この記事が気に入ったらサポートをしてみませんか?