Fonctionnement
Sortie en direct du vrai moteur de rendu — modifiez les réglages et elle se met à jour instantanément.
Étapes de tutoriel
motion design
Des étapes numérotées sur un rail tracé, chacune avec l'endroit où cliquer.
Idéal pour : Un tutoriel en trois gestes.
Réglages
Police
Thème
Taille
Humeur
L'utiliser dans un film
Idéal pourTutoriel
Ce que vous pouvez changer :
kickertitlestepsPour les développeurs (MCP et JSON)
Voici la scène exacte à envoyer à create_animation (MCP) : gardez la structure, changez les mots et écrivez la narration — c'est la voix qui fixe la durée de la scène. Collez-la dans update_storyboard avec set_data pour modifier un film déjà fait.
{
"visual": "motion",
"heading": "Tutorial",
"narration": "Write the sentence the voice says over this scene; its length is the scene's.",
"data": {
"motion": {
"spec": {
"version": 1,
"name": "Tutorial steps",
"intent": "stepFlow: a process: 2-5 steps in order, each a short title with an optional caption",
"stagger": "item",
"params": [
{
"name": "kicker",
"type": "text",
"default": "Tutorial",
"maxLength": 28,
"label": "Eyebrow"
},
{
"name": "title",
"type": "text",
"default": "Export your first report",
"maxLength": 48,
"label": "Title"
},
{
"name": "steps",
"type": "list",
"default": [
{
"title": "Open Reports",
"caption": "Left sidebar"
},
{
"title": "Pick a range",
"caption": "Last 30 days"
},
{
"title": "Press Export",
"caption": "PDF or CSV"
}
],
"min": 2,
"max": 5,
"items": "record",
"label": "Steps"
}
],
"layers": [
{
"id": "kicker",
"kind": "text",
"text": "{{kicker}}",
"role": "label",
"uppercase": true,
"color": "c2",
"align": "center",
"maxLines": 1,
"box": {
"col": 0,
"row": 0,
"cols": 12,
"rows": 0.7
},
"tall": {
"col": 0,
"row": 0,
"cols": 12,
"rows": 0.6
},
"enter": {
"primitive": "fadeUp",
"distance": "nudge",
"order": 0
}
},
{
"id": "title",
"kind": "text",
"text": "{{title}}",
"role": "display",
"align": "center",
"maxLines": 2,
"box": {
"col": 0,
"row": 1,
"cols": 12,
"rows": 3.2
},
"tall": {
"col": 0,
"row": 0.7,
"cols": 12,
"rows": 2.8
},
"enter": {
"primitive": "maskReveal",
"order": 0
},
"emphasis": {
"primitive": "underline"
},
"exit": {
"primitive": "exitLift"
}
},
{
"id": "rail",
"kind": "shape",
"shape": "line",
"stroke": "c1",
"strokeWidth": "thin",
"opacity": 0.6,
"box": {
"col": 0.5,
"row": 5.4,
"cols": 11,
"rows": 0.6
},
"tall": {
"col": 0.95,
"row": 3.9000000000000004,
"cols": 0.6,
"rows": 8.1
},
"enter": {
"primitive": "lineDraw",
"order": 1
}
},
{
"id": "card",
"kind": "shape",
"shape": "rect",
"fill": "surface",
"radius": "lg",
"elevation": 2,
"repeat": {
"param": "steps",
"flow": "row",
"gap": "md"
},
"box": {
"col": 0,
"row": 4.7,
"cols": 12,
"rows": 7.3
},
"tall": {
"col": 2.4,
"row": 3.9000000000000004,
"cols": 9.6,
"rows": 8.1
},
"enter": {
"primitive": "fadeUp",
"order": 2
}
},
{
"id": "dot",
"kind": "shape",
"shape": "circle",
"fill": "c1",
"repeat": {
"param": "steps",
"flow": "row",
"gap": "md"
},
"box": {
"col": 0,
"row": 5,
"cols": 12,
"rows": 1.4
},
"tall": {
"col": 0.25,
"row": 3.9000000000000004,
"cols": 2,
"rows": 8.1
},
"enter": {
"primitive": "scaleSettle",
"spring": "bouncy",
"order": 2
}
},
{
"id": "num",
"kind": "number",
"value": "{{index}}",
"role": "title",
"color": "onBrand",
"repeat": {
"param": "steps",
"flow": "row",
"gap": "md"
},
"box": {
"col": 0,
"row": 5,
"cols": 12,
"rows": 1.4
},
"tall": {
"col": 0.25,
"row": 3.9000000000000004,
"cols": 2,
"rows": 8.1
},
"enter": {
"primitive": "scaleSettle",
"order": 2
}
},
{
"id": "stepTitle",
"kind": "text",
"text": "{{item.title}}",
"role": "title",
"align": "center",
"maxLines": 2,
"repeat": {
"param": "steps",
"flow": "row",
"gap": "lg"
},
"box": {
"col": 0.2,
"row": 6.800000000000001,
"cols": 11.6,
"rows": 2.6
},
"valign": "start",
"enter": {
"primitive": "fadeUp",
"order": 3
},
"tall": {
"col": 2.9,
"row": 4.1000000000000005,
"cols": 8.7,
"rows": 7.699999999999999
}
},
{
"id": "stepCaption",
"kind": "text",
"text": "{{item.caption}}",
"role": "body",
"color": "sub",
"align": "center",
"maxLines": 3,
"repeat": {
"param": "steps",
"flow": "row",
"gap": "lg"
},
"box": {
"col": 0.2,
"row": 9.7,
"cols": 11.6,
"rows": 2
},
"valign": "end",
"enter": {
"primitive": "fadeUp",
"distance": "nudge",
"order": 3
},
"tall": {
"col": 2.9,
"row": 4.1000000000000005,
"cols": 8.7,
"rows": 7.699999999999999
}
}
]
},
"name": "Tutorial steps"
}
}
}Réutilisez-la : enregistrez data.motion.spec une fois avec save_motion_spec (vérifiée comme avec validate_motion_spec), puis toute scène peut utiliser le visuel « motion » avec data.motion.specId et ses propres paramètres. Nom de la spec : « Tutorial steps ».