Added

3 changes
  • Physical mode!!!

  • Custom gravity support.

  • Capsule tracing for physical controllers and whatnot.

Improved

6 changes
  • Ground detection and sticking on slopes, ramps, and stairs.

  • Stair traversal and step handling.

  • Unstuck handling.

  • Trace performance.

  • Component creation and destruction.

  • Moving platform and stuff.

Fixed

5 changes
  • Vertical velocity loss on slopes.

  • Ramp landing and ground sticking issues.

  • Ground tracing and surface detection edge cases.

  • Slipping on non-standable ground.

  • Cylinder center and collider bounds.

Added

7 changes
  • Added Shrimple Walker preset

  • Added Shrimple Flyer preset

  • Added "Stick to Platform" on GroundStick feature, sticks to platforms and moving objects when you're on top of them

  • Added "Apply Surface Velocity" on GroundStick feature, for conveyor belts and such

  • Added "IsOnPlatform" "PlatformVelocity" "SurfaceVelocity" "GroundVelocity" properties

  • Added Bounds trace shape, can use it for offset bbox or rectangle shapes

  • Added experimental "Physical" feature, will get back to it but it's very buggy

Improved

3 changes
  • Added animations to the walker example since CitizenAnimationHelper doesn't work in libraries

  • Clamp Acceleration and Deceleration curves values to 0->1 and locked them to make it clearer how they work

  • Punch() now applies ground, platform, and surface velocities

Fixed

1 change
  • Fixed bug where you sometimes lose velocity over non 90° steps - Wasn't normalizing gravity to find the stepup direction before projecting so it would give you massive negative z velocity

Known Issues

1 change
  • Physical feature is very untested, keeps snagging, I'll come back to it later but it's too much of a headache

Added

9 changes
  • Added new trace shape: "Sphere", which only uses the "Trace Width";

  • Added "Vertical Elasticity" and "Horizontal Elasticity", so your controller can now bounce against surfaces;

  • Added "Include Ground Elasticity" to take the surface's elasticity into account;

  • Added "Elasticity Threshold" to ignore bounces at low speeds;

  • Added "Acceleration" feature, can now disable it to instantly reach the wish velocity;

  • Added "Acceleration" and "Deceleration" Curve options, so you can tweak and accelerate slowly or decelerate faster at small speeds;

  • Added "Fixed Acceleration" and "Fixed Deceleration" option, which is how it's always behaved so far;

  • Added "OnCollide" event which returns "ShrimpleCollisionResult" whenever the controller collides with something, comes with a lot of useful data such as the velocity before and after impact, the angle, normal, object, position etc;

  • Added Shrimple Roller preset to the right click->create menu, we're planning on making more presets in the future.

Improved

2 changes
  • MoveHelperResult's Velocity now returns the current velocity instead of just the difference between positions, which would cause useless bounces;

  • GroundAcceleration/Deceleration can still be used even with GroundStick disabled (It already happened but you couldn't edit it).

Fixed

1 change
  • Updated all the obsolete attributes to remove warnings in console.

Removed

2 changes
  • Old gravity upgrader, didn't actually do anything;

  • "Cylinder Trace" boolean has been removed, replaced with "Trace Shape" enum to allow the new Sphere option. This update comes with an upgrader for this.

Known Issues

1 change
  • Sphere traces cannot properly detect steps as the curved surface hits with the step's edge rather than the face.