Blend Profiles are .camblendprofile data assets that define how the Cam Core transitions from one Phantom Camera to another. Without a Blend Profile, transitions are instantaneous. A well-authored Blend Profile is often the single largest contributor to a camera system feeling polished rather than mechanical.
Each entry in a profile defines a single transition rule — a From / To pair plus the parameters that shape the blend: duration, easing curve, blend shape, pivot source, and whether the destination cam should inherit pose state from the source.
For asset structure details and version semantics, see the Framework API reference.

Contents
- What a Blend Entry Contains
- Resolution Order
- Blend Shape — Linear, Cylindrical, Spherical
- Pivot Source
- Inherit State
- Creating a Blend Profile Asset
- Quick Reference
- Glossary
- See Also
What a Blend Entry Contains
Each entry in a .camblendprofile defines a single transition rule:
| Field | Purpose |
|---|---|
| From Camera | Entity name of the outgoing cam. Blank / "any" matches all. |
| To Camera | Entity name of the incoming cam. Blank / "any" matches all. |
| Blend Time | Duration of the transition in seconds. |
| Blend Type | The easing curve. Same CurveType enum used elsewhere in the framework. |
| Blend Shape | Linear, Cylindrical, or Spherical. See Blend Shape. |
| Pivot Source | Source, Destination, or Shared. See Pivot Source. Ignored when Blend Shape is Linear. |
| Inherit State | Opt-in cam-to-cam pose handoff. See Inherit State. |
Camera names correspond to the entity names of your Phantom Camera entities in the scene.
Resolution Order
When a transition occurs, the Cam Core asks the profile for the best entry matching the outgoing → incoming pair. Resolution is by specificity:
| Tier | Match |
|---|---|
| 1 — Exact | Both From and To camera names match. |
| 2 — Any-to-specific | From is "any" or blank, To matches. |
| 3 — Specific-to-any | From matches, To is "any" or blank. |
| 4 — Default fallback | No entry matched; the Cam Core uses its own default Blend Time, Blend Type, and Blend Shape configured on the component. |
This layered resolution lets you author broad defaults (“any” to “any” at 1.0 seconds with Linear shape and Inherit unchecked) while overriding specific transitions (“MenuCam” → “GameplayCam” at 2.5 seconds with Spherical shape, Pivot Source = Destination, and Inherit on).
Blend Shape
How the cam’s position interpolates between source and destination. Rotation always slerps; the shape only affects position.
| Shape | When to use it |
|---|---|
Linear | Default. Straight-line lerp. The cheapest and most predictable. Right for most transitions. |
Cylindrical | The two cams sit at similar heights around a shared target, and you want the transition to feel like sweeping around the target. Pitch and radius interpolate independently; the yaw arcs around a pivot. |
Spherical | The two cams sit at different heights around a shared target, and you want a full 3D orbital arc. The cam traces a great-circle path around the pivot. |
Auto-fallback to Linear. When neither cam reports a pivot (e.g. environmental cams without follow / look-at targets), the blend lerps straight regardless of the authored shape. The pivot resolution gracefully drops back to Linear so you don’t accidentally break a transition by picking a shape that can’t be computed.
Pivot Source
When Blend Shape is Cylindrical or Spherical, the cam arcs around a pivot in world space. The Pivot Source selects which cam’s pivot to use:
| Pivot Source | Meaning |
|---|---|
Source | The outgoing cam’s pivot. “Leave A elegantly” — the source cam’s framing reference defines the arc. |
Destination | The incoming cam’s pivot. “Arrive at B elegantly” — the destination’s framing defines the arc. |
Shared (default) | Midpoint of both pivots. Collapses identically when both cams target the same point. |
This field is ignored when Blend Shape is Linear.
A cam that doesn’t publish a pivot (typically a body type that has no target — DefaultFollowBody without a follow target) disqualifies itself from being the pivot source. The Cam Core falls back to whichever cam does publish one, or to Linear if neither.
Inherit State
Setting Inherit State opts the matched pair into the cam-to-cam pose handoff protocol. When enabled, the destination cam’s Body stage seeds itself from the outgoing cam’s pose before the blend runs. The blend then reads as a smooth drift instead of a swing.
For when to use it, per-body behavior, and the common authoring gotcha, see the dedicated guide:
Default is unchecked so cinematic shots authored at specific poses land at those poses unless you opt in.
Creating a Blend Profile Asset
- Open the Asset Editor in O3DE.
- Select New → GS_PhantomCamBlendProfile.
- Name the asset descriptively — e.g.
CombatBlend,CinematicSoftBlend,CharacterSelectBlend. - Add blend entries via the + button on the Blend List array.
- For each entry:
- Set From Camera name (or leave blank for “any”).
- Set To Camera name (or leave blank for “any”).
- Set Blend Time in seconds.
- Choose Blend Type (easing curve).
- Choose Blend Shape.
- Choose Pivot Source (only matters if Shape is not Linear).
- Tick Inherit State if you want a continuation-feel handoff.
- Save the asset.
- Assign it to a Cam Core component’s Blend Profile slot.
A starter SampleRigBlend.camblendprofile ships in gs_phantomcam/Assets/ for reference.
Quick Reference
| Need | How |
|---|---|
| Create a blend profile | Asset Editor → New → GS_PhantomCamBlendProfile |
| Assign a profile to the cam system | Set the Blend Profile slot on the Cam Core component |
| Make a transition instant | Leave the entry’s Blend Time at 0, or don’t add an entry at all (falls back to Cam Core defaults — set those to 0 too if you want all transitions instant). |
| Share one profile across many cams | Use the same asset reference across multiple Cam Core components (Tier 3 / multi-rig) |
| Edit blend timing project-wide | Edit the Blend Profile asset — all consumers update automatically. |
| Continuation-feel handoff between similar cams | Tick Inherit State on the matching entry |
| Orbital arc between two cams sharing a target | Set Blend Shape to Spherical and Pivot Source to Shared |
Glossary
| Term | Meaning |
|---|---|
| Blend Profile | A .camblendprofile data asset defining per-pair transition parameters. |
| Blend Entry | One row in a Blend Profile — a From / To pair and the parameters for that specific transition. |
| Blend Shape | The geometric shape of the cam’s position interpolation — Linear / Cylindrical / Spherical. |
| Pivot Source | Which cam’s pivot is used as the orbital center for non-Linear shapes. |
| Inherit State | The opt-in toggle that drives the cam-to-cam pose handoff protocol. |
For full definitions, see the Glossary.
See Also
Framework API:
- Blend Profiles — Framework API — asset structure, version semantics,
GetBestBlendresolution. - State Inheritance — Framework API — the protocol behind the Inherit State toggle.
Related basics pages:
- The Basics: State Inheritance — when to tick the box, per-body behavior.
- The Basics: Cam Core — the system that consumes the profile.
- The Basics: Phantom Cameras — base cam authoring.
- The Basics: Cam Manager — manager lifecycle.
Get GS_PhantomCam
GS_PhantomCam — Explore this gem on the product page and add it to your project.