BounceVelocity - custom body mover

BounceVelocity is a custom body mover, it functions similarly to a BodyVelocity with the addition of being able to bounce/reflect on contact with another surface and custom physics/momentum

Examples

local bounceVelocity = require(6513174577)
local velocity = bounceVelocity.new(script.Parent)
velocity.Velocity = Vector3.new(20, 20, 20)

local bounceVelocity = require(6513174577)
local velocity = bounceVelocity.new(script.Parent)
velocity.LoseMomentumOvertime = true
velocity.AffectedByGravity = true
velocity.MomentumDeceleration = Vector3.new(1, 1, 1)

wait(5)
velocity.Velocity = Vector3.new(20, 20, 0)

also works with a character

local bounceVelocity = require(game.ReplicatedStorage.BounceVelocity)

local _, size = script.Parent:GetBoundingBox()
local velocity = bounceVelocity.new(script.Parent.HumanoidRootPart)
velocity.CollisionSize = size
velocity.IgnoreList = {script.Parent}
velocity.LoseMomentumOvertime = true
velocity.AffectedByGravity = true
velocity.MomentumDeceleration = Vector3.new(1, 1, 1)

wait(5)
velocity.Velocity = Vector3.new(20, 20, 0)

Installation

you can get the module here, or alternatively use require(6513174577) in your scripts

the source code and be viewed here

the documentation can be viewed here here

25 Likes

The bouncing in the first and second video doesn’t feel all too realistic…

1 Like

the first two videos aren’t using AffectedByGravity so they have a more coded movement

Ok, now I understand. It just seemed so… linear.

1 Like