The original Hoverpark in Sansar is a fun demonstration of a dynamically controlled flying vehicle. Here's a quick look at the original Hoverpark:

Now you can get the main parts to add to your own experience.

Get the parts

Configure the parts

The hover platform

Place a copy of the "Hoverpark - Platform" 3D model in your scene. Add a light to it and then add an audio emitter to it by right-clicking on the object in the Scene Objects panel. Rotate the spotlight to face downward. Then drop the "Hoverpark - Platform 1.0" script onto the object. Edit your object's many settings to look like this:

Once configured, you can copy this whole object as many times as you wish. You don't need to change any settings among them.

The start point

This is mainly a trigger volume that contains the controller script. When someone walks into it, up pops a hover platform and they are teleported onto it.

Drop the "Hoverpark - Controller 1.0" script into the trigger volume. The properties should look like this:

Optionally, place the "Hoverpark - Start" model on the ground under the trigger volume as a visual cue to the user. You probably should set the Z value of its Rotation to -152. The texture on it is not aligned the way I would have preferred, but I was too lazy to fix it.

Customize the controller

The "Hoverpark - Controller 1.0" script comes ready-configured for the setup found at the original Hoverpark experience. But you can (and probably want to) configure it to suit your own differing needs. For example, you might choose to create a different vehicle model. Or you might keep the current model and choose to tune its flight characteristics a little differently. Or you might want a different arena size. And so on.

I strongly recommend you start by using the default controller with the original platform design first to gain the experience and confirm your basic settings for everything.

You will need to download the script source code for this.

The script may seem scary at first if you have not scripted much in Sansar, but the good news is that this script does very little and the part you need to care about is short. Look for the "#region Customized control (opportunities for editing)" line. You probably don't need to touch anything below that. In fact, you probably only need to edit the BoardingLocation variable and the Init2() method.

Init2() broadcasts the many parameters that govern the behavior of the flying platforms so you don't have to tweak their scripts individually. I won't explain all these settings here, but here are some of the most important ones you are likely to change:

The ZController, RollController, and YawController configurations contain settings for PID controllers. An explanation of these is beyond the scope of this document, but these settings control how "stiff" or "loose" the platform is in response to the rider, gravity, and other environmental factors. Feel free to try some variations in the numbers.

If you use a different model, keep in mind that its mass will play a huge role in how it behaves. You may need to adjust it above or below the 2000 value recommended for the provided model.