Fighting Game · Guides & deep dives

V2 Third-Person Orbit Camera

sensitivity, inversion, FOV, target height offset, side offset, and blend time.

4sections1 minread

On this page

The third-person orbit camera resolves a gameplay camera pose around a target location. It is authored as a deterministic V2Gameplay data evaluator so Blueprints, tests, and release gates can use the same orbit math.

Runtime Surface#

  • FV2ThirdPersonOrbitCameraLimits configures distance, pitch, yaw, sensitivity, inversion, FOV, target height offset, side offset, and blend time.
  • FV2ThirdPersonOrbitCameraState stores the target location plus current yaw, pitch, and distance.
  • FV2ThirdPersonOrbitCameraInput carries yaw, pitch, zoom axes, and frame delta seconds.
  • FV2ThirdPersonOrbitCameraEvaluation returns the pivot, camera location, camera rotation, arm vector, resolved yaw, pitch, distance, FOV, camera manager mode spec, and validation issues.

Orbit Rules#

  1. The pivot is TargetLocation + TargetHeightOffset.
  2. Yaw and pitch input are multiplied by their sensitivity and DeltaSeconds.
  3. Positive zoom input reduces distance, which moves the camera closer.
  4. Pitch and distance are always clamped to authored limits.
  5. Yaw is normalized by default and clamped only when bClampYawToLimits is enabled.
  6. Non-blocking clamp issues are reported when distance, pitch, or yaw are adjusted by limits.
  7. Invalid ranges, non-finite state, or negative delta time produce blocking issues and no valid camera pose.

Camera Manager Export#

EvaluateThirdPersonOrbitCamera fills ModeSpec with a EV2CameraModeType::ThirdPersonOrbit mode using id camera.third_person.orbit. BuildThirdPersonOrbitCameraMode can also export a custom id, priority, and active flag for a camera manager stack.

Validation Commands#

Run these targeted checks when touching the orbit camera:

bash
python3 V2/ue/Tools/check-v2-third-person-orbit-camera.py
python3 V2/ue/Tools/check-v2-camera-manager.py
python3 V2/ue/Tools/check-v2-ci-workflow.py
python3 -m json.tool V2/ue/Content/V2/Gameplay/Camera/ThirdPersonOrbitCamera_V2_Contract.json
python3 -m py_compile V2/ue/Tools/check-v2-third-person-orbit-camera.py