Motion design

Animazione UI morph

Un film di 14 secondi creato solo con il codice, in cui una forma si trasforma in player, schede e palette comandi, con ogni cambiamento causato da un cursore a 120 BPM.

OpenDesignAdattamento in codice e produzione
Ufficiale
Design di animazioni UI morph14s · Motion design
Una scheda nera di music player con una tessera album sfumata, barra di avanzamento e simboli di riproduzione.
Un fotogramma del motion design

Pensato per

  • Teaser motion di prodottoLoop brevi che mostrano più stati dell'interfaccia senza stacchi tra le schermate.
  • Showreel di micro-interazioniSequenze che presentano interruttori, slider, schede e palette come un'unica storia connessa.
  • Animazione di interfaccia sincronizzata alla musicaLavori in cui le azioni del cursore cadono su una griglia ritmica fissa.

Punti di forza del motion

  • Una forma che non viene mai tagliataOgni stato è una deformazione dello stesso contenitore, non un cambio di scena.
  • Cambiamenti causati dal cursoreOgni transizione inizia con un'azione visibile del puntatore.
  • Un loop che si chiudeIl fotogramma finale coincide con il primo, quindi la riproduzione si ripete senza interruzioni.

Come una sola forma regge l'intero film

Il film dura 14 secondi a 120 BPM, che le note della fonte dividono in 7 battute. Una singola forma parte come pulsante Generate, poi diventa loader, segno di spunta, dynamic island, music player, slider del volume, interruttore, indicatore di scheda, grafico, palette comandi e toast prima di tornare al pulsante.

Il compromesso è che ogni stato deve essere raggiungibile dal precedente ridimensionando e riarrotondando lo stesso corpo. I contenuti che non si adattano a questo cambio di forma vanno eliminati o ripensati.

Fasi della beat map e cosa mostra ciascuna
FaseCambiamento visibileImplicazione di design
Da pulsante a loader a segno di spuntaIl pulsante Generate diventa uno stato di avanzamento, poi una conferma.Richiesta, attesa e risultato si leggono come un unico oggetto anziché tre schermate.
Da dynamic island a music playerUna pillola compatta si espande in una scheda scura con tessera album, titolo, barra di avanzamento e controlli di trasporto.La crescita da pillola a scheda mostra come un solo contenitore possa ospitare sia uno stato di sintesi sia uno di dettaglio.
Slider, interruttore, schedeUno slider del volume si allunga oltre il massimo, poi seguono un interruttore e una pillola di schede Day / Week / Month.I piccoli controlli riusano lo stesso linguaggio arrotondato, quindi il cambiamento si percepisce più nel movimento che nello stile.
Grafico, palette, toastUn grafico si disegna da solo, una palette digita “frame” e un toast chiude il loop.Gli stati più densi arrivano tardi, dopo che lo spettatore ha imparato la logica della forma.

Leggere i fotogrammi di player, schede e palette

Tre fotogrammi catturati mostrano quanto possa cambiare l'aspetto della stessa forma. Nel player, una scheda nera arrotondata contiene una tessera sfumata, “motion study 02”, una barra di avanzamento a 0:49 con −2:09 rimanenti e le icone di precedente, play e successivo. Nel fotogramma delle schede, una pillola bianca contiene Day, Week e Month, con un indicatore nero dietro Day.

Nella palette, la parola digitata “frame” porta a due risultati, “Frame rate · 60fps” e “Every frame is code”, con il primo evidenziato.

Lo stato del music player: tempo trascorso e rimanente sotto la barra di avanzamento, con il cursore che si avvicina ai controlli.
Lo stato del music player: tempo trascorso e rimanente sotto la barra di avanzamento, con il cursore che si avvicina ai controlli.

Stati di riproduzione leggibili

Le etichette di tempo trascorso e rimanente stanno sotto la barra di avanzamento. Sono contenuti illustrativi dell'interfaccia all'interno di un film di 14 secondi, non la durata del video dello showcase. Mantieni chiare entrambe le etichette quando adatti il player a un canvas più piccolo.

L'indicatore delle schede è un oggetto in movimento

La pillola nera Day sta dentro una traccia bianca mentre il cursore passa su Month. Poiché l'indicatore è una forma separata, può scorrere e allungarsi tra le etichette invece di scambiare le evidenziazioni.

Il testo della palette è coerente con il film

I risultati “Frame rate · 60fps” e “Every frame is code” parlano del lavoro stesso. Riusa questa idea, ma sostituisci le stringhe con il vocabolario del tuo prodotto.

Costruzione guidata dal tempo e compromessi

Le note della fonte descrivono una singola funzione render(t) che disegna l'intero fotogramma a partire dal tempo della timeline principale. Ogni valore visibile è una funzione pura di t, che usa easing, molle o keyframe, e nessuno stato passa da un fotogramma all'altro. Gli spostamenti all'indietro riproducono quindi fotogrammi identici.

Questo rende l'esportazione prevedibile, ma richiede di più all'autore. Interazioni che sarebbero banali con gli event handler, come hover o digitazione, vanno scritte come keyframe temporizzati.

  1. Usare un solo orologio

    La timeline principale GSAP è l'unico orologio. I livelli leggono il suo tempo corrente invece di far girare timer propri.

  2. Sommare le molle per ogni cambiamento

    Le note di adattamento richiedono molle sommate per ogni cambiamento, così i movimenti sovrapposti si fondono invece di ripartire.

  3. Lasciare che il cursore causi tutto

    Ogni cambio di stato richiede prima un'azione del puntatore. Senza questa regola i morph sembrano decorazione anziché interazione.

Fonte e ambito

Questo è un remake e adattamento in codice ufficiale di OpenDesign di un lavoro motion pubblicato originariamente da @twoclipping su X. È ricostruito in codice a partire dal lavoro pubblicato, e la colonna sonora di 14 secondi è una partitura originale, non audio della fonte. Il credito è un riferimento fattuale e non implica alcuna approvazione da parte dell'autore originale.

Questo è uno studio motion renderizzato, non un prodotto di interfaccia utilizzabile. Il player, il grafico e la palette all'interno del film non rispondono agli input. Il template deriva da un flusso video OpenDesign proposto; la disponibilità dipende dalla versione installata.

Adattare il morph al tuo prodotto

Le note suggeriscono di sostituire gli stati nella definizione SHAPE e i loro contenuti, mantenendo le tre regole: una forma che non viene mai tagliata, molle sommate per ogni cambiamento e un cursore dietro ogni cambiamento. Inizia elencando i cinque stati del prodotto che ti servono di più, poi ordinali dal contenitore più piccolo al più grande.

Mantieni identici il primo e l'ultimo stato se vuoi un loop. Se i tuoi stati differiscono molto per dimensione, aspettati fotogrammi intermedi stirati e rallenta di conseguenza il tempo.

Scegliere meno stati, ma più forti

Il film mostra circa dieci stati in 14 secondi. Un teaser di prodotto con quattro stati dà a ciascuno più tempo sullo schermo.

Cambiare tema in un solo punto

Testi, palette e tempistiche si trovano in costanti all'inizio del riferimento, quindi cambiare il canvas grigio caldo o i componenti neri è una piccola modifica.

Evitare effetti canvas pesanti

Le note avvertono che grandi gradienti e rumore per pixel rendono costoso ogni fotogramma catturato, rallentando l'esportazione MP4.

Come creare un'animazione UI morph in OpenDesign

  1. Scarica e installa OpenDesign

    Scarica l'app desktop, installala e completa la configurazione. Crea un progetto per il tuo design.

    Scarica OpenDesign
  2. Definire la forma e i suoi stati

    Elenca gli stati che il tuo unico contenitore deve attraversare, da un pulsante compatto alla sua forma più grande. Decidi quale azione del puntatore attiva ogni cambiamento e fissa il tempo prima di disegnare qualsiasi cosa.

    Prompt suggerito

    Crea un film di motion UI in loop di 14 secondi su un canvas grigio chiaro caldo da 1920x1080. Usa un'unica forma arrotondata in bianco e nero che non subisce mai tagli. A 120 BPM, trasformala da pulsante Generate in un loader, un segno di spunta, un music player con barra di avanzamento, una pillola di schede Day / Week / Month e una palette comandi che digita una parola breve. Un cursore visibile deve causare ogni cambiamento. Fai coincidere l'ultimo fotogramma con il primo per creare il loop. Usa solo testo di esempio e non aggiungere dati reali né controlli funzionanti.

  3. Far dipendere tutto dal tempo

    Chiedi che ogni valore visibile sia calcolato a partire dal tempo della timeline, così scorrere all'indietro produce fotogrammi identici. Tieni testi, palette e tempistiche come costanti modificabili in un unico punto.

  4. Verificare suono, loop e ritmo

    Controlla che il fotogramma finale coincida con l'iniziale, che le azioni del cursore cadano sui battiti e che gli stati più densi non siano affrettati. Usa solo audio di cui hai i diritti, oppure lascia il film muto.

  5. Esporta e ottieni un link di condivisione

    Esporta il design completato, quindi usa Condividi in OpenDesign per ottenere un link di condivisione. Apri il link in una finestra del browser separata e verifica che la versione prevista e le sue risorse siano disponibili prima di inviarlo.