Cysharp / MagicPhysX

.NET PhysX 5 binding to all platforms(win, osx, linux) for 3D engine, deep learning, dedicated server of gaming.
MIT License
263 stars 19 forks source link

Big world support? #8

Closed Veloctor closed 1 year ago

Veloctor commented 1 year ago

In PhysX docs https://nvidia-omniverse.github.io/PhysX/physx/5.2.1/docs/API.html#math-classes , we can see following:

The common math classes used in PhysX are PxVec2, PxVec3, PxVec4, PxMat33, PxMat44, PxTransform, PxQuat and PxPlane, which are are defined in their respective header files, e.g. (SDKRoot)/include/foundation/PxVec3.h. Most of these classes exist for floats and doubles via a typedef. The types support standard operator overloads and typical math operations. Zero and identity objects where appropriate can be constructed by passing the arguments PxZero and PxIdentity respectively.

Does this mean that PhysX can be simply switched to support double precision position and velocity representation to support high-speed simulation in the large world (such as spacecraft simulation in the solar system)? If that's true, could this interface library support this, for PhysX double precision mode for Unity?

neuecc commented 1 year ago

thanks for the request, however, due to distributing pre-built binaries, it's difficult. Even if it were possible, transferring 'all' of Unity's Physics would be involved, so its practicality is questionable.