First of all, you will need to change your approach a little, and introduce an angle variable. Because your doing this in 3d, the maths are a little easier here.
And there are two approaches to doing this too. When a collision occurs, blitz returns some information about that collision, via CollisionNX() NY() and NZ(). These are basically normals, the angle the ball hit the wall/bat at.
Basically your ball has an angle, or direction. When hitting a wall, you must find the opposite angle.
Using the normals, you simply align to vector the ball, once you figure out the angle it should bounce at. I can't quite figure it out in my head without running some code, but that is the basics.
There should be a way, of easily changing the angle, based on the angle the ball is going at. It probably will involve the angle the balls travelling at and the collision normal returned.
If no-one else replies, i'll try and knock some code together when i get back from football.
And there are two approaches to doing this too. When a collision occurs, blitz returns some information about that collision, via CollisionNX() NY() and NZ(). These are basically normals, the angle the ball hit the wall/bat at.
Basically your ball has an angle, or direction. When hitting a wall, you must find the opposite angle.
Using the normals, you simply align to vector the ball, once you figure out the angle it should bounce at. I can't quite figure it out in my head without running some code, but that is the basics.
There should be a way, of easily changing the angle, based on the angle the ball is going at. It probably will involve the angle the balls travelling at and the collision normal returned.
If no-one else replies, i'll try and knock some code together when i get back from football.