GS_PhantomCam

Frame your game’s vision.

A virtual camera system inspired by industry standards — priority switching, smooth blending, and dynamic camera prioritization through influence fields.

Professional Camera Control

From gameplay to cinematics — the camera system that adapts to your needs

Priority-Based Switching

The highest-priority active camera drives the player view. Switch seamlessly between gameplay, cutscene, and specialized cameras based on game state.

  • Automatic Selection — Highest priority always wins
  • Dynamic Priorities — Change at runtime via EBus
  • Manager Lifecycle — Enable/disable the camera system globally

Blend Profiles

Define how cameras transition. Each entry pairs an easing curve with a blend shape — straight lerp, cylindrical arc, or full 3D spherical orbit around a pivot. Optional state inheritance carries pose continuity across the cut.

  • Blend Shapes — Linear, Cylindrical, or Spherical around a configurable pivot
  • State Inheritance — Opt-in cam-to-cam pose handoff for seamless continuations
  • Mid-Blend Correction — Velocity-matched interrupt handling prevents jolts when blends override mid-flight
  • Asset-Based — Reusable .camblendprofile assets in the Asset Editor

Influence Fields

Dynamic camera priority modification. Global influences apply to all cameras. Field influences activate when the player enters spatial volumes. Perfect for reactive framing and complex environmental zones.

  • Global Influences — Always-active camera influence
  • Spatial Fields — Volume-based camera influence

Composable Stage Pipeline

Every cam runs the same Body → Aim → Reposition → Noise pipeline. Pick a Body stage for follow behavior, an Aim stage for rotation, and stack Additive stages for collision, tug fields, and camera shake — all on one component.

  • Body Stages — DefaultFollow, Orbit, DynamicOrbit (player-driven), LeadingFollow (Gears-style), Track (spline dolly)
  • Aim Stages — DefaultLookAt and ClampedLookAim — plus extensions from gs_performer
  • Additive Stages — Collision pushback, magnetic tug fields, layered Perlin noise, ADSR-gated impulse shake
  • Channel-Aware — Same authoring surface scales from single-cam to 4-player split-screen co-op

Technical Specifications

Components

Composable camera system

Manager: CamManager, CamCore driver, ChannelStamp (auto-attached)

Phantom Camera: One base component, behavior via stages

Targeting: GroupTarget, GlobalInfluence, CameraInfluenceField

Tug Fields: TugVolume + TugSource + TugFieldProxy

Dependencies

Required: GS_Core only

Minimal dependencies. Works with any O3DE project that includes GS_Core.

EBus Interfaces

Camera Control: Per-camera enable/disable, priority changes

Manager Events: Camera lifecycle notifications

Global Control: Enable/disable entire camera system

Data Assets

.camblendprofile: Cam-pair blend timing, shape, pivot, inheritance

.camnoiseprofile: Per-axis Perlin noise stacks for shake / handheld feel

.camorbit: Power-bulge orbit surface for DynamicOrbitBody

Built for Every Camera Need

Gameplay Cameras

Follow the player, track targets, respond to combat. Priority switching means your action camera activates automatically during boss fights, then smoothly returns to exploration.

Cinematic Cameras

Spline-tracked cameras for cutscenes. Influence fields for reactive framing. Blend profiles for controlled transitions. The tools to make your vision look exactly how you imagined.

Fully Extensible

Every camera component is designed for inheritance. Your custom camera behaviors build on proven base implementations — override what you need, inherit the rest.

Frame Your Game's Vision

From gameplay follow cameras to cinematic spline tracks — GS_PhantomCam gives you industry-standard camera control.

Get GS_Play Read Documentation Explore Other Gems