# MixingCameraExtension

This is an extension used to mix several sub-cameras included in this extension. The camera's location and rotation are fully determined by these weighted sub-cameras. Though, you can still explicitly specify a follow component or aim component to override location or rotation.

<figure><img src="https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2FjuokIA3QATOd4up9sS6E%2F1.png?alt=media&#x26;token=6304c5cd-38cd-4eaf-a8e4-a3d8c53cc649" alt=""><figcaption></figcaption></figure>

<table><thead><tr><th width="133.33333333333331">Parameter</th><th width="132"></th><th>Description</th></tr></thead><tbody><tr><td>Camera Classes</td><td></td><td>List of cameras types that will be instantiated, along with optional follow target and aim target. Cannot be changed once instantiated.</td></tr><tr><td></td><td>Camera Class</td><td>Camera class. You cannot place a AEMixingCamera here!</td></tr><tr><td></td><td>Follow Target</td><td>Optional soft follow target. Specified in blueprint or instance.</td></tr><tr><td></td><td>Follow Target Type</td><td>Optional follow target type. If FollowTarget is null, try to find actor of this type.</td></tr><tr><td></td><td>Aim Target</td><td>Optional soft aim target. Specified in blueprint or instance.</td></tr><tr><td></td><td>Aim Target Type</td><td>Optional aim target type. If AimTarget is null, try to find actor of this type.</td></tr><tr><td>Weights</td><td></td><td>List of weights controlling each camera's contribution. Each weight can be arbitrary value, but it's recommended to normalize the weights and update them in blueprint.</td></tr><tr><td>Weight Update Scheme</td><td></td><td>Schemes to update mixing camera's weights. Cannot be changed once instantiated.</td></tr><tr><td></td><td>Average</td><td>Weights are equally distributed.</td></tr><tr><td></td><td>Manual</td><td>Update weights in blueprint using your own custom scheme.</td></tr><tr><td>Mix Scheme</td><td></td><td>Schemes to mix camera's position and rotation. Cannot be changed once instantiated.</td></tr><tr><td></td><td>PositionOnly</td><td>Only mix camera's position.</td></tr><tr><td></td><td>RotationOnly</td><td>Only mix camera's rotation.</td></tr><tr><td></td><td>Both</td><td>Mix both camera's position and rotation.</td></tr><tr><td>Mix Rotation Method</td><td>Trivial</td><td>Trivially mix rotations. Simple weighted average. May cause sudden jump.</td></tr><tr><td></td><td>Eigenvalue</td><td>Matrix decomposition to find the largest eigenvalue. Smooth but at a high efficiency cost.</td></tr><tr><td></td><td>Circular</td><td>Use smoothed circular mean to average angles.</td></tr><tr><td>Circular Epsilon</td><td></td><td>Parameter used in the Circular rotation scheme to control the smoothness of rotation average.</td></tr></tbody></table>

Reference the [Mixing Cameras](https://sulleyyys-organization.gitbook.io/manuals-of-ccs/advanced-uses/mixing-camera) page to learn calling and using MixingCamera.
