7 Animation

Il y a deux manière d'ajouter des keyframes (clés d'animations) en Python.

La première utilise les propriétés des keys (clés), ce qui revient à insérer une clé d'animation à la main avec un bouton ou la touche i. Vous pouvez aussi créer manuellement la courbe et les clés d'animations associées.

Exemple simple :

1
2
3
4
5
obj = bpy.context.object
obj.location[2] = 0.0
obj.keyframe_insert(data_path="location", frame=10.0, index=2)
obj.location[2] = 1.0
obj.keyframe_insert(data_path="location", frame=20.0, index=2)

Exemple avec des fonctions de bas niveau :

1
2
3
4
5
6
7
obj = bpy.context.object
obj.animation_data_create()
obj.animation_data.action = bpy.data.actions.new(name="MyAction")
fcu_z = obj.animation_data.action.fcurves.new(data_path="location", index=2)
fcu_z.keyframe_points.add(2)
fcu_z.keyframe_points[0].co = 10.0, 0.0
fcu_z.keyframe_points[1].co = 20.0, 1.0

Un script pour le premier exemple se présenterait de cette manière :

1
2
3
4
5
6
7
import bpy

obj = bpy.context.object
obj.location[2] = 0.0
obj.keyframe_insert(data_path="location", frame=10.0, index=2)
obj.location[2] = 1.0
obj.keyframe_insert(data_path="location", frame=20.0, index=2)

N'oubliez pas de mettre l'import bpy autrement Blender ne sera pas content.

Ensuite faites Run Script, puis mettez le end de la Timeline à 30.

plop

Vous aurez constaté que la Timeline ne se met pas à jour toute seule, alors que le cube à bien bouger dès que l'on a exécuté le script.

Et si vous cliquez sur la flèche de lecture, vous allez pouvoir contempler cette superbe animation.

Voici le script ici.