Motion design
Design de Animação Morph de UI
Um filme de 14 segundos feito só em código, em que uma forma se transforma em player, abas e paleta de comandos, com cada mudança causada por um cursor a 120 BPM.
Indicado para
- Design de teaser de motion de produtoLoops curtos que mostram vários estados da interface sem cortar entre telas.
- Showreels de microinteraçõesSequências que demonstram alternadores, controles deslizantes, abas e paletas como uma história conectada.
- Animação de interface sincronizada com músicaPeças em que as ações do cursor caem em uma grade de batidas fixa.
Destaques de movimento
- Uma forma que nunca cortaCada estado é uma deformação do mesmo contêiner, não uma troca de cena.
- Mudanças causadas pelo cursorToda transição começa com uma ação visível do ponteiro.
- Um loop que fechaO quadro final coincide com o primeiro, então a reprodução se repete sem emendas.
Prévia do design de animação morph de UI
Como uma forma carrega o filme inteiro
O filme dura 14 segundos a 120 BPM, o que as notas da fonte dividem em 7 compassos. Uma única forma começa como um botão Generate e depois vira loader, check, dynamic island, player de música, controle de volume, alternador, indicador de aba, gráfico, paleta de comandos e toast, antes de voltar ao botão.
O custo é que cada estado precisa ser alcançável a partir do anterior apenas redimensionando e rearredondando o mesmo corpo. O conteúdo que não cabe nessa mudança de forma precisa ser descartado ou redesenhado.
| Etapa | Mudança visível | Implicação de design |
|---|---|---|
| Botão para loader para check | O botão Generate vira um estado de progresso e depois uma confirmação. | Pedido, espera e resultado são lidos como um único objeto, e não como três telas. |
| Dynamic island para player de música | Uma pílula compacta se expande em um cartão escuro com miniatura de álbum, título, barra de progresso e controles de reprodução. | O crescimento da pílula ao cartão mostra como um mesmo contêiner pode abrigar um estado de relance e um estado de detalhe. |
| Controle deslizante, alternador, abas | Um controle de volume se estica além do máximo, e em seguida vêm um alternador e uma pílula de abas Day / Week / Month. | Os controles pequenos reutilizam a mesma linguagem arredondada, então a mudança é sentida mais no movimento do que no estilo. |
| Gráfico, paleta, toast | Um gráfico se desenha sozinho, uma paleta digita “frame” e um toast fecha o loop. | Os estados mais densos ficam no fim, depois que o espectador já aprendeu a lógica da forma. |
Lendo os quadros do player, das abas e da paleta
Três quadros capturados mostram como a mesma forma pode parecer muito diferente. No player, um cartão preto arredondado traz uma miniatura em degradê, “motion study 02”, uma barra de progresso em 0:49 com −2:09 restantes e ícones de anterior, reproduzir e próximo. No quadro das abas, uma pílula branca contém Day, Week e Month, com um indicador preto atrás de Day.
Na paleta, a palavra digitada “frame” leva a dois resultados, “Frame rate · 60fps” e “Every frame is code”, com o primeiro destacado.

Estados de reprodução legíveis
Os rótulos de tempo decorrido e restante ficam abaixo da barra de progresso. São conteúdo ilustrativo da interface dentro de um filme de 14 segundos, não a duração do vídeo do showcase. Mantenha os dois rótulos legíveis ao adaptar o player a um canvas menor.
O indicador de aba é um objeto em movimento
A pílula preta de Day fica dentro de uma trilha branca enquanto o cursor passa sobre Month. Como o indicador é uma forma separada, ele pode deslizar e se esticar entre os rótulos em vez de trocar o destaque.
O texto da paleta combina com o filme
Os resultados “Frame rate · 60fps” e “Every frame is code” falam da própria peça. Reaproveite a ideia, mas troque os textos pelo vocabulário do seu produto.
Construção guiada pelo tempo e seus custos
As notas da fonte descrevem uma única função render(t) que desenha o quadro inteiro a partir do tempo da linha do tempo mestra. Cada valor visível é uma função pura de t, usando eases, springs ou keyframes, e nenhum estado passa de um quadro para outro. Por isso, voltar na reprodução reproduz quadros idênticos.
Isso torna a exportação previsível, mas exige mais de quem cria. Interações que seriam triviais com manipuladores de eventos, como hover ou digitação, precisam ser escritas como keyframes temporizados.
Mantenha um único relógio
A linha do tempo mestra do GSAP é o único relógio. As camadas leem o tempo atual dela em vez de rodar seus próprios temporizadores.
Some springs a cada mudança
As notas de adaptação pedem springs somadas a cada mudança, para que movimentos sobrepostos se misturem em vez de reiniciar.
Deixe o cursor causar tudo
Cada mudança de estado precisa de uma ação do ponteiro antes dela. Sem essa regra, os morphs parecem decoração e não interação.
Fonte e escopo
Esta é uma refação e adaptação oficial em código do OpenDesign de uma peça de motion publicada originalmente por @twoclipping no X. Ela foi reconstruída em código a partir da peça publicada, e a trilha sonora de 14 segundos é uma composição original, não o áudio da fonte. O crédito é uma referência factual e não implica aval do autor original.
Este é um estudo de motion renderizado, não um produto de interface utilizável. O player, o gráfico e a paleta dentro do filme não respondem a interações. O template vem de um fluxo de vídeo proposto do OpenDesign; a disponibilidade depende da versão instalada.
Adaptando o morph ao seu próprio produto
As notas sugerem substituir os estados na definição de SHAPE e seus conteúdos, mantendo as três regras: uma forma que nunca corta, springs somadas a cada mudança e um cursor por trás de cada mudança. Comece listando os cinco estados de produto que você mais precisa mostrar e ordene-os do menor ao maior contêiner.
Mantenha o primeiro e o último estado idênticos se quiser um loop. Se seus estados diferirem muito em tamanho, espere que os quadros intermediários pareçam esticados e reduza o andamento de acordo.
Escolha menos estados, mais fortes
O filme mostra cerca de dez estados em 14 segundos. Um teaser de produto com quatro estados dá a cada um mais tempo em tela.
Refaça o tema em um só lugar
Texto, paleta e tempos ficam em constantes no topo da referência, então trocar o canvas cinza quente ou os componentes pretos é uma edição pequena.
Evite efeitos pesados no canvas
As notas alertam que degradês grandes e ruído por pixel tornam cada quadro capturado caro, o que deixa a exportação em MP4 mais lenta.
Como criar um design de animação morph de UI no OpenDesign
Defina a forma e seus estados
Liste os estados pelos quais seu único contêiner precisa passar, do botão compacto até a forma maior. Decida qual ação do ponteiro dispara cada mudança e fixe o andamento antes de desenhar qualquer coisa.
Prompt sugeridoCrie um filme de motion de UI em loop de 14 segundos, em um canvas 1920x1080 cinza-claro quente. Use uma única forma arredondada em preto e branco que nunca sofre cortes. A 120 BPM, transforme-a de um botão Generate em um loader, um check, um player de música com barra de progresso, uma pílula de abas Day / Week / Month e uma paleta de comandos que digita uma palavra curta. Um cursor visível deve causar cada mudança. Faça o último quadro coincidir com o primeiro para que haja loop. Use apenas textos de exemplo e não adicione dados reais nem controles funcionais.
Conduza tudo pelo tempo
Peça que cada valor visível seja calculado a partir do tempo da linha do tempo, de modo que voltar na reprodução gere quadros idênticos. Mantenha texto, paleta e tempos como constantes editáveis em um único lugar.
Verifique som, loop e ritmo
Confira se o quadro final é igual ao inicial, se as ações do cursor caem nas batidas e se os estados densos não passam rápido demais. Use apenas áudio cujo uso seja permitido, ou mantenha o filme sem som.
Exportar e obter um link de compartilhamento
Exporte seu design finalizado e, em seguida, use Compartilhar no OpenDesign para obter um link de compartilhamento. Abra o link em uma janela separada do navegador e verifique se a versão desejada e seus assets estão disponíveis antes de enviá-lo.



