Skip to content

longde123/bepuphysics2

 
 

Repository files navigation

bepuphysics v2

This is the repo for the bepuphysics v2 library, a complete rewrite of the C# 3d rigid body physics engine BEPUphysics v1.

The library is still in alpha. Many important features are missing, and many bugs likely remain.

The BepuPhysics and BepuUtilities libraries target .NET Standard 2.0 and should work on any supported platform. The demos are built on .NET Core 2.0 and require DX11.

The physics engine heavily uses System.Numerics.Vectors types, so to get good performance, you'll need a compiler which can consume those types (like RyuJIT).

To build the source, you'll need a recent version of Visual Studio with the .NET Core workload installed. Demos.sln references all relevant projects.

Features

The alpha contains a basic featureset:

  • Spheres, capsules, boxes
  • Simple compounds of the above, mainly for use in smaller shapes where acceleration structures wouldn't be helpful
  • Highly nonidiomatic APIs
  • Automatic sleeping/waking management
  • Ball socket, hinge, swivel hinge, and swing limit
  • Speediness

It notably does not yet include:

  • Convex hulls, cylinders, cones, or other complex shapes
  • Efficient compounds supporting many children
  • Meshes
  • Bounciness, other than the frequency/damping ratio tuning
  • Continuous collision detection, other than the speculative margin
  • Scene-wide queries like ray casts or volume queries
  • Shape casts
  • Many useful constraint types

Links

If you are one of the brave early adopters, you can report bugs here on github.

Visit the forums for discussion and questions.

Check the roadmap for a high level look at where things are going.

There exists some sparse proto-documentation:

Q&A

Stability Tips

Performance Tips

Packaging and Versioning

If you have too many dollars, we are willing to consume them on patreon.

About

Pure C# 3D real time physics simulation library, now with a higher version number.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 98.5%
  • HLSL 1.5%