Whit python,在搅拌器中,在视频序列编辑器中插入一个 EFFECT STRIP 作为 WIPE
Whit python, In blender insert an EFFECT STRIP as WIPE in the VIDEO SEQUENCE EDITOR
在使用视频序列编辑器的 Blender 中,您可以将静止图像(.jpg 或 png)作为图像条插入并创建轮播。
在每个图像/图像条之间,您可以插入一个效果条作为划像,以在图像/图像条之间创建过渡。
结果:
我可以使用 python.
将图像作为 IMAGE STRIP 插入到 VIDEO SEQUENCE EDITOR 中
示例:
我使用以下代码将图像作为 IMAGE STRIP 插入到 VIDEO SEQUENCE EDITOR 中:
import bpy, os
def importar():
bpy.context.area.type = 'SEQUENCE_EDITOR'
bpy.ops.sequencer.image_strip_add(directory="D:\_webpages\", files=[{"name": "000.jpg","name":"000.jpg" }], relative_path=True, show_multiview=False, frame_start=1, frame_end=289, channel=1);
bpy.ops.sequencer.image_strip_add(directory="D:\_webpages\", files=[{"name": "001.jpg","name":"001.jpg" }], relative_path=True, show_multiview=False, frame_start=241, frame_end=529, channel=2);
bpy.ops.sequencer.image_strip_add(directory="D:\_webpages\", files=[{"name": "002.jpg","name":"002.jpg" }], relative_path=True, show_multiview=False, frame_start=481, frame_end=770, channel=1);
bpy.ops.sequencer.image_strip_add(directory="D:\_webpages\", files=[{"name": "003.jpg","name":"003.jpg" }], relative_path=True, show_multiview=False, frame_start=722, frame_end=1012, channel=2);
bpy.ops.sequencer.image_strip_add(directory="D:\_webpages\", files=[{"name": "004.jpg","name":"004.jpg" }], relative_path=True, show_multiview=False, frame_start=964, frame_end=1255, channel=1);
bpy.ops.sequencer.image_strip_add(directory="D:\_webpages\", files=[{"name": "005.jpg","name":"005.jpg" }], relative_path=True, show_multiview=False, frame_start=1207, frame_end=1499, channel=2);
importar()
结果:我在其交替通道和自己的 IMAGE STRIP 中分别插入了几张图像。
图像/图像条之间存在重叠以允许过渡。
现在我想使用 python.
创建一个 EFFECT STRIP 作为 WIPE
手动创建效果条作为擦除,您必须:
a) select 一张图片/带鼠标的图像条
b) 按 shift 键并用鼠标 select 另一个图像/图像条
c) 点击选项 ADD > EFFECT STRIP > WIPE 添加擦除效果
当你select第一张图片/图像条,在信息window中出现这个代码:
bpy.ops.sequencer.select(extend=False, linked_handle=False, left_right='NONE', linked_time=False)
当您select第二张图片/图像条时,在信息window中出现此代码:
bpy.ops.sequencer.select(extend=True, linked_handle=False, left_right='NONE', linked_time=False)
当您添加擦除效果时点击选项添加 > 效果条 > 擦除,在信息 window 中出现此代码:
bpy.ops.sequencer.effect_strip_add(frame_start=71, frame_end=96, type='WIPE')
我尝试用 python 创建效果条,但我不知道如何 select 图像/图像条 A,然后 select 图像/图像条B 然后创建效果条。
如何使用代码 select 图像/图像条 A,然后 select 图像/图像条 B?
可以给图像条命名并select按名称命名吗?
现在我已经手动创建了 EFFECT STRIP
每个效果条都有自己的名字
使用 python 我可以更改 EFFECT STRIP 属性,例如设置效果模糊:
bpy.context.scene.sequence_editor.sequences_all["Wipe"].blur_width = 0.5
bpy.context.scene.sequence_editor.sequences_all["Wipe.001"].blur_width = 0.5
bpy.context.scene.sequence_editor.sequences_all["Wipe.002"].blur_width = 0.5
bpy.context.scene.sequence_editor.sequences_all["Wipe.003"].blur_width = 0.5
bpy.context.scene.sequence_editor.sequences_all["Wipe.004"].blur_width = 0.5
bpy.context.scene.sequence_editor.sequences_all["Wipe.005"].blur_width = 0.5
bpy.context.scene.sequence_editor.sequences_all["Wipe.006"].blur_width = 0.5
bpy.context.scene.sequence_editor.sequences_all["Wipe.007"].blur_width = 0.5
bpy.context.scene.sequence_editor.sequences_all["Wipe.008"].blur_width = 0.5
bpy.context.scene.sequence_editor.sequences_all["Wipe.009"].blur_width = 0.5
bpy.context.scene.sequence_editor.sequences_all["Wipe.010"].blur_width = 0.5
使用 python 我可以更改 EFFECT STRIP 属性,例如过渡类型、方向
bpy.context.scene.sequence_editor.sequences_all["Wipe.001"].transition_type = 'IRIS';
bpy.context.scene.sequence_editor.sequences_all["Wipe.002"].transition_type = 'IRIS';
bpy.context.scene.sequence_editor.sequences_all["Wipe.002"].direction = 'IN';
bpy.context.scene.sequence_editor.sequences_all["Wipe.003"].transition_type = 'SINGLE';
bpy.context.scene.sequence_editor.sequences_all["Wipe.004"].transition_type = 'SINGLE';
bpy.context.scene.sequence_editor.sequences_all["Wipe.004"].direction = 'IN';
bpy.context.scene.sequence_editor.sequences_all["Wipe.005"].transition_type = 'SINGLE';
bpy.context.scene.sequence_editor.sequences_all["Wipe.005"].angle = 0.785398;
bpy.context.scene.sequence_editor.sequences_all["Wipe.006"].transition_type = 'SINGLE';
bpy.context.scene.sequence_editor.sequences_all["Wipe.006"].direction = 'IN';
bpy.context.scene.sequence_editor.sequences_all["Wipe.006"].angle = 0.785398;
bpy.context.scene.sequence_editor.sequences_all["Wipe.007"].transition_type = 'SINGLE';
bpy.context.scene.sequence_editor.sequences_all["Wipe.007"].angle = 1.5708;
bpy.context.scene.sequence_editor.sequences_all["Wipe.008"].transition_type = 'SINGLE';
bpy.context.scene.sequence_editor.sequences_all["Wipe.008"].direction = 'IN';
bpy.context.scene.sequence_editor.sequences_all["Wipe.008"].angle = 1.5708;
bpy.context.scene.sequence_editor.sequences_all["Wipe.009"].transition_type = 'DOUBLE';
bpy.context.scene.sequence_editor.sequences_all["Wipe.010"].transition_type = 'DOUBLE';
bpy.context.scene.sequence_editor.sequences_all["Wipe.010"].direction = 'IN';
建议直接在脚本中访问数据,而不是使用 Blender 的运算符,此外 performance considerations 使用数据通常更容易、更清晰。
您可以在场景属性中找到VSE的序列列表
import bpy
seqs = bpy.context.scene.sequence_editor.sequences
然后您可以添加 new sequence strips to that list and adjust any strip properties -
s1 = seqs.new_image('img001', '//renders/img001.jpg', 1, 1)
s1.frame_final_duration = 288
s2 = seqs.new_image('img002', '//renders/img002.jpg', 2, 241)
s2.frame_final_duration = 288
然后使用对两个条带的引用,创建擦除效果
w = seqs.new_effect('wipe01', 'WIPE', 3,
s2.frame_start, s1.frame_final_end, seq1=s1, seq2=s2)
w.transition_type = 'IRIS'
然后从第二个条带开始,添加另一个条带并在它们之间擦拭
s1 = s2
s2 = seqs.new_image('img003', '//renders/img003.jpg', 1, 481)
s2.frame_final_duration = 288
w = seqs.new_effect('wipe02', 'WIPE', 3,
s2.frame_start, s1.frame_final_end, seq1=s1, seq2=s2)
w.transition_type = 'SINGLE'
s1 = s2
s2 = seqs.new_image('img004', '//renders/img004.jpg', 2, 722)
s2.frame_final_duration = 288
w = seqs.new_effect('wipe03', 'WIPE', 3,
s2.frame_start, s1.frame_final_end, seq1=s1, seq2=s2)
w.transition_type = 'DOUBLE'
非常感谢sambler
效果很好!
一个工作示例,只需复制并粘贴即可在 python 控制台上进行测试(更改图像的真实路径和名称)
import bpy, os
from bpy import context
scene = context.scene
def importar():
scene.sequence_editor_create()
bpy.context.area.type = 'SEQUENCE_EDITOR'
#
# import images as image strip
#
s1= scene.sequence_editor.sequences.new_image('p01', '/real_path_to_file/000.jpg',1,1);
s2= scene.sequence_editor.sequences.new_image('p02', '/real_path_to_file/001.jpg',2,241);
s3= scene.sequence_editor.sequences.new_image('p03', '/real_path_to_file/002.jpg',1,481);
s4= scene.sequence_editor.sequences.new_image('p04', '/real_path_to_file/003.jpg',2,722);
s5= scene.sequence_editor.sequences.new_image('p05', '/real_path_to_file/004.jpg',1,964);
#
# set duration for each strip
#
s1.frame_final_duration = 288;
s2.frame_final_duration = 288;
s3.frame_final_duration = 288;
s4.frame_final_duration = 288;
s5.frame_final_duration = 288;
#
# create wipe effect
#
w1= scene.sequence_editor.sequences.new_effect('wipe01', 'WIPE', 3,s2.frame_start,s1.frame_final_end,seq1=s1, seq2=s2);
w2= scene.sequence_editor.sequences.new_effect('wipe02', 'WIPE', 3,s3.frame_start,s2.frame_final_end,seq1=s2, seq2=s3);
w3= scene.sequence_editor.sequences.new_effect('wipe03', 'WIPE', 3,s4.frame_start,s3.frame_final_end,seq1=s3, seq2=s4);
w4= scene.sequence_editor.sequences.new_effect('wipe04', 'WIPE', 3,s5.frame_start,s4.frame_final_end,seq1=s4, seq2=s5);
#
# set blur property for wipe effect
#
bpy.context.scene.sequence_editor.sequences_all["wipe01"].blur_width = 0.5;
bpy.context.scene.sequence_editor.sequences_all["wipe02"].blur_width = 0.5;
bpy.context.scene.sequence_editor.sequences_all["wipe03"].blur_width = 0.5;
bpy.context.scene.sequence_editor.sequences_all["wipe04"].blur_width = 0.5;
#
# set properties for wipe effects
#
bpy.context.scene.sequence_editor.sequences_all["wipe01"].transition_type = 'SINGLE';
bpy.context.scene.sequence_editor.sequences_all["wipe01"].direction = 'IN';
bpy.context.scene.sequence_editor.sequences_all["wipe02"].transition_type = 'SINGLE';
bpy.context.scene.sequence_editor.sequences_all["wipe02"].angle = 0.785398;
bpy.context.scene.sequence_editor.sequences_all["wipe03"].transition_type = 'SINGLE';
bpy.context.scene.sequence_editor.sequences_all["wipe03"].direction = 'IN';
bpy.context.scene.sequence_editor.sequences_all["wipe03"].angle = 0.785398;
bpy.context.scene.sequence_editor.sequences_all["wipe04"].transition_type = 'SINGLE';
bpy.context.scene.sequence_editor.sequences_all["wipe04"].angle = 1.5708;
importar()
为了阐明一些方法,此代码手动添加每个图像条、擦除效果和效果属性。
显然,使用 python,您可以将所有 png 或 jpg 文件自动添加到目录中...自动创建擦除效果...自动或随机化每个擦除效果属性。
Blender 2.8 代码更新
之前的代码在 Blender 2.8 中不起作用
代码需要更新,这是在 blender 2.8 中工作的修改后的代码
一个工作示例,只需复制并粘贴即可在 python 控制台上进行测试(更改图像的真实路径和名称):
import bpy, os
from bpy import context
scene = context.scene
def importar():
scene.sequence_editor_create()
bpy.context.area.type = 'SEQUENCE_EDITOR'
#
# import images as image strip
#
s1= scene.sequence_editor.sequences.new_image('p01', '/real_path_to_file/000.jpg',1,1);
s2= scene.sequence_editor.sequences.new_image('p02', '/real_path_to_file/001.jpg',2,241);
s3= scene.sequence_editor.sequences.new_image('p03', '/real_path_to_file/002.jpg',1,481);
s4= scene.sequence_editor.sequences.new_image('p04', '/real_path_to_file/003.jpg',2,722);
s5= scene.sequence_editor.sequences.new_image('p05', '/real_path_to_file/004.jpg',1,964);
#
# set duration for each strip
#
s1.frame_final_duration = 288;
s2.frame_final_duration = 288;
s3.frame_final_duration = 288;
s4.frame_final_duration = 288;
s5.frame_final_duration = 288;
#
# create wipe effect
#
w1= scene.sequence_editor.sequences.new_effect('wipe01', 'WIPE', 3,s2.frame_start,seq1=s1, seq2=s2);
w2= scene.sequence_editor.sequences.new_effect('wipe02', 'WIPE', 3,s3.frame_start,seq1=s2, seq2=s3);
w3= scene.sequence_editor.sequences.new_effect('wipe03', 'WIPE', 3,s4.frame_start,seq1=s3, seq2=s4);
w4= scene.sequence_editor.sequences.new_effect('wipe04', 'WIPE', 3,s5.frame_start,seq1=s4, seq2=s5);
#
# set blur property for wipe effect
#
bpy.context.scene.sequence_editor.sequences_all["wipe01"].blur_width = 0.5;
bpy.context.scene.sequence_editor.sequences_all["wipe02"].blur_width = 0.5;
bpy.context.scene.sequence_editor.sequences_all["wipe03"].blur_width = 0.5;
bpy.context.scene.sequence_editor.sequences_all["wipe04"].blur_width = 0.5;
#
# set properties for wipe effects
#
bpy.context.scene.sequence_editor.sequences_all["wipe01"].transition_type = 'SINGLE';
bpy.context.scene.sequence_editor.sequences_all["wipe01"].direction = 'IN';
bpy.context.scene.sequence_editor.sequences_all["wipe02"].transition_type = 'SINGLE';
bpy.context.scene.sequence_editor.sequences_all["wipe02"].angle = 0.785398;
bpy.context.scene.sequence_editor.sequences_all["wipe03"].transition_type = 'SINGLE';
bpy.context.scene.sequence_editor.sequences_all["wipe03"].direction = 'IN';
bpy.context.scene.sequence_editor.sequences_all["wipe03"].angle = 0.785398;
bpy.context.scene.sequence_editor.sequences_all["wipe04"].transition_type = 'SINGLE';
bpy.context.scene.sequence_editor.sequences_all["wipe04"].angle = 1.5708;
importar()
在 Blender 2.8 中,不需要使用以下方法包含帧结束参数:scene.sequence_editor.sequences.new_effect
为了阐明一些方法,此代码手动添加每个图像条、擦除效果和效果属性。
显然,使用 python,您可以将所有 png 或 jpg 文件自动添加到一个目录中...自动创建擦除效果...自动或随机化每个擦除效果属性。
在使用视频序列编辑器的 Blender 中,您可以将静止图像(.jpg 或 png)作为图像条插入并创建轮播。
在每个图像/图像条之间,您可以插入一个效果条作为划像,以在图像/图像条之间创建过渡。
结果:
我可以使用 python.
将图像作为 IMAGE STRIP 插入到 VIDEO SEQUENCE EDITOR 中示例:
我使用以下代码将图像作为 IMAGE STRIP 插入到 VIDEO SEQUENCE EDITOR 中:
import bpy, os
def importar():
bpy.context.area.type = 'SEQUENCE_EDITOR'
bpy.ops.sequencer.image_strip_add(directory="D:\_webpages\", files=[{"name": "000.jpg","name":"000.jpg" }], relative_path=True, show_multiview=False, frame_start=1, frame_end=289, channel=1);
bpy.ops.sequencer.image_strip_add(directory="D:\_webpages\", files=[{"name": "001.jpg","name":"001.jpg" }], relative_path=True, show_multiview=False, frame_start=241, frame_end=529, channel=2);
bpy.ops.sequencer.image_strip_add(directory="D:\_webpages\", files=[{"name": "002.jpg","name":"002.jpg" }], relative_path=True, show_multiview=False, frame_start=481, frame_end=770, channel=1);
bpy.ops.sequencer.image_strip_add(directory="D:\_webpages\", files=[{"name": "003.jpg","name":"003.jpg" }], relative_path=True, show_multiview=False, frame_start=722, frame_end=1012, channel=2);
bpy.ops.sequencer.image_strip_add(directory="D:\_webpages\", files=[{"name": "004.jpg","name":"004.jpg" }], relative_path=True, show_multiview=False, frame_start=964, frame_end=1255, channel=1);
bpy.ops.sequencer.image_strip_add(directory="D:\_webpages\", files=[{"name": "005.jpg","name":"005.jpg" }], relative_path=True, show_multiview=False, frame_start=1207, frame_end=1499, channel=2);
importar()
结果:我在其交替通道和自己的 IMAGE STRIP 中分别插入了几张图像。
图像/图像条之间存在重叠以允许过渡。
现在我想使用 python.
创建一个 EFFECT STRIP 作为 WIPE手动创建效果条作为擦除,您必须:
a) select 一张图片/带鼠标的图像条
b) 按 shift 键并用鼠标 select 另一个图像/图像条
c) 点击选项 ADD > EFFECT STRIP > WIPE 添加擦除效果
当你select第一张图片/图像条,在信息window中出现这个代码:
bpy.ops.sequencer.select(extend=False, linked_handle=False, left_right='NONE', linked_time=False)
当您select第二张图片/图像条时,在信息window中出现此代码:
bpy.ops.sequencer.select(extend=True, linked_handle=False, left_right='NONE', linked_time=False)
当您添加擦除效果时点击选项添加 > 效果条 > 擦除,在信息 window 中出现此代码:
bpy.ops.sequencer.effect_strip_add(frame_start=71, frame_end=96, type='WIPE')
我尝试用 python 创建效果条,但我不知道如何 select 图像/图像条 A,然后 select 图像/图像条B 然后创建效果条。
如何使用代码 select 图像/图像条 A,然后 select 图像/图像条 B?
可以给图像条命名并select按名称命名吗?
现在我已经手动创建了 EFFECT STRIP
每个效果条都有自己的名字
使用 python 我可以更改 EFFECT STRIP 属性,例如设置效果模糊:
bpy.context.scene.sequence_editor.sequences_all["Wipe"].blur_width = 0.5
bpy.context.scene.sequence_editor.sequences_all["Wipe.001"].blur_width = 0.5
bpy.context.scene.sequence_editor.sequences_all["Wipe.002"].blur_width = 0.5
bpy.context.scene.sequence_editor.sequences_all["Wipe.003"].blur_width = 0.5
bpy.context.scene.sequence_editor.sequences_all["Wipe.004"].blur_width = 0.5
bpy.context.scene.sequence_editor.sequences_all["Wipe.005"].blur_width = 0.5
bpy.context.scene.sequence_editor.sequences_all["Wipe.006"].blur_width = 0.5
bpy.context.scene.sequence_editor.sequences_all["Wipe.007"].blur_width = 0.5
bpy.context.scene.sequence_editor.sequences_all["Wipe.008"].blur_width = 0.5
bpy.context.scene.sequence_editor.sequences_all["Wipe.009"].blur_width = 0.5
bpy.context.scene.sequence_editor.sequences_all["Wipe.010"].blur_width = 0.5
使用 python 我可以更改 EFFECT STRIP 属性,例如过渡类型、方向
bpy.context.scene.sequence_editor.sequences_all["Wipe.001"].transition_type = 'IRIS';
bpy.context.scene.sequence_editor.sequences_all["Wipe.002"].transition_type = 'IRIS';
bpy.context.scene.sequence_editor.sequences_all["Wipe.002"].direction = 'IN';
bpy.context.scene.sequence_editor.sequences_all["Wipe.003"].transition_type = 'SINGLE';
bpy.context.scene.sequence_editor.sequences_all["Wipe.004"].transition_type = 'SINGLE';
bpy.context.scene.sequence_editor.sequences_all["Wipe.004"].direction = 'IN';
bpy.context.scene.sequence_editor.sequences_all["Wipe.005"].transition_type = 'SINGLE';
bpy.context.scene.sequence_editor.sequences_all["Wipe.005"].angle = 0.785398;
bpy.context.scene.sequence_editor.sequences_all["Wipe.006"].transition_type = 'SINGLE';
bpy.context.scene.sequence_editor.sequences_all["Wipe.006"].direction = 'IN';
bpy.context.scene.sequence_editor.sequences_all["Wipe.006"].angle = 0.785398;
bpy.context.scene.sequence_editor.sequences_all["Wipe.007"].transition_type = 'SINGLE';
bpy.context.scene.sequence_editor.sequences_all["Wipe.007"].angle = 1.5708;
bpy.context.scene.sequence_editor.sequences_all["Wipe.008"].transition_type = 'SINGLE';
bpy.context.scene.sequence_editor.sequences_all["Wipe.008"].direction = 'IN';
bpy.context.scene.sequence_editor.sequences_all["Wipe.008"].angle = 1.5708;
bpy.context.scene.sequence_editor.sequences_all["Wipe.009"].transition_type = 'DOUBLE';
bpy.context.scene.sequence_editor.sequences_all["Wipe.010"].transition_type = 'DOUBLE';
bpy.context.scene.sequence_editor.sequences_all["Wipe.010"].direction = 'IN';
建议直接在脚本中访问数据,而不是使用 Blender 的运算符,此外 performance considerations 使用数据通常更容易、更清晰。
您可以在场景属性中找到VSE的序列列表
import bpy
seqs = bpy.context.scene.sequence_editor.sequences
然后您可以添加 new sequence strips to that list and adjust any strip properties -
s1 = seqs.new_image('img001', '//renders/img001.jpg', 1, 1)
s1.frame_final_duration = 288
s2 = seqs.new_image('img002', '//renders/img002.jpg', 2, 241)
s2.frame_final_duration = 288
然后使用对两个条带的引用,创建擦除效果
w = seqs.new_effect('wipe01', 'WIPE', 3,
s2.frame_start, s1.frame_final_end, seq1=s1, seq2=s2)
w.transition_type = 'IRIS'
然后从第二个条带开始,添加另一个条带并在它们之间擦拭
s1 = s2
s2 = seqs.new_image('img003', '//renders/img003.jpg', 1, 481)
s2.frame_final_duration = 288
w = seqs.new_effect('wipe02', 'WIPE', 3,
s2.frame_start, s1.frame_final_end, seq1=s1, seq2=s2)
w.transition_type = 'SINGLE'
s1 = s2
s2 = seqs.new_image('img004', '//renders/img004.jpg', 2, 722)
s2.frame_final_duration = 288
w = seqs.new_effect('wipe03', 'WIPE', 3,
s2.frame_start, s1.frame_final_end, seq1=s1, seq2=s2)
w.transition_type = 'DOUBLE'
非常感谢sambler
效果很好!
一个工作示例,只需复制并粘贴即可在 python 控制台上进行测试(更改图像的真实路径和名称)
import bpy, os
from bpy import context
scene = context.scene
def importar():
scene.sequence_editor_create()
bpy.context.area.type = 'SEQUENCE_EDITOR'
#
# import images as image strip
#
s1= scene.sequence_editor.sequences.new_image('p01', '/real_path_to_file/000.jpg',1,1);
s2= scene.sequence_editor.sequences.new_image('p02', '/real_path_to_file/001.jpg',2,241);
s3= scene.sequence_editor.sequences.new_image('p03', '/real_path_to_file/002.jpg',1,481);
s4= scene.sequence_editor.sequences.new_image('p04', '/real_path_to_file/003.jpg',2,722);
s5= scene.sequence_editor.sequences.new_image('p05', '/real_path_to_file/004.jpg',1,964);
#
# set duration for each strip
#
s1.frame_final_duration = 288;
s2.frame_final_duration = 288;
s3.frame_final_duration = 288;
s4.frame_final_duration = 288;
s5.frame_final_duration = 288;
#
# create wipe effect
#
w1= scene.sequence_editor.sequences.new_effect('wipe01', 'WIPE', 3,s2.frame_start,s1.frame_final_end,seq1=s1, seq2=s2);
w2= scene.sequence_editor.sequences.new_effect('wipe02', 'WIPE', 3,s3.frame_start,s2.frame_final_end,seq1=s2, seq2=s3);
w3= scene.sequence_editor.sequences.new_effect('wipe03', 'WIPE', 3,s4.frame_start,s3.frame_final_end,seq1=s3, seq2=s4);
w4= scene.sequence_editor.sequences.new_effect('wipe04', 'WIPE', 3,s5.frame_start,s4.frame_final_end,seq1=s4, seq2=s5);
#
# set blur property for wipe effect
#
bpy.context.scene.sequence_editor.sequences_all["wipe01"].blur_width = 0.5;
bpy.context.scene.sequence_editor.sequences_all["wipe02"].blur_width = 0.5;
bpy.context.scene.sequence_editor.sequences_all["wipe03"].blur_width = 0.5;
bpy.context.scene.sequence_editor.sequences_all["wipe04"].blur_width = 0.5;
#
# set properties for wipe effects
#
bpy.context.scene.sequence_editor.sequences_all["wipe01"].transition_type = 'SINGLE';
bpy.context.scene.sequence_editor.sequences_all["wipe01"].direction = 'IN';
bpy.context.scene.sequence_editor.sequences_all["wipe02"].transition_type = 'SINGLE';
bpy.context.scene.sequence_editor.sequences_all["wipe02"].angle = 0.785398;
bpy.context.scene.sequence_editor.sequences_all["wipe03"].transition_type = 'SINGLE';
bpy.context.scene.sequence_editor.sequences_all["wipe03"].direction = 'IN';
bpy.context.scene.sequence_editor.sequences_all["wipe03"].angle = 0.785398;
bpy.context.scene.sequence_editor.sequences_all["wipe04"].transition_type = 'SINGLE';
bpy.context.scene.sequence_editor.sequences_all["wipe04"].angle = 1.5708;
importar()
为了阐明一些方法,此代码手动添加每个图像条、擦除效果和效果属性。
显然,使用 python,您可以将所有 png 或 jpg 文件自动添加到目录中...自动创建擦除效果...自动或随机化每个擦除效果属性。
Blender 2.8 代码更新
之前的代码在 Blender 2.8 中不起作用
代码需要更新,这是在 blender 2.8 中工作的修改后的代码
一个工作示例,只需复制并粘贴即可在 python 控制台上进行测试(更改图像的真实路径和名称):
import bpy, os
from bpy import context
scene = context.scene
def importar():
scene.sequence_editor_create()
bpy.context.area.type = 'SEQUENCE_EDITOR'
#
# import images as image strip
#
s1= scene.sequence_editor.sequences.new_image('p01', '/real_path_to_file/000.jpg',1,1);
s2= scene.sequence_editor.sequences.new_image('p02', '/real_path_to_file/001.jpg',2,241);
s3= scene.sequence_editor.sequences.new_image('p03', '/real_path_to_file/002.jpg',1,481);
s4= scene.sequence_editor.sequences.new_image('p04', '/real_path_to_file/003.jpg',2,722);
s5= scene.sequence_editor.sequences.new_image('p05', '/real_path_to_file/004.jpg',1,964);
#
# set duration for each strip
#
s1.frame_final_duration = 288;
s2.frame_final_duration = 288;
s3.frame_final_duration = 288;
s4.frame_final_duration = 288;
s5.frame_final_duration = 288;
#
# create wipe effect
#
w1= scene.sequence_editor.sequences.new_effect('wipe01', 'WIPE', 3,s2.frame_start,seq1=s1, seq2=s2);
w2= scene.sequence_editor.sequences.new_effect('wipe02', 'WIPE', 3,s3.frame_start,seq1=s2, seq2=s3);
w3= scene.sequence_editor.sequences.new_effect('wipe03', 'WIPE', 3,s4.frame_start,seq1=s3, seq2=s4);
w4= scene.sequence_editor.sequences.new_effect('wipe04', 'WIPE', 3,s5.frame_start,seq1=s4, seq2=s5);
#
# set blur property for wipe effect
#
bpy.context.scene.sequence_editor.sequences_all["wipe01"].blur_width = 0.5;
bpy.context.scene.sequence_editor.sequences_all["wipe02"].blur_width = 0.5;
bpy.context.scene.sequence_editor.sequences_all["wipe03"].blur_width = 0.5;
bpy.context.scene.sequence_editor.sequences_all["wipe04"].blur_width = 0.5;
#
# set properties for wipe effects
#
bpy.context.scene.sequence_editor.sequences_all["wipe01"].transition_type = 'SINGLE';
bpy.context.scene.sequence_editor.sequences_all["wipe01"].direction = 'IN';
bpy.context.scene.sequence_editor.sequences_all["wipe02"].transition_type = 'SINGLE';
bpy.context.scene.sequence_editor.sequences_all["wipe02"].angle = 0.785398;
bpy.context.scene.sequence_editor.sequences_all["wipe03"].transition_type = 'SINGLE';
bpy.context.scene.sequence_editor.sequences_all["wipe03"].direction = 'IN';
bpy.context.scene.sequence_editor.sequences_all["wipe03"].angle = 0.785398;
bpy.context.scene.sequence_editor.sequences_all["wipe04"].transition_type = 'SINGLE';
bpy.context.scene.sequence_editor.sequences_all["wipe04"].angle = 1.5708;
importar()
在 Blender 2.8 中,不需要使用以下方法包含帧结束参数:scene.sequence_editor.sequences.new_effect
为了阐明一些方法,此代码手动添加每个图像条、擦除效果和效果属性。
显然,使用 python,您可以将所有 png 或 jpg 文件自动添加到一个目录中...自动创建擦除效果...自动或随机化每个擦除效果属性。