結果
下記のコードについて記載
- Image sequence strip 追加
- 選択中 strip 選択
- 全ての strip を取得
- 開始/終了フレーム引き伸ばし
Image Sequence Strip 追加
参照元
コード
前回のブログでは単一のイメージだったけど今回はイメージシーケンスの追加方法
import os
import glob
import bpy
IMG_STRIP_NAME = 'Image'
IMG_STRIP_CHANNEL = 1
context = bpy.context
scene = context.scene
sed = scene.sequence_editor
sequences = sed.sequences
dir = "*"
# ファイルの一覧を取得
files = glob.glob(os.path.join(dir, "*.png"))
# 最小インデックスの為必要
path = os.path.join(dir, files[0])
frame_start = 1
# image ストリップを追加
img_strip = sequences.new_image(
IMG_STRIP_NAME, # ストリップの名前
path, # ファイルパス
IMG_STRIP_CHANNEL, # 読み込み先のチャンネル
frame_start # 開始フレーム
)
# 以降のファイルを append で追加
for f in files[1:]:
# フルパスからファイル名だけを取るため os.path.split を使用
strip.elements.append(os.path.split(f)[1])
Code language: PHP (php)
選択中 strip 選択
参照元
コード
import os
import glob
import bpy
context = bpy.context
scene = context.scene
sed = scene.sequence_editor
sequences = sed.sequences
strip = sed.active_strip
Code language: JavaScript (javascript)
全ての strip を取得
コード
import bpy
context = bpy.context
scene = context.scene
sed = scene.sequence_editor
strips = sed.sequences_all
Code language: JavaScript (javascript)
開始/終了フレーム引き伸ばし
- 開始フレームを引き伸ばす場合 frame_final_start
- 終了フレームを引き伸ばす場合 frame_final_end
- 引き伸ばす場合は frame_final_end+ 引き伸ばしたいフレーム数とする
- 最終的なフレーム長は、frame_final_endに入っている
- 開始フレームを前方に引き伸ばす場合は frame_final_start – 引き伸ばしたいフレーム数
import bpy
context = bpy.context
scene = context.scene
sed = scene.sequence_editor
sequences = sed.sequences
strip = sed.active_strip
# 終了フレームを 10 frame 引き伸ばす例
strip.frame_final_end = strip.frame_final_end + 10
Code language: PHP (php)
seq_slide の仕様の助けとなったページ
scripting – Help me understand crossfade info pulled via Python – Blender Stack Exchange
import bpy
context = bpy.context
scene = context.scene
sed = scene.sequence_editor
sequences = sed.sequences
strip = sed.active_strip
print(str(strip.frame_final_end)) # 最終フレーム引伸し
print(str(strip.frame_final_start)) # 開始フレーム引伸し
print(str(strip.frame_start)) # 開始フレームの開始位置
print(str(strip.frame_offset_end)) # ?
print(str(strip.frame_offset_end)) # ?
print(str(strip.frame_final_duration)) # ストリップのフレーム長
print(str(strip.frame_duration)) # 動画のフレーム長
Code language: PHP (php)