Blender VSE Python から Strip を追加、キーフレーミング、グラフ修正

VideoSequenceEditor

参照元

結果

下記のコードについて記載

  • Image strip 追加
  • Transform strip 追加
  • Text strip 追加(サイズ、位置、blend type、align_x、テキストの内容の設定を含む)
  • Transform strip スケーリング、キーフレーミング、グラフ効果変更

Image Strip 追加

import bpy context = bpy.context scene = context.scene sed = scene.sequence_editor sequences = sed.sequences IMG_STRIP_NAME = 'Image' FILEPATH = 'test.png' IMG_STRIP_CHANNEL = 2 frame_start = 1 frame_end = 24 # image strip img_strip = sequences.new_image( IMG_STRIP_NAME, # ストリップの名前 FILEPATH, # ファイルパス IMG_STRIP_CHANNEL, # 読み込み先のチャンネル frame_start # 開始フレーム ) img_strip.frame_final_end = frame_end # 終了フレーム
Code language: PHP (php)

Transform strip 追加

  • 既存のストリップを変形させる為、何かしら参照元が必要
  • 参照元seq1 パラメーターで渡す
  • ここでは 上記の img_strip を参照する前提
import bpy TRN_STRIP_NAME = 'Transform' TRN_STRIP_CHANNEL = 3 context = bpy.context scene = context.scene sed = scene.sequence_editor sequences = sed.sequences frame_start = 1 frame_end = 24 # tranform strip trn_strip = sequences.new_effect( TRN_STRIP_NAME, # ストリップの名前 'TRANSFORM', # effect の種類 = TRANSFORM TRN_STRIP_CHANNEL, # 読み込み先のチャンネル frame_start = frame_start, # 開始フレーム frame_end = frame_end, # 終了フレーム seq1 = img_strip # Transform させる strip )
Code language: PHP (php)

Text strip 追加(サイズ、位置、blend type、align_x、テキストの内容の設定を含む)

  • テキストも Transform同様で、effect の一種
import bpy TEXT_STRIP_NAME = 'Text' TEXT_STRIP_CHANNEL = 4 TIME_STRIP_LOC_X = 0.08 TIME_STRIP_LOC_Y = 0.85 TIME_STRIP_FONTSIZE = 120 context = bpy.context scene = context.scene sed = scene.sequence_editor sequences = sed.sequences frame_start = 1 frame_end = 24 txt_strip = sequences.new_effect( TEXT_STRIP_NAME, # ストリップの名前 'TEXT', # effect の種類 = TEXT TEXT_STRIP_CHANNEL, # 読み込み先のチャンネル frame_start = frame_start, # 開始フレーム frame_end = frame_end # 終了フレーム ) txt_strip.font_size = TXT_STRIP_FONTSIZE # フォントサイズ設定 txt_strip.location[0] = TIME_STRIP_LOC_X # x の位置を設定 txt_strip.location[1] = TIME_STRIP_LOC_Y # y の位置を設定 txt_strip.blend_type = 'ALPHA_OVER' # Blend type を設定 txt_strip.align_x = 'LEFT' # align_x を設定 txt_strip.text = 'test text' # テキストの内容を設定
Code language: PHP (php)

Transform strip スケーリング、キーフレーミング、グラフ効果変更

  • キーフレームについて。ここでは 左隅の位置を変更
  • グラフについて
    • 'LINEAR', 'BEZIER', 'BOUNCE', 'ELASTIC', 'BACK' がある
    • シーンから編集する方法のみ判明。
    • シーンから修正する場合は、適切なシーン名を予め知っておかなければならない
    • シーンから修正する場合は、シーンに含まれる全グラフの内、何番目のグラフを修正するのか番号を知っておく必要がある
    • 番号(添字)は0から始まる
TRN_SCALE_X = 2 TRN_SCALE_Y = 1 TRN_LOCATE_X_FROM = 50 TRN_LOCATE_X_TO = -50 trn_strip.scale_start_x = TRN_SCALE_X # Xのスケールを設定 trn_strip.scale_start_y = TRN_SCALE_Y # Yのスケールを設定 # Transform strip 左端の位置を移動させるキーフレーム frame_start = 1 second = 3 fps = 24 # 開始位置の設定 trn_strip.translate_start_x = TRN_LOCATE_X_FROM trn_strip.keyframe_insert('translate_start_x', frame=frame_start ) # 終了位置の設定 trn_strip.translate_start_x = TRN_LOCATE_X_TO trn_strip.keyframe_insert('translate_start_x', frame=frame_start + second * fps) # グラフの設定 graph_index = 0 scene_name = 'SceneAction.001' bpy.data.actions[scene_name].fcurves[graph_index].keyframe_points[0].interpolation = 'LINEAR'
Code language: PHP (php)

コメント

タイトルとURLをコピーしました