BallBounce

Overview

BallBounce is a data type that holds the state of a ball when it collides (bounces) with a surface. It provides information necessary for analyzing bounce events, such as the direction/speed/spin and angular velocity just before collision, the time of collision, the changes in direction/speed/spin after collision, and the collision point/normal. It is used for displaying replays, tuning physics parameters, and debugging collision responses.

Constructors

It is not created directly in scripts. Typically, it is returned as a bounce event or passed as a callback argument during the simulator/engine's collision processing.

Properties

CFrame

CFrame

The ball's posture based on the collision point (based on HitPosition + HitRotation). Includes both position and rotation.

Code Samples

local bounce = bounce -- BallBounce received from the simulator
print("Bounce CFrame:", bounce.CFrame)

Direction

Vector3

The unit vector of the movement direction just before the collision.

Code Samples

Speed

number

The speed magnitude just before the collision (cm/s).

Code Samples

Spin

number

The spin just before the collision (angular velocity magnitude, rad/s).

Code Samples

AngularVelocity

Vector3

The angular velocity vector just before the collision (rad/s). The direction is the axis of rotation, and the magnitude is the angular speed.

Code Samples

BouncedTime

number

The time when the bounce occurred (seconds). This is the time value on the simulation timeline.

Code Samples

BouncedDirection

Vector3

The unit vector of the movement direction after the collision.

Code Samples

BouncedSpeed

number

The speed magnitude after the collision (cm/s).

Code Samples

BouncedSpin

number

The spin after the collision (angular velocity magnitude, rad/s).

Code Samples

BouncedAngularVelocity

Vector3

The angular velocity vector after the collision (rad/s).

Code Samples

bIsSliding

boolean

Whether the ball is sliding on the contact surface after the collision.

Code Samples

StartPos

Vector3

The start position of the bounce simulation segment.

Code Samples

BouncedPosition

Vector3

The position of the collision point.

Code Samples

BouncedRotation

CFrame

The rotation (posture) of the collision point. Stored as FQuat in code but denoted as CFrame in documentation (rotation component).

Code Samples

ImpactPoint

Vector3

The world coordinates of the collision contact point.

Code Samples

ImpactNormal

Vector3

The normal vector of the collision surface (perpendicular to the surface).

Code Samples

Methods

There are currently no methods exposed externally.

Last updated