Back to Top

通过PhysX API理解Chaos API

PhysXNVIDIA开源的物理引擎, 一直被各个游戏引擎使用. ChaosUnrealEngine在4.26版本起公开的物理引擎, 在UE5中已经成了默认物理引擎.

PhysX提供完整的开发文档, Chaos开发文档缺乏, UE提供了统一的封装接口PhysicsCore, 可以对照接口来理解.

基础概念对照

** Physx Chaos 备注
可视化调试器 PVD CVD CVD 尚不可用
物理场景 PxScene FPhysicsSolver  
刚体对象 PxRigidActor FSingleParticlePhysicsProxy  
刚体形状 PxShape Chaos::FPerShapeData  
物理模拟函数 PxScene::simulate FPhysicsSolverBase::AdvanceAndDispatch_External  
物理结果函数 PxScene::fetchResults FPhysicsSolverBase::PullPhysicsStateForEachDirtyProxy_External  

最小流程

  1. 新建物理场景
  2. 创建刚体对象
  3. 创建刚体形状到刚体对象
  4. 将刚体对象添加到物理场景
  5. 循环(物理模拟/物理结果)