Version contemplative
Un personnage solitaire qui trouve du réconfort quand vous vous approchez doucement
Au cinéma, le réalisateur utilise le cadrage pour guider l’émotion du spectateur :
Dans In the Mood for Love de Wong Kar-wai, la distance entre les personnages dans le cadre reflète leur relation émotionnelle. Quand ils sont éloignés dans le cadre, leur connexion est fragile. Quand ils se rapprochent, l’intimité grandit.
Sur le web, c’est vous qui cadrez. Votre mouvement de souris devient le regard de la caméra, et le personnage réagit à votre présence.
Testez l’expérience ci-dessous. Bougez votre souris dans l’espace et observez comment le personnage réagit à votre “regard” :
Vous n’avez pas simplement “bougé une souris”. Vous avez :
Au cinéma : Wong Kar-wai décide de la distance entre la caméra et les personnages. Vous regardez son choix.
Sur le web : Vous êtes le cadreur. Chaque spectateur crée sa propre version de la scène, avec son propre rythme émotionnel.
Voici comment cette expérience est construite. Nous utilisons un langage narratif plutôt que du jargon technique.
Nous commençons par définir les éléments de notre scène :
// Éléments de la scèneconst personnage = document.querySelector('#personnage');const texteEmotion = document.querySelector('#emotion');
// États émotionnels possiblesconst emotions = { proche: "Vous êtes si près... Je me sens observé.", distant: "Vous vous éloignez... Je suis seul.", centre: "Votre regard me réchauffe.", bord: "Vous regardez ailleurs, comme toujours."};Équivalent After Effects : C’est comme définir vos calques et vos variables au début de votre composition.
Nous écoutons les mouvements de la souris pour connaître la position du “regard” :
// QUAND le spectateur bouge sa sourisdocument.addEventListener('mousemove', (geste) => {
// Capturer la position de son regard const regardX = geste.clientX; const regardY = geste.clientY;
// Le personnage est au centre de l'écran const centreX = window.innerWidth / 2; const centreY = window.innerHeight / 2;
// Calculer la distance entre le regard et le personnage const distanceX = regardX - centreX; const distanceY = regardY - centreY; const distance = Math.sqrt(distanceX * distanceX + distanceY * distanceY);});Équivalent After Effects :
geste.clientX/Y = position d’un null object que vous animezdistance = expression length(position1, position2)En fonction de la distance calculée, le personnage change d’état émotionnel :
// EMBRANCHEMENT NARRATIF : réaction selon la distanceif (distance < 100) { // Regard très proche : intimité personnage.classList.add('proche'); texteEmotion.textContent = emotions.proche;
} else if (distance < 300) { // Regard à distance moyenne : présence texteEmotion.textContent = emotions.centre;
} else { // Regard éloigné : solitude personnage.classList.add('distant'); texteEmotion.textContent = emotions.distant;}
// Le personnage suit le regard selon un axe de rotationconst rotationX = (distanceY / window.innerHeight) * 10;const rotationY = (distanceX / window.innerWidth) * 10;personnage.style.transform = `rotateX(${rotationX}deg) rotateY(${rotationY}deg)`;Équivalent After Effects :
if/else = expressions conditionnelles comme vous en utilisez déjàstyle.transform = propriétés Transform des calques (scale, rotation)Ce code raconte une histoire en 3 actes :
Cette même mécanique d’interaction peut raconter des histoires très différentes :
Version contemplative
Un personnage solitaire qui trouve du réconfort quand vous vous approchez doucement
Version inquiétante
Une créature qui vous traque, dont les yeux vous suivent partout
Version romantique
Deux personnages dont la connexion se renforce selon votre regard
Version abstraite
Des formes/couleurs qui dansent selon vos mouvements, comme une peinture vivante
Modifiez les textes dans l’objet emotions pour raconter une histoire différente :
Intégrez un élément audio qui change de volume selon la distance :
// Quand le spectateur est proche, le son devient plus fortconst musique = document.querySelector('#musique-ambiance');musique.volume = 1 - (distance / 500); // Volume inversement proportionnel à la distanceEt si plusieurs personnages réagissaient différemment à votre regard ?
Interaction = Narration
Un simple mouvement de souris devient un outil pour raconter une relation, une émotion, une histoire
Le code comme scénario
Les conditions (if/else) sont des embranchements narratifs, pas juste de la logique
Le spectateur co-auteur
Chaque personne crée sa propre version de la scène par ses gestes
Dans le chapitre suivant, nous explorerons comment les clics deviennent des choix narratifs avec “L’histoire à plusieurs voix”.
Vous passerez du rôle de cadreur à celui de monteur, tissant une histoire à partir de fragments audio.