将活动动画副本缓存在选定动画属性上,然后创建一个新的空白动画。
此操作用于在更改动画属性值之前先将活动动画属性的副本缓存在自定义属性中,并在新的空白动画剪辑中创建新的动画。
缓存的动画副本将直接复制到新的空白动画剪辑中,从而避免在缓存动画期间进行智能曲线平滑处理而导致的动画过渡问题。
如果使用当前活动动作,则使用当前激活的动画剪辑中的所有帧。如果未使用当前活动动作,则使用默认的绑定动画游戏剪辑作为模板。
当使用缓存动画期间进行平滑处理时,建议使用此操作。避免了在尝试更改动画时,在重新生成智能曲线时出现不必要的动画跳跃问题。
import bpy
# Create an empty scene
bpy.ops.scene.new()
# Create a new object and add an animation
object = bpy.data.objects.new("Animation Object", None)
bpy.context.collection.objects.link(object)
bpy.context.view_layer.objects.active = object
# Stash and create a new empty animation
bpy.ops.anim.stash_and_create()
# Change the object's location animation
object.location = (1,1,1)
# Switch back to the default animation
bpy.ops.anim.unstash()
# Play the default animation
bpy.ops.screen.animation_play()