diff --git a/BepuPhysics/BepuPhysics.csproj b/BepuPhysics/BepuPhysics.csproj index 5c9215da7..ccc799cb3 100644 --- a/BepuPhysics/BepuPhysics.csproj +++ b/BepuPhysics/BepuPhysics.csproj @@ -1,10 +1,10 @@  netstandard2.0 - 2.0.0-alpha + 2.0.0-beta Bepu Entertainment LLC Ross Nordby - Early version of BEPUphysics v2. + Speedy real time physics simulation library. © Bepu Entertainment LLC https://github.com/bepu/bepuphysics2 https://github.com/bepu/bepuphysics2/blob/master/LICENSE.md diff --git a/BepuUtilities/BepuUtilities.csproj b/BepuUtilities/BepuUtilities.csproj index 1a34e1f25..752095da7 100644 --- a/BepuUtilities/BepuUtilities.csproj +++ b/BepuUtilities/BepuUtilities.csproj @@ -3,10 +3,10 @@ BepuUtilities BepuUtilities netstandard2.0 - 2.0.0-alpha + 2.0.0-beta Bepu Entertainment LLC Ross Nordby - Supporting utilities library for an early version of BEPUphysics v2. + Supporting utilities library for BEPUphysics v2. © Bepu Entertainment LLC https://github.com/bepu/bepuphysics2 https://github.com/bepu/bepuphysics2/blob/master/LICENSE.md diff --git a/DemoContentBuilder/DemoContentBuilder.csproj b/DemoContentBuilder/DemoContentBuilder.csproj index 99f4f719b..be7acae36 100644 --- a/DemoContentBuilder/DemoContentBuilder.csproj +++ b/DemoContentBuilder/DemoContentBuilder.csproj @@ -2,7 +2,7 @@ Exe - netcoreapp2.0 + netcoreapp2.1 AnyCPU;x86;x64 7.3 true diff --git a/DemoContentLoader/DemoContentLoader.csproj b/DemoContentLoader/DemoContentLoader.csproj index 4f71ec80b..5ad3c0d62 100644 --- a/DemoContentLoader/DemoContentLoader.csproj +++ b/DemoContentLoader/DemoContentLoader.csproj @@ -8,12 +8,12 @@ False - TRACE;DEBUG;NETSTANDARD1_1 + TRACE;DEBUG True - TRACE;RELEASE;NETSTANDARD1_1 + TRACE;RELEASE diff --git a/DemoRenderer/DemoRenderer.csproj b/DemoRenderer/DemoRenderer.csproj index 172e7fdd4..ad31f7178 100644 --- a/DemoRenderer/DemoRenderer.csproj +++ b/DemoRenderer/DemoRenderer.csproj @@ -1,6 +1,6 @@  - netcoreapp2.0 + netcoreapp2.1 win10-x64 7.3 diff --git a/DemoUtilities/DemoUtilities.csproj b/DemoUtilities/DemoUtilities.csproj index af4c022bc..785529e21 100644 --- a/DemoUtilities/DemoUtilities.csproj +++ b/DemoUtilities/DemoUtilities.csproj @@ -1,8 +1,8 @@  - netcoreapp2.0 - 7.2 + netcoreapp2.1 + 7.3 diff --git a/Demos/Demos.csproj b/Demos/Demos.csproj index bc2893379..ec685ad24 100644 --- a/Demos/Demos.csproj +++ b/Demos/Demos.csproj @@ -20,14 +20,14 @@ true - TRACE;RELEASE;NETCOREAPP2_0 + TRACE;RELEASE full true true - TRACE;RELEASE;NETCOREAPP2_0 + TRACE;RELEASE full true true diff --git a/Demos/Demos/MeshDemo.cs b/Demos/Demos/MeshDemo.cs index cc420d6d0..ff1950468 100644 --- a/Demos/Demos/MeshDemo.cs +++ b/Demos/Demos/MeshDemo.cs @@ -41,10 +41,10 @@ public unsafe override void Initialize(ContentArchive content, Camera camera) { for (int k = 0; k < length; ++k) { - var location = new Vector3(3, 3, 3) * new Vector3(i, j, k);// + new Vector3(-width * 1.5f, 1.5f, -length * 1.5f); + var location = new Vector3(5, 5, 5) * new Vector3(i, j, k);// + new Vector3(-width * 1.5f, 1.5f, -length * 1.5f); var bodyDescription = new BodyDescription { - Activity = new BodyActivityDescription { MinimumTimestepCountUnderThreshold = 32, SleepThreshold = -0.01f }, + Activity = new BodyActivityDescription { MinimumTimestepCountUnderThreshold = 32, SleepThreshold = 0.01f }, Pose = new RigidPose { Orientation = BepuUtilities.Quaternion.Identity, diff --git a/Documentation/roadmap.md b/Documentation/roadmap.md index 52f04c93e..6a111ebd9 100644 --- a/Documentation/roadmap.md +++ b/Documentation/roadmap.md @@ -2,7 +2,7 @@ This is a high level plan for future development. All dates and features are goals, not guarantees. For a detailed breakdown of tasks in progress, check the [issues](https://github.com/bepu/bepuphysics2/issues) page. -## Near future (Q2-Q3 2018) +## Near future (Q3-Q4 2018) The big goals for the initial version are: - Performance should generally be an order of magnitude better than v1. @@ -13,30 +13,24 @@ Note that this release will lack many of v1's built in features, like: - Full featured character controller (though I will likely provide a simple example version in the demos, just without the full upstepping/downstepping/stance shifting feature set). - Dedicated vehicle type. -The initial version will be split into incremental stages: alpha, beta, and release. The alpha was released on March 31, 2018. +The initial version will be split into incremental stages: alpha, beta, and release. The alpha was released on March 31, 2018, and the beta on August 16, 2018. -### Beta (July 47, 2018) -The beta will still be missing some important pieces, but should be able to support most games. -- Triangulated mesh colliders with boundary smoothing. -- Tree-accelerated compound for larger collections of shapes. -- Simulation-wide ray and shape casts. -- A few additional common constraint types. - -### Release (September-October 2018) +### Release (October-December 2018) Should be able to support the core features required by physically complex games. - Better handling of some dangerous performance corner cases in the solver. - Fully enabled CCD. -- Convex hulls. +- Convex hulls and cylinders. - Additional ease of use features, especially for supplying custom body properties to collision filtering and velocity integration. +- All of the (important) constraints from v1. - More educational demos, including some deeper dives like showing how to create a custom voxel world collidable. ### Nice-to-haves -There are a few features which aren't fundamentally required for a release, but which are still high value. These might get pulled into one of the above milestones if possible. If they don't make it into the first version, they'll probably show up later. +There are a few features which aren't fundamentally required for a release, but which are still high value. These might get pulled into one of the above milestones if possible. If they don't make it into the first version, they might show up later. - Further broad phase improvements. - Experimental general convex boundary smoothing. -- Cylinders and cones. +- Cones. -## Medium term (Q3 2018-Q2 2019) +## Medium term (2019) Once the initial version is ready, most of my time will move to things other than core engine development. Much of that time will be spent actually using the engine, so expect to see incremental enhancements and fixes driven by practical use. diff --git a/README.md b/README.md index 4aeb3ff58..fdf75c8a6 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,9 @@ This is the repo for the bepuphysics v2 library, a complete rewrite of the C# 3d rigid body physics engine [BEPUphysics v1](https://github.com/bepu/bepuphysics1). -The library is still in alpha. Many important features are missing, and many bugs likely remain. +The library is still in beta. 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 BepuPhysics and BepuUtilities libraries target .NET Standard 2.0 and should work on any supported platform. The demos are built on .NET Core 2.1 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). @@ -12,22 +12,21 @@ To build the source, you'll need a recent version of Visual Studio with the .NET ## 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 +The beta contains: +- Spheres, capsules, boxes, triangles +- Compounds of the above +- Meshes - Highly nonidiomatic APIs - Automatic sleeping/waking management -- Ball socket, hinge, swivel hinge, and swing limit +- Ball socket, hinge, swivel hinge, swing limit, twist servo, twist motor, twist limit, angular servo, and angular motor - Speediness It notably does *not* yet include: - Convex hulls, cylinders, cones, or other complex shapes -- Efficient compounds supporting many children -- Meshes +- Dedicated heightmap terrain meshes +- Mesh-mesh collision detection - 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