# Physics Engine

( Peak Physics )

A few details

Peak Physics is a high performance softbody, rigidbody & particle simulator purpose built for advanced vehicle & terrain simulation.

How we solved it

The engine written in C# or rather what Unity refers to as High-Performance C#(HPC#) with a cache-friendly, multi threaded data oriented design, utilizing Unity’s latest technologies like the Burst Compiler, Job System, ECS and Mathematics library to push performance to a new level.

-Force Based Dynamics

-Impulse Based Dynamics

-Position Based Dynamics

– Softbody

– Rigidbody

– Particle

– LinearNode

– AngularNode

– Explicit Euler (2 different variants)

– Semi-Implicit Euler ( 2 different variants + angular integration)

– Verlet (3 different variants)

– VelocityVerlet ( 2 different variants)

– Linear Gravity

– Spherical/Orbital Gravity

– Linear + Angular Damping(Force & Velocity based variants)

– Fluid Drag

– Buoyancy

– Wind force

– Distance Constraint (Force, Impulse & Projection variants)

– Point Constraint (Projection Only)

– Linear Motor (Force, Impulse & Projection variants)

– Angular Motor(Torque & Impulse variants)

– Gauss-Seidel method

– Parallel Jacobi method

**-BroadPhase**

– Brute Force Method

– Spatial Partitioning (Grid)

**-NarrowPhase**

– SAT (Separating Axis Theorem)

– Contact Manifold Generation(Relative Velocity, Contact Normal, CollisionPoint(s), Penetration Depth)

**-Bounds**

– AABB (Axis Aligned Bounding Box)

– OBB (Oriented Bounding Box)

– OBS (Oriented Bounding Sphere)

**-Colliders**

– Sphere Collider

– Plane Collider

– Penalty Method (Force/Acceleration based)

– Linear + Angular Impulse Method (Velocity/Momentum based)

– Projection Method (Position based)

**-Friction**

– Linear + Angular Friction Impulse (Velocity/Momentum based)

**-Restitution(Bounciness)**

**-Baumgarte Stabilization**

– Mesh skinning/deformation

– Cloth cutting and tearing (proper mesh separation is not yet implemented)

– Internal Softbody collision

– Procedurally generated softbodies + mesh (currently only Clothplane and Cube)

– Multiple simultaneous physics worlds.

Youtube: Andersoerum

Linkedin: Anders Ørum

**Anders Ørum Pedersen**, Denmark

Email: Andersoerum@hotmail.com