Aquafloat Seat
Multifaceted Seats that utilize VRC_Stations to attach players to floating objects and vehicles.
Working with Pickup-able Vehicles
To prevent ownership desyncs on pickup-able vehicles, the provided "Vehicle Pickup" script must be placed on the synced pickup object. Assign the driver seat and the pickup components to the script. This script sends events to the Aquafloat Seat when the vehicle has been dropped, allowing the driver to take control of the vehicle again.
Player Scaling
You can enable avatar scaling on the seat to alter a player's height when they sit down in the chair. They will return to their previous height upon leaving the seat.
Stabilization
Seat stabilization attempts to reduce motion sickness from rapidly bouncing or rotating vehicles.
Stabilization Methods
Locked Vertical: keeps players upright to the world even when the seat flips upside-down. This works well in use cases that don't involve changing gravity.
Dynamic: interpolates the the player's rotation towards the direction of gravity. Works well with worlds that include overlapping Gravity Zones.
You must supply a gravity reference floater for this method to work. In most cases you should pick the floater at the front of the vehicle to be the reference.
Smooth: interpolates the player's vertical rotation towards the rotation of the seat. Works with Gravity Zones. Good for most use cases.
Free Smooth: interpolates the the player's vertical AND horizontal rotation with the rotation of the seat. Occasionally used for passenger seats.
Vehicle Driving
Sitting in an Aquafloat Seat activates all Aquafloat Motors attached to it, giving the player direct control of the motors. The controls for the Motors can be set individually or deactivated for each Seat.
Driving Animations
You can specify an animator to send input events to. For example, the Jet Ski prefab has a steering wheel animator that responds to "left and right" inputs of the player sitting in the seat.
All animations have a built in dampening so wheel turns will be smooth for Desktop Users.
Public Functions
Interact()
-> Triggers the script to force the player into the seat.
ExitStation()
-> Triggers the OnStationExited
and resets the seat.
Last updated