@aura3d / physics-rapier
可选的Aura3D物理模拟,由exact支持
@dimforge/[email protected]. 该包是异步的和可选的。
选择compat构建是因为它可以跨支持的版本移植
无需每个应用程序配置raw-WASM加载器的打包器;它的
较大的惰性有效负载由保留的包报告披露。
它在硬核、产品和授权单元街机捆绑包中故意缺席。 仅对物理刚体、关节、查询、 字符碰撞,或光线投射车辆:
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();
这是物理模拟。 game.racing 以及默认的授权单元街机
helper保持独立,不声明物理轮胎、质量或力语义。
公共API
createRapierPhysics(options?)惰性初始化Rapier并返回鞋底 aura3d拥有的物理世界适配器。RapierPhysics拥有刚体,碰撞器,步进,光线查询,固定 关节,本地字符控制器,本地车辆控制器,和最终 处理。RapierBody显示显式转换、速度、脉冲和移除 操作,而不隐藏Rapier的授权单元物理语义。rawModule和rawWorld无支撑的逃生舱口是否有文件记录 剑杆功能;不需要私有导入。
验证
运行 pnpm exec vitest run tests/unit/physics-rapier 对于适配器和依赖项
边界的报道。运行 pnpm exec playwright test tests/browser/optional-rapier-physics.spec.ts 对于冷/缓存初始化,
浏览器查询/控制器、重复处理和控制台错误证据。