[求助]creator3.4.2 怎么单独控制物理模拟

我希望实现的是,渲染和物理模拟分离
看文档, 觉得可能可以这样调用:

start(){
PhysicsSystem.instance.autoSimulation = false; //autoSimulation=true时才有触发事件
}

step(dt:number){
  PhysicsSystem.instance.step(dt, dt);//发现这三个都没办法触发onTriggerEnter事件
  PhysicsSystem.instance.postUpdate(dt);
  PhysicsSystem.instance.update(dt);
}

采用 builtin, 我只要最简单的碰撞检测
但一直没效果

试出来了!

start(){
PhysicsSystem.instance.autoSimulation = false;//关闭自动模拟
}

//帧同步自己的逻辑帧
step(dt){
//这里更新Collider节点的空间信息,需要调用同步到物理世界方法
PhysicsSystem.instance.syncSceneToPhysics();
//手动模拟步进
PhysicsSystem.instance.step(dt, dt);
//触发相关事件
PhysicsSystem.instance.emitEvents();
}

这样就可以自己控制物理, 让帧同步的逻辑位置和渲染分离
(另外慢动作什么的, 也可以通过这样的方式实现)

建议官方在手册上加上这方面的说明, 让其他人知道能这样用, 不至于浪费太多时间再去研究一遍!

4赞

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。