@aura3d/physics-rapier

中文文档
4.7.0发布于 2026/10/31MITTypeScriptES Module

Optional asynchronously loaded Rapier physical-simulation adapter for Aura3D.

原始使用文档

@aura3d/physics-rapier

Optional physical simulation for Aura3D, backed by exact @dimforge/[email protected]. The package is asynchronous and optional. The compat build is selected because it is portable across the supported bundlers without requiring each application to configure a raw-WASM loader; its larger lazy payload is disclosed by the retained bundle report.

It is deliberately absent from core, product, and authored-unit arcade bundles. Install and initialize it only for physical rigid bodies, joints, queries, character collision, or raycast vehicles:

import { createRapierPhysics } from "@aura3d/physics-rapier";

const physics = await createRapierPhysics({ gravity: [0, -9.81, 0] });
const floor = physics.createBody({ type: "fixed", shape: { kind: "box", halfExtents: [10, 0.5, 10] } });
const ball = physics.createBody({ position: [0, 4, 0], shape: { kind: "sphere", radius: 0.5 } });
physics.step(1 / 60);
physics.dispose();

This is physical simulation. game.racing and the default authored-unit arcade helpers remain separate and do not claim physical tyre, mass, or force semantics.

Public API

  • createRapierPhysics(options?) lazily initializes Rapier and returns the sole Aura3D-owned physical-world adapter.
  • RapierPhysics owns rigid bodies, colliders, stepping, ray queries, fixed joints, native character controllers, native vehicle controllers, and final disposal.
  • RapierBody exposes explicit transform, velocity, impulse, and removal operations without hiding Rapier's authored-unit physical semantics.
  • rawModule and rawWorld are documented escape hatches for unsupported Rapier features; no private import is required.

Verification

Run pnpm exec vitest run tests/unit/physics-rapier for adapter and dependency- boundary coverage. Run pnpm exec playwright test tests/browser/optional-rapier-physics.spec.ts for cold/cached initialization, browser queries/controllers, repeated disposal, and console-error evidence.

版本与发布记录

@aura3d/physics-rapier 共发布 33 个版本,首次发布于 2026/08/13;过去 12 个月发布了 33 个版本。

版本发布日期距今
4.7.0latest2026/10/313 天前
4.6.22026/10/304 天前
4.6.12026/10/304 天前
4.6.02026/10/304 天前
4.5.02026/10/295 天前
4.3.72026/10/286 天前

关于 @aura3d/physics-rapier 的常见问题

@aura3d/physics-rapier 是什么?

可选的Aura3D异步加载的Rapier物理模拟适配器。

如何安装 @aura3d/physics-rapier?

在项目目录运行 npm install @aura3d/physics-rapier,或使用 pnpm add / yarn add / bun add。

@aura3d/physics-rapier 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@aura3d/physics-rapier 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@aura3d/physics-rapier 可以商用吗?

@aura3d/physics-rapier 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@aura3d/physics-rapier 还在维护吗?

最新版本 4.7.0 发布于 2026/10/31(3 天前);至今共发布 33 个版本,其中过去 12 个月发布了 33 个;首次发布于 2026/08/13。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。