Player Property Volumes (PPV's)
This page will cover everything to do with Player Property Volumes (PPVs).
Player Property Volumes Video
Player Property Volumes (PPV's) are a tool that allow you to control certain properties within an area of a Space. This area is defined by a box, mesh, or sphere collider.
Examples could include :
- zero, lower, or higher gravity
- the effect of distorting the players vision
- allowing the player to walk or run slower or faster.
You can affect things such as gravity, post processing effects, and certain properties of the avatar. When taking these to the limit you can create some very interesting situations within your space.
The PPV Script when dragged onto an object
The properties that are currently available include :
- Gravity (Default -15)
- Jump Height (Default 6.5)
- Walk Speed (Default 2.7)
- Sprint Speed (Default 10)
- Bloom (Default 0.5)
- Chromatic Aberration (Default 0.5)
- Motion Blur (Default 0.5)
Some of these can be set to negative, so be sure to play around and see what amazing things you can come up with!
The Player Property Volume is a script that you apply to an object with a collider. The script can be found in the Mona/TemplateScripts folder. Simply drag and drop the MonaPPV.cs script onto the object with the collider. The Collider should have the IsTrigger set to On.
For organisation purposes we recommend making an empty gameobject in your scene and applying the collider and script on that. This way the PPV can act as it's own gameobject to edit easily.
Adjust the settings on the script as you see fit.
When the Avatar touches the collider, the settings of the PPV will override the settings of the default space, and return to the settings of the Space when the avatar exits it.
If you want a volume to throw the Avatar in the air (without letting them land) the gravity setting should be above 100. If it is below this the Avatar can usually land and the gravity only kicks in again if they jump.
This is probably due to the PPV Collider 'IsTrigger' set to false. Make sure this is set to true/on.