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 →

Стовп 08 · Інженерія анімації

Анімація користувальницького інтерфейсу з фізики: наука про живі цифрові інтерфейси

Анімації на основі тривалості мертві. Дізнайтеся, чому Apple, Google і найкращі команди продуктів у світі створюють виключно за допомогою весняної фізики.

What is Анімація користувальницького in ExodeUI?

Physics UI Animation — це методологія розробки анімації, яка моделює рух інтерфейсу користувача за допомогою фізичних законів реального світу — головним чином гармонічних пружинних осциляторів другого порядку — замість таймерів довільної тривалості. Оскільки фізичні пружини динамічно обчислюють положення спокою на основі швидкості жестів користувача, інтерфейси на основі фізики є на 100% переривчастими та природніми для людського дотику.

Основна архітектура

Чому інженери та дизайнери обирають ExodeUI

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

Гармонічні пружини другого порядку

Моделюйте рух інтерфейсу, використовуючи природні фізичні рівняння, а не довільні мілісекунди та маркери Безьє.

Core Architecture

Безперервна передача швидкості

Жести кидка й перетягування зберігають фізичний імпульс людини під час відпускань і раптових перенаправлень.

Core Architecture

100% переривна взаємодія

Користувачі можуть натискати, перетягувати або перенаправляти анімацію в польоті без прив’язки або візуального заїкання.

Core Architecture

Контроль маси, жорсткості та амортизації

Налаштуйте точну механічну індивідуальність вашого інтерфейсу за допомогою інтуїтивно зрозумілих візуальних повзунків і попереднього перегляду в реальному часі.

Core Architecture

Об'єктивна оцінка

Як ExodeUI порівнюється з Duration-Based Animation (Easing Curves)

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

The ExodeUI Architecture

ExodeUI

Сильні сторони
  • Пружини автоматично обчислюють тривалість на основі відстані та швидкості
  • Взаємодії на 100% перериваються без візуальних знімків
  • Зберігає імпульс людського дотику для плавного рідного відчуття
  • Відповідає нативним моделям анімації iOS (CoreAnimation) і Android
Compared with

Duration-Based Animation (Easing Curves)

Trade-offs
  • Таймери з фіксованою тривалістю (наприклад, 300 мс) виглядають неприродно на малих або великих відстанях
  • Переривання анімації призводить до її фіксації або різкого перезапуску
  • Ігнорує швидкість кидання пальців, відчуває себе млявим і не реагує
  • Вимагає написання складного спеціального JavaScript для обробки переривань жестів

Розробник Handoff

Використання цього у вашому коді

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>
  );
}

Помилка анімації на основі тривалості

Десятиліттями веб- та цифрова анімація покладалася на криві тривалості, засновані на часі: «анімуйте цей модаль від y: 100 до y: 0 за 300 мілісекунд з легкістю». Хоча це працює для пасивного відтворення відео, це принципово не працює в сенсорному інтерактивному програмному забезпеченні з трьох математичних причин:

  • Варіація відстані: якщо аркуш проходить 50 пікселів за 300 мс, він рухається повільно. Якщо він проходить 500 пікселів за 300 мс, він рухається в десять разів швидше. Фіксована тривалість створює непостійні швидкості.
  • Катастрофа переривання: якщо користувач бере елемент під час його анімації, система на основі тривалості фіксує або ламає фізичну криву.
  • Velocity Blindness: коли користувач штовхає нижній аркуш угору з великою швидкістю пальця, крива тривалості скидає цю швидкість і відтворює стандартну анімацію з нульової швидкості.

Три параметри весняної фізики

Кожна пружина в ExodeUI регулюється трьома простими, інтуїтивно зрозумілими фізичними параметрами:

Жорсткість (натяг)

Контролює, наскільки агресивно пружина тягне до цільового положення спокою. Вища жорсткість створює швидкий, різкий рух.

Демпфування (тертя)

Контролює, який опір протидіє руху. Пружини з недостатнім демпфуванням коливаються та підстрибують; критично демпфовані пружини встановлюються з нульовим викидом.

Маса (інерція)

Контролює, наскільки важким буде елемент. Більша маса вимагає більшої сили для прискорення та більшої амортизації для встановлення.

Topic Cluster Network

Досліджуйте концепції та інструменти Connected

Виникли запитання?

Часті запитання

Створюйте живі компоненти за допомогою реального руху.

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

Спробуйте безкоштовно