What can I use to the a ball to travel along a fixed angular velocity?

Actually i have done it in c++, but in bp it would be the same. For a vector there is a function ‘MirrorByVector’-in “On hit event” just mirror your velocity by impact normal and it will work just fine. :slight_smile:

like:

void ABallActor::OnHit(AActor* SelfActor, AActor* OtherActor, FVector >
NormalImpulse, const FHitResult& Hit )
{
Velocity=Velocity.MirrorByVector(Hit.Normal);
}

(dayum, dat formatting :smiley: but it should be clear anyway)

In general, that function uses a simple formula involving dot product-given the surface normal it ‘bounces’ a vector off the surface(quite as shown in the picture in the first post here)