Papercut storyboard
Le storyboard est le plan à partir duquel chaque scène est construite. Il nomme le mouvement de caméra et la coupe pour chaque scène, afin que l'agent de scène ne les invente pas. Un brief qui dit "CameraPush ou votre propre transformation" reçoit une poussée plate ou un zoom artisanal dans chaque scène, et les mouvements de caméra du kit restent inutilisés.
Prévol
- Installation : le minimum suffit. Avec une bibliothèque, vérifiez
style/$MOTION_STYLE/remotion/CATALOG.md(sections "paper/camera.tsx" et "paper/transitions.tsx") pour les props de chaque mouvement et quand il convient. Si le fichier est manquant ou obsolète, exécutezpython3 $MOTION_LIB/core/tools/catalog.py. Résolvez$MOTION_LIBà partir de l'environnement, sinon à partir de la ligneMOTION_LIB=dans~/.config/motion-explainer/config.env, sinon demandez une fois. - Nécessite
narration/script.jsonetvideo/STORYBOARD.mdavec le bloc HOOK et la table de mise en scène (bannière, décor, accessoire, moment UI, mascotte, gag par ligne). Manquants : exécutezmotion-hooketmotion-script. - Feuille de fond pour choisir les décors :
style/$MOTION_STYLE/remotion/public/bg/backdrops/_sheet.jpg. Ouvrez seulement ce dont l'étape a besoin.
1. Règles globales
Placez-les en haut de STORYBOARD.md, sous le bloc HOOK. Palette par rôle (faites pivoter les couleurs de fond par décor) : $MOTION_LIB/style/$MOTION_STYLE/docs/style-guide.md section 5. Polices : section 6. Toile et zones : section 4. Un déverrouillage de fonctionnalité qui convient à une métaphore étendue peut utiliser la section 12.
- 1080x1920, 30 ips. Bannière à 14-21% de hauteur, bande de légende 68-80% (elle se décale par scène pour rester hors des visages), bas 20% dégagé.
- Lumière depuis le coin supérieur gauche. Saturation uniquement sur les personnages, les légendes et les signaux.
2. Table Caméra / Coupe
Une ligne par scène, avant les blocs de scène. Chaque ligne nomme un composant du kit paper/camera.tsx et le type CutSeries (depuis paper/transitions.tsx) pour la coupe dans cette scène.
| Scène | Caméra (paper/camera.tsx) | Coupe entrante (type CutSeries) |
|---|---|---|
| S01Hook | OrbitCamera + Depth, SnapZoom sur "" | none |
| S04Name | Crane monte vers | tearAway |
| S09Peak | CrabTrack le long de | whip |
| S10CTA | RackFocus vers téléphone | tapePull |
- Options de caméra :
OrbitCamera+Depth,SnapZoom,Crane,CrabTrack,DollyZoom,RackFocus,ForegroundPass,DutchTilt,FocusPulse,FreezeFrame,PullBack,PovMask,TimeRamp,TiltShift,FocusHunt,Handheld, etCameraPush(depuispaper/kit.tsx). La sectionpaper/camera.tsxdu catalogue indique quand chacun convient. - Options de coupe :
hard,whip,zoomThrough,pageTurn,tearAway,tapePull,stampCut,infiniteZoom,popUpBook,keyhole,burnAway. - Un simple
CameraPushest autorisé sur au maximum un tiers des scènes. - Copiez la caméra de chaque ligne dans l'en-tête de son bloc de scène. La colonne de coupe va dans
episode.jsonsous"cuts": {"S04Name": {"kind": "tearAway"}}(aucune entrée signifie une coupe franche), quemotion-buildremplit.
3. Blocs de scène
Un bloc par scène, 1,5-5 s chacun, coupant aux limites des phrases :
## S03 : <rythme> (5,6-8,2 s, 78 i) BANNIÈRE : <LEÇON EN MAJUSCULES>
Emplacement/fond : <emplacement monde + couleur fond> Caméra : <composant camera.tsx + params, depuis la table> Coupe entrante : <type>
Distribution : <qui, accessoires> Bande légende : y=0,76
| Mot VO (accentué) | trame | événement | spécification mouvement |
| "<mot>" | +6 | <accessoire entre / état bascule / agit> | <ressort/glisse/échange + images> |
Ambiance : <clignotement LED, oscillation au repos, étoiles, forme d'onde écran>
Bouillon : bannière + étiquettes, +-1,5 px toutes les 2 trames
SFX : <pop, carillon, clic...>
- Développez chaque ligne de la table de mise en scène en événements au niveau de la trame : un par mot accentué (toutes les 0,4-0,8 s), mouvement ambiant toujours actif. Les trames sont des décalages par rapport au mot, lues plus tard avec
cueOf(ID)(mot, n). - L'UI produit est la reconstruction grossière sur un moniteur ou un ordinateur portable en papier, avec des interactions factices (clic de curseur, frappe, progression, forme d'onde, défilement de liste).
- Preuve : une fois par bobine, une capture d'écran réelle de la page source (une capture de navigateur via
$MOTION_LIB/core/tools/capture.mjs, pas un redessin) collée sur une carte en papier, avec un cercle de marqueur rouge se dessinant autour de la ligne clé. Tout le reste reste une reconstruction papercut grossière. - Un rappel vers un décor antérieur avant l'APPEL À L'ACTION.
4. Règles de caméra et de transition
- Chaque scène a un mouvement. Une poussée lente est la base. Ajoutez une orbite parallaxe sur les décors éclairés pour la profondeur, un punch-in ou snap zoom sur le mot accentué pour les chiffres et les blagues, un passage avant (objet papier flou devant l'objectif) ou un rack focus, un pull-back pour révéler l'échelle, et un freeze frame avec une étiquette sur le rythme de la mascotte en difficulté.
- Principalement des coupes franches sur le changement de bannière. Un whip-pan avec flou de mouvement sur 2-3 changements de sujet, un zoom-through en entrant "à l'intérieur" d'un écran, d'une porte ou d'un miroir, au maximum un tournage de page ou déchirure par bobine (sur l'accroche ou un contraste avant/après), et la tape pull vers l'APPEL À L'ACTION (une bande kraft simple, avec une
étiquettefacultative pour imprimer un mot dessus). - La coupe de sortie de l'accroche porte le mouvement à travers elle. Appliquez la règle de
motion-hookà S01 et S02. - Les transitions durent 6 à 12 trames, chacune avec son SFX (whip, zoom, page-flip, rip, tape-peel).
- Dans un projet de bibliothèque, enchaînez les scènes avec la série de transitions du kit, ce qui maintient le début de chaque scène sur son image
plan.jsonpour que la voix reste synchronisée.
5. Plan SFX
- Sons aériens (whoosh, slide, whip, zoom) ensemble : au maximum un toutes les 2,5 s de bobine.
cues.pyimprime une note au-dessus de cela. Pour l'échelle, 12 en 33 s est bien et 24 en 26 s est distrayant. - Les entrées reçoivent des sons de contact (pop, thud, stamp) ou du silence. Comptez-les dans
tools/cues.jsonavant le rendu audio. - Nommez les SFX depuis
$MOTION_LIB/core/audio/CATALOG.mddans la ligneSFX:de chaque bloc. Les agents de scène écrivent les vraies lignes danstools/cue_sheet.d/<Scène>.json. - Choisissez le préréglage de fond (
episode.json"bed") et définissezcutSfxpour correspondre aux types de coupe :tearAwayrip,tapePulltape-peel.
Porte
-
Chaque scène a une caméra et une coupe entrante, et un simple
CameraPushest sur au maximum un tiers d'entre elles. -
Chaque mot accentué a un événement ; le mouvement ambiant est listé.
-
Un rythme de preuve, un rappel, la tape pull ou whip vers l'APPEL À L'ACTION.
-
Au maximum un tournage de page ou déchirure ; sons aériens dans le budget.
-
Nommez l'anticipation et le rythme exagéré dans la table d'événements de chaque bloc de scène. Les 12 principes, mappés aux composants du kit, se trouvent dans
$MOTION_LIB/style/$MOTION_STYLE/docs/motion-principles.md.
Remise
La prochaine étape est motion-build, qui échafaude le projet et transforme la table Caméra/Coupe et les limites de scène en episode.json. Il lit STORYBOARD.md et narration/script.json. La section Timing de STORYBOARD.md est générée plus tard, après la voix, donc laissez-la de côté.