Skip to main content
ExodeUI

EXODEUI DESKTOP

A little space for good ideas.

Choose your platform to get the official ExodeUI installer.

Looking for Intel Mac or other builds? Explore the web studio or check all download options.

Prefer the browser? Try for free in your browser →

Filar 08 · Inżynieria animacji

Animacja interfejsu użytkownika fizyki: nauka o żywych interfejsach cyfrowych

Animacje oparte na czasie trwania są martwe. Dowiedz się, dlaczego Apple, Google i najlepsze zespoły produktowe na świecie tworzą wyłącznie w oparciu o fizykę sprężyn.

What is Animacja interfejsu in ExodeUI?

Physics UI Animation to metodologia inżynierii animacji, która modeluje ruch interfejsu użytkownika przy użyciu rzeczywistych praw fizycznych — głównie harmonicznych oscylatorów sprężynowych drugiego rzędu — a nie dowolnych liczników czasu trwania. Ponieważ fizyczne sprężyny dynamicznie obliczają pozycję spoczynkową na podstawie prędkości gestów użytkownika, interfejsy oparte na fizyce są w 100% przerywalne i wydają się naturalne w dotyku.

Architektura rdzenia

Dlaczego inżynierowie i projektanci wybierają ExodeUI

Design, logic and motion in one file that runs inside your app.

Sprężyny harmoniczne drugiego rzędu

Modeluj ruch interfejsu, używając naturalnych równań fizycznych, a nie dowolnych milisekund i uchwytów Beziera.

Core Architecture

Ciągły transfer prędkości

Gesty rzucania i przeciągania zachowują ludzki pęd podczas wydań i nagłych przekierowań.

Core Architecture

W 100% przerywalne interakcje

Użytkownicy mogą dotykać, przeciągać lub przekierowywać animację w trakcie jej trwania, bez przyciągania i zacinania się obrazu.

Core Architecture

Kontrola masy, sztywności i tłumienia

Dostosuj mechaniczną osobowość swojego interfejsu za pomocą intuicyjnych suwaków wizualnych i podglądu na żywo.

Core Architecture

Obiektywna ocena

Jak ExodeUI porównuje się z Duration-Based Animation (Easing Curves)

Where ExodeUI is stronger, and what to weigh before you switch.

The ExodeUI Architecture

ExodeUI

Mocne strony
  • Sprężyny automatycznie obliczają czas trwania na podstawie odległości i prędkości
  • Interakcje można w 100% przerwać, bez przyciągania wizualnego
  • Zachowuje dynamikę ludzkiego dotyku, zapewniając płynną, natywną atmosferę
  • Pasuje do natywnych modeli animacji iOS (CoreAnimation) i Androida
Compared with

Duration-Based Animation (Easing Curves)

Trade-offs
  • Liczniki czasu trwania o stałym czasie trwania (np. 300 ms) wydają się nienaturalne na małych i dużych dystansach
  • Przerwanie animacji powoduje jej przerwanie lub gwałtowne ponowne uruchomienie
  • Ignoruje prędkość rzucania palcami, czuje się ospały i nie reaguje
  • Wymaga napisania złożonego niestandardowego JavaScript do obsługi przerwań gestami

Przekazanie dewelopera

Używanie go w swoim kodzie

Your app loads the compiled file through the ExodeUI runtime and talks to it through inputs and events.

// A physics-driven expand in React with the Motion library (motion.dev).
// Mass, stiffness and damping replace a fixed duration, and an interrupted
// animation continues from its current velocity.
import { motion } from 'motion/react';

export function PhysicsCard({ open }) {
  return (
    <motion.div
      animate={{ height: open ? 240 : 64, opacity: open ? 1 : 0.7 }}
      transition={{ type: 'spring', stiffness: 380, damping: 26, mass: 1 }}
      style={{ overflow: 'hidden' }}
    >
      <h3>Physics-driven element</h3>
      <p>Settles naturally, with no hard-coded duration</p>
    </motion.div>
  );
}

Mit animacji opartej na czasie trwania

Przez dziesięciolecia animacja internetowa i cyfrowa opierała się na krzywych czasu trwania: „animuj ten modal od y: 100 do y: 0 w 300 milisekund z łatwością”. Chociaż działa to w przypadku pasywnego odtwarzania wideo, zasadniczo zawodzi w interaktywnym oprogramowaniu sterowanym dotykiem z trzech matematycznych powodów:

  • Zmiana odległości: Jeśli arkusz przemieszcza się o 50 pikseli w ciągu 300 ms, porusza się powoli. Jeśli pokona 500 pikseli w 300 ms, porusza się dziesięć razy szybciej. Stałe czasy trwania powodują nieregularne prędkości.
  • Katastrofa przerwania: jeśli użytkownik złapie element podczas animacji, system oparty na czasie trwania przerywa lub łamie krzywą fizyki.
  • Ślepota szybkościowa: Kiedy użytkownik podrzuca dolny arkusz w górę z dużą prędkością palca, krzywa czasu trwania odrzuca tę prędkość i odtwarza standardową animację od zerowej prędkości.

Trzy parametry fizyki wiosny

Każda wiosna w ExodeUI rządzi się trzema prostymi, intuicyjnymi parametrami fizycznymi:

Sztywność (napięcie)

Kontroluje agresywność sprężyny w kierunku docelowej pozycji spoczynkowej. Większa sztywność zapewnia szybki, żwawy ruch.

Tłumienie (tarcie)

Kontroluje, jak duży opór stawiany jest ruchowi. Niedostatecznie tłumione sprężyny oscylują i odbijają się; krytycznie tłumione sprężyny osiadają przy zerowym przekroczeniu.

Masa (bezwładność)

Kontroluje wagę elementu. Większa masa wymaga większej siły do ​​przyspieszenia i większego tłumienia do osiadania.

Topic Cluster Network

Poznaj połączone koncepcje i narzędzia

Masz pytania?

Często zadawane pytania

Buduj żywe komponenty za pomocą prawdziwego ruchu.

Start free in the browser or download the desktop app. Compile spring physics and state machines directly to React and SwiftUI.

Wypróbuj za darmo