参照元
- selection tools – selecting sequences in VSE via python – Blender Stack Exchange
- scripting – How to change to constant interpolation mode from a python script? – Blender Stack Exchange
結果
下記のコードについて記載
- 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 追加
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)