当前位置:  开发笔记 > 编程语言 > 正文

为不透明度和体积编写关键帧插入的脚本

如何解决《为不透明度和体积编写关键帧插入的脚本》经验,为你挑选了1个好方法。

Video Sequence EditorBlender 2.74下添加,修剪和安排我的家庭录像.我的下一个目标是使用脚本,每个音频和视频序列自动淡入淡出.

目前,我的脚本循环遍历所有序列并检查类型.如果序列类型是电影或图像,则不透明度将是关键帧,如果序列是声音,则要将音量设置为关键帧.目前我的脚本还能够找到每个序列的开始和结束帧,以及计算和跳转到应该开始/结束衰落的帧的能力.但是,要Graph Editor使用脚本中的不透明度和体积关键帧,似乎不可能.

根据Blender 2.73.8 API,似乎有能力编写关键帧的脚本bpy.ops.graph.keyframe_insert(type='ALL'),但似乎没有任何能力使用脚本来关键帧不透明度和音量.

有人可以告诉我如何使用脚本关键帧不透明度和音量?

import bpy



# ----------------------------------------
# main
# ----------------------------------------

scene = bpy.context.scene
scene.frame_current = 0

queue = scene.sequence_editor.sequences

print("Frames Per Second [ ", scene.render.fps, " ].")
bpy.ops.sequencer.select_all(0)

for i in queue:
    itemLead = i.frame_start
    itemBack = itemLead + i.frame_final_duration

    print("Lead [ ", itemLead, " ] Tail [ ", itemBack, " ].")
    itemType = i.type

    if itemType == "MOVIE":
        i.select = 1

        scene.frame_current = itemLead
        i.blend_alpha = 0.0

        ##bpy.ops.graph.keyframe_insert(type="blend_alpha")

        print("Movie mode.")
        i.select = 0

        continue

    if itemType == "SOUND":
        i.select = 1
        print("Sound mode.")
        i.select = 0

        continue

    if itemType == "IMAGE":
        i.select = 1
        print("Image mode.")
        i.select = 0

        continue

    print("Skipped [ ", itemType, " ].")

sambler.. 5

要使用python添加关键帧,请告诉属性(条带)的所有者为其中一个属性(不透明度)插入关键帧

scene = bpy.context.scene
queue = scene.sequence_editor.sequences

queue[0].blend_alpha = 0.0
queue[0].keyframe_insert('blend_alpha', frame=1)

queue[0].blend_alpha = 1.0
queue[0].keyframe_insert('blend_alpha', frame=10)

您可能还注意到您可以指定键的框架,这样您就不需要调整当前帧.如果你想改变当前帧,最好使用scene.frame_set().



1> sambler..:

要使用python添加关键帧,请告诉属性(条带)的所有者为其中一个属性(不透明度)插入关键帧

scene = bpy.context.scene
queue = scene.sequence_editor.sequences

queue[0].blend_alpha = 0.0
queue[0].keyframe_insert('blend_alpha', frame=1)

queue[0].blend_alpha = 1.0
queue[0].keyframe_insert('blend_alpha', frame=10)

您可能还注意到您可以指定键的框架,这样您就不需要调整当前帧.如果你想改变当前帧,最好使用scene.frame_set().

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有