見出し画像

[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  # 次のストリップの開始位置を更新

この記事が気に入ったらサポートをしてみませんか?