Camera · Time Types
Baseline: OverAnim 0.1.0 Beta · Unreal Engine 5.8
Header: OverAnimation/Runtime/OverAnimComponent.h
This page documents the public enums and settings structures for Camera Safety, Camera Readability, slow motion, and pause used by UOverAnimComponent. See UOverAnimComponent for Blueprint node inputs, returns, and state changes.
Time · Camera Enum
| Enum |
Value |
Meaning |
EOverAnimTimeDilationPolicy |
FollowGameTime |
Simulates using the dilated game delta. Synchronized with animation/slow motion. |
|
IgnoreTimeDilation |
Uses real-time timing with world/owner time dilation removed. Motion measurement still uses game-time input. |
|
DisableDuringSlowMotion |
Returns to the source pose and rejects new responses when the effective time scale is below the threshold. |
EOverAnimSlowMotionSilhouettePolicy |
ImmediateReset |
Removes active responses and immediately returns to the source pose. |
|
BlendToSource |
Stops new responses and blends to the source pose over the configured duration. |
EOverAnimPauseBehavior |
FreezeCurrentSilhouette |
Freezes the current result. No motion/automatic stages or new Signals are generated while paused. |
|
ReturnToSourcePose |
Stops new responses and returns to the source pose. |
|
FinishExistingEffectsInRealTime |
Stops new responses but completes active envelopes/springs/releases in real time. |
EOverAnimScreenSpaceSilhouettePolicy |
AbsolutePixelSafety |
Applies one global pixel cap to all composed points. |
|
RegionRelativeReadability |
Applies a cap based on a Region's projected diameter, followed by the global cap. |
EOverAnimSignalDirectionSource |
WorldUp, WorldDown, OwnerUp, OwnerDown, OwnerForward, OwnerRight, OwnerVelocity |
Sources used by Submit Named OverAnim Signal From Owner and Notifies to create a world-space Signal direction. Zero Owner velocity may fail to provide a usable direction. |
FOverAnimViewDependentStylizationSettings
This structure adds correction only when active OverAnim deformation appears short or thin because of camera projection. It does not modify the source pose, collision, or authored module settings.
| Details UI Name |
C++ Property |
Default · Range |
Effect · Display Condition |
| Enable Camera Readability Correction |
bEnabled |
false |
Master switch for all correction. Values below are not applied when false. |
| Overall Readability Strength |
Intensity |
1, 0..1 |
Final multiplier for all correction. Displayed only when bEnabled. |
| Reveal Actions Pointing Into Camera |
bEnableForeshortening |
true |
Allows screen-readable emphasis for actions directed along camera depth. |
| Depth Action Reveal Strength |
ForeshorteningStrength |
0.2, 0..1 |
Bounded emphasis added to depth actions. Displayed when bEnabled && bEnableForeshortening. A value of 0 preserves authored deformation. |
| Depth Alignment Focus |
AlignmentExponent |
2, 0.1..8 |
Higher values concentrate correction on actions more closely aligned with the camera. |
| Prevent Thin On-Screen Silhouettes |
bEnableSilhouetteGuard |
true |
Restores only missing screen-plane thickness in Regions made thin by active deformation. |
| Minimum Retained Screen Thickness |
MinimumSilhouetteThicknessRatio |
0.6, 0..1 |
Minimum thickness ratio retained relative to the source Region silhouette. |
| Maximum Thickness Recovery Scale |
MaximumSilhouetteCorrectionScale |
1.35, 1..3 |
Upper limit for thickness recovery. |
| Reveal Hidden Depth Motion |
DirectionReorientationStrength |
0.15, 0..1 |
Fraction of depth displacement redirected toward the authored screen-plane direction. A value of 0 preserves direction. |
| Fade Camera Correction Near Frame Edge |
bEnableFramingGuard |
true |
Fades only the added correction near viewport boundaries. |
| Safe Frame Margin |
FramingSafeMarginRatio |
0.05, 0..0.25 |
Safe margin expressed as a ratio of the shorter screen dimension. |
| Frame Edge Fade Strength |
FramingGuardStrength |
1, 0..1 |
Degree to which correction is removed at an unsafe edge. |
| Fade Camera Correction After Cuts |
bEnableCameraCutGuard |
true |
Briefly fades in readability correction after a camera cut. The camera safety cap is not delayed. |
| Translation Cut Ratio |
CameraCutTranslationRatio |
0.35, 0.01..2 |
A one-frame camera move beyond this ratio of camera distance is treated as a cut. |
| Rotation Cut Angle |
CameraCutRotationAngleDegrees |
45 deg, 1..180 |
One-frame rotation cut threshold. |
| Projection Scale Cut Ratio |
CameraCutProjectionScaleRatio |
0.25, 0.01..2 |
Cut threshold for changes in FOV, ortho width, or viewport scale. |
| Correction Fade-In Time |
CameraCutRecoveryDuration |
0.08 s, 0..1 |
Correction recovery duration after a detected cut. |
Component-Owned Camera Safety Properties
| Details UI Name |
C++ Property |
Default · Range |
Effect · Display Condition |
| Enable Camera Safety Limit |
bEnableScreenSpaceSilhouetteLimit |
false |
Enables a screen-space safety cap on composed deformation. It only reduces excessive results and does not add stylization. |
| Camera Safety Limit Mode |
ScreenSpaceSilhouettePolicy |
RegionRelativeReadability |
Displayed only when the boolean above is true. Selects an absolute global cap or region-relative cap. |
| Global Screen Displacement Limit (Pixels) |
MaximumProjectedDisplacementPixels |
48 px, 1+ |
Absolute cap on the fully composed result in the primary local camera. |
| Per-Region Screen Displacement Ratio |
MaximumProjectedRegionDisplacementRatio |
0.25, 0.01..1 |
Displayed only in Region-relative mode. Cap expressed as a fraction of the projected Region diameter. |
| Camera Readability Correction |
ViewDependentStylization |
Structure above |
Correction settings independent of the safety cap. |
Static C++ Helpers
| C++ Declaration |
Return |
Preconditions |
static bool ShouldDisableEffectsForSlowMotion(EOverAnimTimeDilationPolicy Policy, float EffectiveTimeDilation, float DisableThreshold) |
Whether slow motion suppression applies |
Returns true under DisableDuringSlowMotion when effective dilation is below the threshold. |
static bool ResolveSlowMotionSuppressionState(EOverAnimTimeDilationPolicy Policy, bool bWasSuppressed, float EffectiveTimeDilation, float DisableThreshold, float ResumeHysteresis) |
Suppression state with hysteresis applied |
Resume threshold equals the disable threshold plus hysteresis. |
static float ResolveSimulationDeltaSeconds(EOverAnimTimeDilationPolicy Policy, float DilatedDeltaSeconds, float EffectiveTimeDilation) |
Simulation delta for the policy |
Under IgnoreTimeDilation, a zero or invalid dilation cannot reliably recover the real-time delta. |
static float ResolvePausedSimulationDeltaSeconds(EOverAnimPauseBehavior Behavior, float RealDeltaSeconds) |
Simulation delta while paused |
Freeze/Return use 0; Finish Existing uses the real delta. |
static FOverAnimViewDependentStylizationSettings BlendViewDependentStylizationSettings(const FOverAnimViewDependentStylizationSettings& From, const FOverAnimViewDependentStylizationSettings& To, float Alpha) |
Shot-override blend result |
Alpha is the blend amount. |
static float CalculateScreenSpaceMaximumDisplacement(float CameraDepth, float HorizontalFieldOfViewDegrees, int32 ViewportWidthPixels, float MaximumProjectedDisplacementPixels) |
World-displacement cap in cm |
Depth/FOV/viewport/pixel budget must be valid. |
static float CalculateHorizontalFocalLengthPixels(float HorizontalFieldOfViewDegrees, int32 ViewportWidthPixels) |
Horizontal focal length (px) |
FOV and width must be valid. |
static float CalculateOrthographicPixelsPerWorldUnit(float OrthographicWidth, int32 ViewportWidthPixels) |
Orthographic pixels/world unit |
Width and orthographic width must be positive. |