Showcase Manager is a tool designed to facilitate control over an isolated camera system within Unity
The mission
This documentation aims to guide users in using the "Showcase Manager" camera system effectively. We will cover configuring the tool, adjusting positions, modifying FOV, selecting projection modes (perspective, isometric), and more.
Additionally, we will explore the configuration of some UI elements.
Resources
Unity 2019.4.31f1 or newer.
Visual Studio 2019 or newer.
Showcase prefab.
The tool
Let’s delve into the components that constitute this tool.
Canvas 2D
Button_Next
Button_Prev
Background_Step (0) (text containers)
i. Description.
ii. Title
Discord (this button is not used at the moment)
Instagram (this button is not used at the moment)
Twitter (this button is not used at the moment)
PingPong_Next (these buttons are crucial for one of the navigation systems)
PingPong_Back (these buttons are crucial for one of the navigation systems)
Camera (main camera. This can be replaced at a later date based on project requirements)
NavigationPoints (these points are employed by the camera to navigate the environment. They also contain information for the camera, such as POV or projection mode)
Functionality
Let’s explore the components that contribute to the functionality of Showcase Manager.
Default State (this number determines the current camera position. Generally, it doesn’t require manipulation)
States (UI elements)
Size (number of UI elements desired)
Element 0 (here, we place the UI elements in the order 0, 1, 2, and so forth)
Navigation points (physical positions of navigation points in space)
Size (number of physical navigation points desired)
Element 0 (here, we place navigation points, in the order 0, 1, 2, and so forth)
Navigation transform (transform position occupied by navigation points)
Size (this number must match the number of navigation points)
Element 0 (here, we host navigation point transformations in the same order as they are in navigation points)
Forward (here, we place the button "Button_Next")
Backward (here, we place the button "Button_Prev")
PingPong_Next (here, we place the button "PingPong_Next")
PingPong_Back (here, we place the button "PingPong_Back")
Cycle (type of camera movement)
Once (when it reaches the end of the navigation points list, it does not proceed further)
Repeat (when it reaches the end of the navegation points list, it returns to 0)
PingPong (when it reaches the end of the navigation points list "1,2,3" the sequence is played backwards "3,2,1")
Reverse (it serves as a visual guide to the pingpong cycle)
Main Camera (here, we place the physical object of the camera)
Main Camera (here, we use the same camera as above. The difference is that here we read the camera properties through code)
Configuration
One important consideration is that, regardless of the number of navigation points, when the programme starts, the camera will automatically move to point (0). Therefore, it is crucial to position the camera at the same coordinates as this point.
Additionally, we can leverage this initial movement to create an intriguing effect, such as simulating being dropped into the scene.
The most basic configuration consists of 4 points, but you can modify the number of points based on your specific needs.
Navigation point configuration
It’s essential to note that we are working with a Unity prefab. Therefore, any modifications made will display in bold, including letters, numbers and names.
For this example, we will use only 2 points.
Initially, we will position the navigation points in the appropiate sections of the Showcase Manager Script (navigation points, navigation transform).
Afterwards, we will position the Background_Step. There’s no need to toggle them on or off, the code manages them correctly.
The following step involves configuring the navigation point data.
The critical data include "position" "rotation" and "new FOV", as the camera uses this information to navigate through the environment.
The camera will typically have coordinates of 0,0,0 for both rotation and position in all positions.
Upon pressing the play button, you will observe that the camera repositions itself to the location of navigation point (0). Even though the numerical positions may not match exactly, their spatial positions are the same. This occurs because both the points and the camera have different parents, and these numerical values are independent of each other.
To address this, I recomend aligning the cameras to "play" and using the blue arrow on the navigation points as a guide.
Following that, you can copy the component during play, disable this mode and paste those values outside of play.
Additionally, there’s the option to adjust the FOV using the same methods.
In addition to all this configurations, there’s the option to modify the speed at which the transition occurs from one camera to another, as well as the speed of the FOV transition, with 3 being the default value.
As a final detail, you have the option to change the projection method.
This capability enables us to have various points of view within the same presentation, as the camera will adjust the projection type based on the values of the navigation points.
Types of cycle
Repeat
This mode enables us to create an infinite loop, continously returning to the first and last navigation points.
Once
In this mode, we will cross from the first to the last navigation point, and once we reach the end, further progression will be restricted. However, we can return to the starting point.
PingPong
In the PingPong mode, the buttons will vanish from the screen, and clicking in the center of the screen will transition from the first point to the last and then proceed in reverse order (1,2,3...3,2,1). This mode is designed for mobile devices.
UI
The entire UI will be managed using Unity's built-in sprite editing system.
This serves as a good example of the type of UI used. The crucial aspect is that everything is divided into powers of 2, facilitating easier manipulation.
Conclusion
This camera system is highly versatile, providing a wide array of tools that allow for the creation of spectacular presentations when configured meticulously.