Открытый Атлас
ПоддержкаНачать работу
  1. Главная>
  2. База знаний>
  3. 3D и визуализация>
  4. rapier

Ссылка на RSS

Открытый Атлас
SOLO DemoEpisode
Назад к разделу
Меню базы знаний
  • Регистрация и вход
  • Тарифы и оплата
  • С чего начать
  • Задачи и проекты
  • База знаний
  • Настройки
  • Функциональность CRM
  • 3D и визуализация
Другие статьи
  • Интеграция R3F в Next.js
  • Частые ошибки при работе с 3D
  • React Three Fiber (R3F)
  • Drei — компоненты для R3F
  • Theatre.js — анимация
  • Rapier — физика
  • React Use Gesture
База знаний/3D и визуализация/Rapier — физика
🎯

Rapier — физика

Обновлено: 2026-06-10

Rapier — физика

Rapier — быстрый физический движок на Rust с JavaScript/WASM-биндингами. Поддерживает 2D и 3D симуляции.

Пакеты

  • @dimforge/rapier2d — 2D физика
  • @dimforge/rapier3d — 3D физика

Основные концепции

  • World — мир физики (гравитация, коллизии).
  • RigidBody — твёрдое тело (динамическое, кинематическое или статическое).
  • Collider — форма коллизии (куб, сфера, капсула, mesh).
  • Загрузка (WASM)

    Rapier загружается асинхронно:

    import RAPIER from "@dimforge/rapier3d";
    
    const physics = await RAPIER.init();
    const world = new physics.RapierWorld(
      new physics.Vector3(0, -9.81, 0) // гравитация
    );
    
    const bodyDesc = physics.RigidBodyDesc.dynamic();
    const body = world.createRigidBody(bodyDesc);
    const colliderDesc = physics.ColliderDesc.cuboid(1, 1, 1);
    world.createCollider(colliderDesc, body);
    

    Интеграция с R3F

    Используйте useFrame для синхронизации физики и рендера: каждый кадр вызывайте world.step() и обновляйте позиции mesh из body.translation().

    Связанные статьи

    • Интеграция R3F в Next.js — настройка в проекте
    • Частые ошибки при работе с 3D — типичные проблемы

    Установка

    npm install @dimforge/rapier3d
    

    Дополнительно

    • Rapier (физический движок)
    • Rapier.js (WebAssembly-порт)
    К разделу «3D и визуализация»