@aura3d /物理
@aura3d/physics 拥有确定性刚体仿真、碰撞形状、碰撞器、接触、约束、光线投射、固定步进、场景/ECS桥和调试绘图提取。
公共API
Shape:盒子、球体、胶囊、平面和索引三角形网格形状描述符以及边界帮助符。RigidBody,Collider:身体状态,力,脉冲,过滤器,传感器,材料数据和快照。CollisionEventQueue,Contact:开始/停留/结束事件状态和联系人数据。Constraint:固定、铰链、滑块和弹簧式约束收缩。PhysicsWorld:主体/碰撞器/约束所有权、确定性步进、接触求解、睡眠、光线投射、快照和移除事件。PhysicsStepper:用于模拟滴答的定步累加器。ScenePhysicsBridge,ECSPhysicsBridge:动态推和动态拉适配器。PhysicsDebugDraw:稳定的调试行提取。
验证
确定性重播,重复固定输入仿真比较,宽相位对和分析计数器,形状验证,网格边界和背景感知光线投射,睡眠/唤醒,开始/停留/结束接触,接触过程中的移除,传感器,过滤器,光线投射,固定/铰链/滑块/弹簧约束,桥排序,调试绘制,浏览器物理像素和性能基线 tests/unit/workstream4.physics-animation.test.ts, tests/unit/physics/broadphase.test.ts, tests/browser/physics-browser.spec.ts, tests/performance/system-baselines.ts. 导出和导入一致性由 pnpm verify:exports 和 pnpm verify:imports.
当前的限制
- 支持的碰撞形状描述符有盒子、球体、胶囊、平面和索引三角形网格。
- 支持的约束契约包括固定约束、铰链约束、滑块约束和弹簧约束。
- 目前不支持连续碰撞检测;快速移动的物体使用离散的固定步骤碰撞检查。
- 内置的broadphase是确定性的扫描和修剪,带有公开的配置文件计数器,比成熟的本地物理后端更快的浏览器优先工作流。
- 该包不要求车辆动力学,布料,柔软的身体,流体,可破坏的模拟,或大世界流物理。