Открытый Атлас
ПоддержкаНачать работу
  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 и визуализация»