Gaia allows you to create a so-called "Player Controller" in your scene. A Player Controller is one or a collection of objects that is configured to let the player control the camera and / or a player character as well. Using the Gaia Player Controller is a good way to explore your terrain the way your users would. You can use the Gaia players for early prototyping and switch them out with your own / other 3rd party player controllers later, or you can use them in your final product. The currently available player controller types are:
- First Person - The classic first person controller where you move with WASD on your keyboard and look with your mouse.
- Flying Camera - A camera that can just freely navigate everywhere in the scene. Controls for this controller are visible on the screen when you run the scene.
- Third Person - Adds the unity "Ethan" model as a player character that is followed by a third person camera
- XR Controller - A controller for Virtual / Augmented Reality projects with teleportation movement. This controller needs to be enabled from the setup Panel first to function properly.
- Custom - Not a player / controller per se, but allows you to reference your own custom player character and camera to make sure all the other Gaia systems are set up using the correct camera and player character. For example, if you use the Gaia Water system there is an underwater effect that is dependent on the camera position in the scene - if you are using your own character controller you would either need to go over the Gaia underwater scripts and assign the camera in there, or you can use this "Custom" feature to have Gaia set up the camera & character for you in the associated systems.
- None - Does not set up any player controller at all. You can freely set up any character / camera controller you like, but note that some of the other runtime settings of Gaia (e.g. underwater effects) might not function properly until you set up the character / camera in the associated scripts.
When creating a Player Controller from the Gaia Manager or via other means, you will find a "Gaia Player" container object in your scene that contains the individual objects that make up the player (e.g. the camera, the UI, etc.).
If you select the Gaia Player Object, you can access various settings and features for the Gaia Player:
The first block of settings is dedicated to player placement and switching between the different player controller types. You can switch freely between the available player controller types from the "Controller Type" dropdown. If the "Spawn At Current Location" checkbox is enabled, the new player will be created in position of the previous player controller, otherwise it will be placed on center of your terrain.
The "Move Camera To Player" and "Move Player To Camera" allow you to either quickly locate the player with the scene view camera, or move the player at the scene view camera location. This is useful for quickly moving the player to a new location before entering runtime.
The remaining panels are controlling distinct Gaia Player Features which are explained in the following sections.
Auto Depth Of Field Settings
"Auto Depth Of Field" is a feature to automatically adjust the "Depth of Field" Post Processing effect during runtime, for example when the camera is close to an object. This feature is currently available for the built-in rendering pipeline only. Per default, the feature is set up to blur the background when the camera is directed at an object close by. Take note of the trees in the background in this screenshot:
The settings for this feature are divided between "Auto Focus Dependencies" which allow you to set the camera and a potential target object (for when using the "Target Object" tracking mode), and the layers that should be recognized / ignored for finding the focal point for the Depth Of Field effect.
The "Auto Focus Configuration" allows you to choose between different tracking modes
- Fixed Offset - Just focuses at a fixed offset of the Camera
- Left / Right Mouse Click - Does a raycast into the screen at the mouse position and focuses at the collision point in the scene (if any)
- Follow Screen - Does a raycast from the center of the screen and focuses on the collision point in the scene (if any)
- Follow Target - Sets the focus point at a transform target of your choice (configure in the "Target Object" field above)
The settings for aperture & focal length will then be applied at the offset of the focal point determined by the tracking mode. To better find out where the Auto Depth Of Field is currently focusing, you can activate the "Show Debug Information" checkbox. This will show a debug sphere in the Game View at the focal point, and will also print out the name of the current collider in the console:
Player Culling Settings
The cameras set up for the Gaia Player come with an advanced culling system that allows you to set up different culling distances for different Unity layers to fine-tune performance: If you have layers in your scene that consist mainly of smaller objects, you can set up a shorter culling distance for this layer since the small objects will not be visible over a larger distance anyways. Vice versa you can increase culling distance on layers with objects like buildings etc. since those need to be visible from afar.
Likewise you can set up individual shadow drawing distances per layer.
The assets that come with Gaia were set up to take advantage of this system in 3 different layers (Small, Medium, Large) but this works with any object / layer setup that you can come up with.
The available settings for this system are:
Location Manager Settings
The location manager allows you to create bookmarks of important locations in your scene to which you then can quickly teleport by selecting the bookmark. This works both during runtime and design time. From this panel on the player you can only enable / disable the system on the player, the main functionality of this feature is controlled via the Location Manager window which can be opened with the button in this panel.