Cam Core
Categories:

Image showing the Cam Core component, as seen in the Entity Inspector on the MainCamera entity.
Cam Core Overview
The Cam Core is a central pillar to the Phantom Cam system, it is housed on the MainCamera and drives the processes that blend and match it’s properties to the dominant Phantom Cam.
Functionality
When cameras activate, spawn, or change their priority, the Camera Manager sorts through and determines the dominant camera. It then broadcasts that change for the Camera Core to follow.
Using the Blend Profile set to the Cam Core, the Camera will find the most valid blend to use to move towards the destination Phantom Camera. If no blend is available it falls back to defaults defined on the component.
Finally, when the camera arrives at the Phantom Cam, it becomes a child entity, and locks to the Phantom Cam, so that all movements and rotations are matched exactly.
The Cam Core, then waits until the next transition is fired.
Setting Up Your Cam Core
For initial startup instructions refer to the PhantomCam Set Up Guide in Get Started section.
Add the Cam Core component to your Main Camera. There can only be one Main Camera in the game. In order to assure that there is only one, it’s best to make the Main Camera a child of the Cam Manager, and exclude all cameras from your levels.
When your Cam Manager is created, your Cam Core follows and now is ready to interface with your Phantom Cameras.
To configure your Cam Core, edit the Cam Manager Prefab.
Set your Cam Core Defaults.
Create a Blend Profile Data Asset and add it to the CamCore Blend Profile inspector slot.
API
//CamCoreIncomingEventBus::Handler
void SetPhantomCam(AZ::EntityId targetCam) override;
AZ::EntityId GetCamCore() override { return GetEntityId(); };