创建立方体形状
{Shape}
创建胶囊体形状 PhysX 胶囊默认沿 X 轴;通过 axis 可指定为 Y 或 Z(会设置 shape 的 local pose 旋转)。
{Shape}
创建物理辅助线
模型
辅助线信息
{Object3D}
创建物理材质
{Material}
创建物理对象
{Actor}
直接创建物理平面静态刚体(推荐) 使用 PhysX CreatePlane:平面由法线 (nx,ny,nz) 和到原点距离 d 定义,方程 n·x + d = 0。
PxRigidStatic,需再加入场景
创建平面形状(PxPlaneGeometry 为无限大平面,无尺寸参数;法线由附着 actor 的 pose 决定)
保留参数以兼容调用方,几何本身无尺寸
创建物理场景(需先调用 initPhysx)
{Scene}
创建形状标志
{ShapeFlags}
创建球体形状
{Shape}
创建Vec3向量
{Vec3} 向量
PhysX 初始化
预加载 physx-js-webidl.wasm:优先经 IndexedDB(与 TFont.loadFont 相同流程:accessInsertModel),
未缓存则下载并写入再读;已缓存则 blob URL fetch 为 ArrayBuffer。再构造 Emscripten Module(instantiateWasm 避免 MIME 问题)。
可通过 sceneData.params.resource.physxWasmCache 覆盖 { indexedDB: { active, id } }(id 建议 ≥11,避免与字体 0–10 冲突)。
成功 { module, success: true },失败 false
射线检测
射线起点 { x, y, z }
射线方向(需归一化){ x, y, z }
最大检测距离
检测结果 { hit: 是否命中, position?: 命中点, normal?: 法线, distance?: 距离, actor?: 命中的Actor }
射线检测(带 JS 过滤回调)
设置碰撞检测模式
物理刚体对象
碰撞检测模式: Continuous, ContinuousDynamic, ContinuousSpeculative, Discrete
碰撞事件监听(found / lost)