Fighting Game · Guides & deep dives

V2 Camera Zoom

FOVs, zoom-in and zoom-out speeds, per-mode enable flags, and blend duration.

4sections1 minread

On this page

The camera zoom layer resolves aim-down-sights, scope, and binocular zoom from a base FV2CameraModeSpec. It blends FOV toward the requested zoom target while preserving the base camera pose and mode metadata.

Runtime Surface#

  • FV2CameraZoomConfig configures FOV bounds, ADS, scope, and binocular target FOVs, zoom-in and zoom-out speeds, per-mode enable flags, and blend duration.
  • FV2CameraZoomState carries the base camera mode, current FOV, and current zoom alpha.
  • FV2CameraZoomInput carries requested zoom mode, held state, and delta seconds.
  • FV2CameraZoomEvaluation returns requested and resolved modes, base, target, and final FOV, zoom alpha, active and completion flags, base and resolved mode specs, and validation issues.

Zoom Rules#

  1. Invalid config, state, or input timing is blocking.
  2. Disabled zoom modes report ZoomModeDisabled and fall back to no zoom.
  3. ADS, scope, and binocular modes each resolve to their configured target FOV.
  4. Holding zoom increases alpha by ZoomInSpeed * DeltaSeconds.
  5. Releasing zoom decreases alpha by ZoomOutSpeed * DeltaSeconds.
  6. FOV values are clamped to configured bounds and reported as ZoomFovClamped.
  7. ZoomBlendComplete is reported when alpha reaches the requested end state.

Camera Manager Export#

EvaluateCameraZoom fills ModeSpec from the base camera mode with the resolved FOV and configured blend duration. BuildCameraZoomMode can export a custom id, priority, and active flag while preserving base camera pose, blend function, input, and cinematic metadata.

Validation Commands#

Run these targeted checks when touching camera zoom:

bash
python3 V2/ue/Tools/check-v2-camera-zoom.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/CameraZoom_V2_Contract.json
python3 -m py_compile V2/ue/Tools/check-v2-camera-zoom.py