This was one of my first custom assets I made for the first project with Waking Reverie. It’s a pretty simple concept: the player hits the bounce pad and they get launched in the air. We quickly discovered that figuring out how to make it work properly was not so easy.
After spending a bit of time thinking it over, I decided on a plan of action for tackling this challenge. The bounce pad would be separated into 3 different parts, the target sphere (1 in the picture below), the actually bounce pad mesh (2) and the collision volume (3).
The target sphere is only visible in the editor, meaning the player never sees it when in the game. It is the physical representation of where the player (or object) is launched. The asset draws a line from the center of the bounce pad mesh to the target sphere and uses that vector as the direction of the launch. The sphere can be freely moved around independently of the bounce pad, making it easy to get the desired direction.
The bounce pad mesh has a flat cylinder by default, but each instance of it can have the mesh changed to anything else. The collision volume is what checks for the player and triggers the launch. It can also have its size adjusted. This allows us to have the bounce pad look like anything we want while keeping the functionality the same.
On top of all this, the launch velocity can be changed for each instance of bounce pad for both the player and other objects. Below the image is a short video demonstrating how the same bounce pad can be used for different things in an example map.
This is owned by Waking Reverie, LLC