[Blender][スクリプト]シーケンサーでストリップの尺を一括指定する
シーケンサーで選択中のストリップの尺を一括で変更する。
スクリプト内で尺を指定します。
import bpy
# 変更したい尺の長さをフレーム数で指定
new_length = 24 # フレーム数を指定
# 選択したすべてのシーケンスストリップを取得
selected_strips = [strip for strip in bpy.context.scene.sequence_editor.sequences if strip.select]
# 現在のチャンネルごとにストリップをグループ化
channels = {}
for strip in selected_strips:
if strip.channel not in channels:
channels[strip.channel] = []
channels[strip.channel].append(strip)
# チャンネルごとにストリップを開始フレーム順に並べ替え
for channel, strips in channels.items():
strips.sort(key=lambda strip: strip.frame_start)
# ストリップの位置と長さを調整
current_start_frame = strips[0].frame_start # 最初のストリップの開始位置を保持
for strip in strips:
strip.frame_start = current_start_frame # ストリップの開始位置を設定
strip.frame_final_duration = new_length # 尺を変更
current_start_frame += new_length # 次のストリップの開始位置を更新
この記事が気に入ったらサポートをしてみませんか?