> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kinemation.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Camera motion extractor

> Use BP_CameraMotionExtractor to prepare animation curves.

export const Modifier = ({modifierName, settingsImage, example, graphImage}) => <>
    <p><code>{modifierName}</code> extracts a camera bone's rotation into animation curves. The first-person camera reads those curves while the character animation plays.</p>

    <h2 id="apply-the-modifier">Apply the modifier</h2>

    <ol>
    <li><p>Open a copy of the target Animation Sequence.</p>
    </li>
    <li><p>Open <strong>Window &gt; Animation Data Modifiers</strong> and add <code>{modifierName}</code>.</p>
    </li>
    <li><p>Set the source and other properties described below, then apply the modifier.</p>
    </li>
    <li><p>Inspect the resulting curves and preview the animation.</p>
    </li>
    </ol>

    {example}
    <h2 id="settings">Settings</h2>

    {settingsImage}
    <table>
    <thead><tr><th>Property</th><th>Use</th></tr></thead>
    <tbody><tr><td><code>CameraAnimation</code></td><td>Animation containing the camera motion to sample.</td></tr>
    <tr><td><code>CameraBoneName</code></td><td>Bone containing the camera rotation.</td></tr>
    <tr><td><code>RefAnimation</code></td><td>Animation used to establish the reference rotation.</td></tr>
    <tr><td><code>Intensity</code></td><td>Scales the extracted rotation.</td></tr>
    <tr><td><code>CurveNames</code></td><td>Output rotation-curve names expected by the camera component.</td></tr></tbody>
    </table>

    <p><code>Playback</code> and <code>RefPose</code> are working values used during extraction. The apply graph samples at 60 samples per second.</p>

    <h2 id="result-and-revert">Result and revert</h2>

    <p>The modifier adds rotation curves to the target Animation Sequence. It samples <code>CameraAnimation</code>, using the reference pose and intensity when writing keys. <strong>Revert</strong> removes its named output curves.</p>

    {graphImage}
  </>;

export const Example = () => <><h2>Example in Sci-Fi FPS Pack</h2><p>Open A_FP_Gepard_Reload in Animations/Character/UE5/Gepard to see a sequence using this modifier. Inspect its camera and reference animation assignments, then apply the same setup to a copy of your replacement reload. Preview the reload in play to check camera timing.</p></>;

<Modifier modifierName="BP_CameraMotionExtractor" settingsImage={<Frame caption="Configure the camera source and extraction settings."><img src="https://mintcdn.com/kinemation/BvKUc44M8EsdeT19/images/gameplay-framework/unreal/CameraMotionExtractorModifier.png?fit=max&auto=format&n=BvKUc44M8EsdeT19&q=85&s=4c616cd81c2288db5bdf5421c2ee2704" alt="Camera motion extractor settings" /></Frame>} example={<Example />} graphImage={<Frame caption="BP_CameraMotionExtractor apply logic. Open the image to inspect the graph."><img src="https://mintcdn.com/kinemation/SNGN1MO-2cou2Sl-/images/kinemation/unreal/BP_CameraMotionExtractor_EventGraph_00000.png?fit=max&auto=format&n=SNGN1MO-2cou2Sl-&q=85&s=4abacceb06caf45843b51e2b14539388" alt="BP_CameraMotionExtractor apply and curve-processing graph" /></Frame>} />
