The camera soft lock-on layer biases the current camera rotation toward an eligible target without forcing a full lock. It selects targets from deterministic candidate data, applies strength and blend alpha, clamps yaw and pitch bias, and exports the adjusted camera-manager mode.
Runtime Surface#
FV2CameraSoftLockOnConfigconfigures bias strength, target distance and angle gates, yaw and pitch clamp limits, blend speed, line-of-sight requirement, and mode blend time.FV2CameraSoftLockOnStatecarries the current camera pose, base camera mode type, FOV, current target id, and current bias alpha.FV2CameraSoftLockOnInputcarries delta seconds and whether soft lock is enabled.FV2CameraSoftLockOnTargetcarries target id, location, priority, eligibility, and line-of-sight state.FV2CameraSoftLockOnEvaluationreturns selected target data, desired target rotation, biased rotation, yaw and pitch bias, bias alpha, target score, mode spec, and validation issues.
Bias Rules#
- Invalid config, state, or input is blocking.
- Invalid target entries are skipped and reported as non-blocking issues.
- Targets must be eligible, within distance, within angle, and line-of-sight visible when line-of-sight is required.
- Target score combines priority, distance score, and angle score.
- Bias alpha ramps by
BiasBlendSpeed * DeltaSeconds. - Rotation bias is
target delta * BiasStrength * BiasAlpha. - Yaw and pitch bias are clamped independently so the camera never becomes a hard lock-on camera.
Camera Manager Export#
EvaluateCameraSoftLockOn fills ModeSpec with the state base mode type using
id camera.soft_lock_on. BuildCameraSoftLockOnMode can export a custom id,
priority, and active flag for a camera manager stack.
Validation Commands#
Run these targeted checks when touching soft lock-on:
bash
python3 V2/ue/Tools/check-v2-camera-soft-lock-on.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/CameraSoftLockOn_V2_Contract.json
python3 -m py_compile V2/ue/Tools/check-v2-camera-soft-lock-on.py