ALS Refactored Versions Save

Completely reworked and improved C++ version of Advanced Locomotion System V4.

4.13

6 months ago

Notable Changes

  • Updated the plugin to Unreal Engine 5.3.
  • Added the ability to limit foot rotation so that it does not assume an unnatural pose when on a highly sloped surface.
  • Added support for automatic calculation of mantling start time.
  • Removed the need for an interpolation curve, overlay curve, and initial relative location for mantling. Made correction curves optional.
  • Fixed desynchronization of the mantling animation montage with the mantling root motion source.
  • Reworked ragdolling. Now when activated, the character's mesh detaches from the capsule and remains fixed in place, so changes to the actor's transform no longer affect the mesh in any way.

Animation Blueprint

  • Replaced the use of animation state events with animation node functions.
  • Moved layering-related Slot nodes from AB_Als to AB_Als_Layering.
  • Allowed root motion from montages in linked animation instances.
  • Slightly improved spine rotation logic.
  • Fixed character taking a T-pose for a moment after spawn.

Bone Manipulation

  • Reworked the way foot locking is temporarily paused when rotating in place to reduce glitches such as foot teleportation.
  • Removed the influence of foot offset on its location along the X and Y axes.
  • Slightly optimized foot offset logic.
  • Improved handling of collinear points in FAlsRigUnit_CalculatePoleVector.
  • Fixed potential issues related to the use of negative animation curves in CR_Als.

Character

  • Improved character rotation logic to prevent situations where the lower body noticeably fails to keep up with the rotation of the upper body when the camera is rotating very fast while aiming.
  • Improved handling of zero time dilation.
  • Added replication of server-initiated changes to OverlayMode and some other variables to the autonomous proxy.
  • Fixed ReplicatedViewRotation not being replicated by the listen server in some cases.
  • Fixed mesh rotation could be out of sync with actor rotation if the animation blueprint is not ticking.
  • Fixed incorrect rotation of the mesh within one frame after toggling its absolute rotation.
  • Fixed character rotation jitter that occurs when standing on a rotating object.

Locomotion Actions

  • Added ability to restrict mantling on sloped surfaces with complex geometry, such as stairs.
  • Added support for destruction of the object the character is mantling on.
  • Added prohibition on applying ragdoll transform corrections until RagdollTargetLocation has been replicated for the first time.
  • Fixed the ability to mantle through the ceiling.
  • Fixed mantling does not take into account the play rate of the animation montage.
  • Fixed RagdollTargetLocation not updating on non-locally controlled characters.
  • Fixed incorrect rotation of the character on clients when playing a get up montage.

Footstep Effects

  • Refactored UAlsAnimNotify_FootstepEffects.
  • Added prohibition on spawning footstep effects if no surface is found or if the angle between the Z axis of the foot and the surface normal exceeds some threshold value.

Other

  • Disabled replication of B_Als_RotatingObject and B_Als_MovingObject since they do not replicate anything.
  • Updated the naming style of some functions, UPROPERTY and UFUNCTION categories.
  • Replaced the use of EObjectTypeQuery and ETraceTypeQuery with ECollisionChannel.
  • Optimized array manipulations.
  • Fixed inactive curves not being displayed in the Curves debug mode category.

4.12

11 months ago

Notable Changes

  • Updated plugin to Unreal Engine 5.2.
  • Merged the Look Towards Input and Look Towards Camera view states together into a single state.
  • Moved Slot animation graph nodes to linked animation instances as they are now properly supported here.
  • Removed the Suppress Additive Warnings node because the warnings have finally been fixed.
  • Fixed character moving diagonally instead of in a straight line relative to the camera when standing on a rotating object.
  • Fixed a crash that sometimes occurs when calling USkeletalMeshComponent::UpdateRBJointMotors().

Skeleton

  • Refactored PA_Als.
  • Fixed deprecation warnings in B_Als_SkeletonAssetActions.

Animation Blueprint

  • Fixed deprecation warnings in UAlsAnimationModifier_CalculateRotationYawSpeed.

Bone Manipulation

  • Migrated rig units to the new API.

Character

  • Configured input action descriptions.
  • Moved input-related logic from AAlsCharacter::RefreshLocomotion() into a separate overridable function.
  • Made some functions in AAlsCharacter protected instead of private.

Locomotion Actions

  • Made the initial ragdoll speed limit hack optional.

Other

  • Refactored ALS_ENSURE().
  • Replaced the uses of FRotator with FRotator3f.
  • Replaced the uses of FRotator3d::NormalizeAxis() with FRotator::NormalizeAxis().
  • Use the ON_SCOPE_EXIT macro to automatically reset local static variables when returning from functions.
  • Updated linkage and storage duration of global variables and functions.
  • Updated the uses of the UE_REAL_TO_FLOAT() macro.
  • Updated modules loading phase.

4.11

1 year ago

Notable Changes

  • Updated plugin to Unreal Engine 5.1.
  • Added a skeleton asset action that can help set up all the necessary skeleton stuff: animation curves, slots, virtual bones, etc. It can be accessed by right-clicking on the skeleton asset -> Scripted Asset Actions -> Setup Als Skeleton.
  • Added the Als prefix to asset names to make it easier to distinguish them from game assets or assets from other plugins.
  • Simplified stance animation instances by removing some unnecessary state machines and layers that were used to organize the animation graph.
  • Fixed root motion not working properly on simulated proxies.
  • Fixed an issue with mantling on sloped surfaces (@ameaninglessname contribution).
  • Fixed mantling, ragdolling and ground prediction not working properly if the character is overlapped by something.

Skeleton

  • Updated existing blending profiles to include virtual bones.

Animation Blueprint

  • Configured the bLoop setting in animation sequences and blend spaces.
  • Set bAdditiveNode to true in Blend Multi nodes that blend additive animations.
  • Replaced the use of animation node functions with Call Function animation nodes.
  • Replaced some uses of the Blendspace Player node with Blendspace Evaluator.
  • Optimized UAlsAnimationInstance::RefreshLayering() and UAlsAnimationInstance::RefreshPose().
  • Improved performance by moving some thread safe blueprint functions to C++.
  • Fixed character getting stuck in ragdolling mode on clients due to UAlsAnimationInstance::FinalizeRagdolling() not being called in some cases.

Bone Manipulation

  • Refactored CR_Als.
  • Added Transient to UPROPERTY of non-input variables in control rig units.
  • Improved performance by passing input to Control Rig through a single structure rather than through individual variables.

Character

  • Added movement base support to the character.
  • Added a setting to inherit the movement base rotation when in the velocity direction rotation mode.
  • Added a setting to rotate towards the desired velocity when in the velocity direction rotation mode.
  • Reworked teleportation detection logic.
  • Reduced mouse sensitivity as the default value is too high.
  • Use the Scale by Delta Time input modifier with input actions instead of manually scaling action values by delta time.
  • Renamed the Als.RotationMode.LookingDirection gameplay tag to Als.RotationMode.ViewDirection to better convey the essence of this rotation mode.
  • Renamed FAlsBasedMovementState to FAlsMovementBaseState and moved it into a separate file.
  • Renamed RawViewRotation to ReplicatedViewRotation.
  • Removed VisibleDefaultsOnly from UPROPERTY of the AlsCharacterMovement variable as this causes duplicate properties to be displayed in the details view.
  • Removed the rotation lock feature as it has not been used for a long time and therefore there is no guarantee of its correct functioning.
  • Optimized some redundant component rotation changes and FQuat to FRotator conversions.
  • Improved performance by enabling USkeletalMeshComponent::bUpdateJointsFromAnimation only when it is really necessary.
  • Improved performance by using absolute rotation of the mesh component only when it is really necessary.
  • Fixed an issue with network smoothing when crouching while the root motion montage is playing.
  • Fixed crashes caused by not fully configured movement settings.
  • Fixed a potential crash when accessing UEnhancedInputLocalPlayerSubsystem.

Locomotion Actions

  • Fixed incorrect rotation of the mesh component at the beginning of the mantle when using absolute rotation.

Footstep Effects

  • Fixed incorrect rotation of the footstep particle system on the right foot.

Camera

  • Added movement base support to the camera component.
  • Added teleportation support to the camera component.
  • Added ignore of time dilation when controlling the camera with a gamepad or keyboard.
  • Improved performance by performing camera calculations only after parallel animation evaluation is completed.
  • Fixed incorrect parameters of the UAlsCameraComponent::SetPostProcessWeight() function.

Other

  • Added BuildPlugin.bat.
  • Refactored MetaSound assets and updated their naming style.
  • Enabled the Actor Folder Objects feature on all levels.
  • Updated lighting settings on all levels.
  • Updated the naming style of some functions and variables.
  • Updated the ALS_ENSURE() macro to include the latest changes of the ensure() macro and to properly support concatenation of string literals with the __FUNCTION__ macro and other similar macros.
  • Use the inline specifier with some const and constexpr static variables.
  • Use the ReturnDisplayName metadata specifier to give function return values more meaningful names.
  • Use the ForceUnits metadata specifier in more places.
  • Replaced the use of FVector with FVector3f and FVector2D with FVector2f in the settings variables.
  • Replaced the use of EditDefaultsOnly with EditAnywhere.
  • Replaced the use of deprecated math macros with newer versions.
  • Replaced the use of FRotator::NormalizeAxis() with FRotator3d::NormalizeAxis().
  • Replaced the use of APlayerState::ExactPing with APlayerState::GetPingInMilliseconds().
  • Replaced the use of MARK_PROPERTY_DIRTY_FROM_NAME() with COMPARE_ASSIGN_AND_MARK_PROPERTY_DIRTY() where possible.
  • Removed redundant uses of ANSI_TO_TCHAR().
  • Removed no longer needed ReSharper inspection comments.
  • Optimized string manipulations.

4.10

1 year ago

This is a maintenance release, mostly only with bug fixes and minor improvements.

Notable Changes

  • Adapted Lyra asset naming conventions.

Animation Blueprint

  • Reworked spine and head rotation logic to make it more reliable and less buggy.
  • Added blocking of look towards the input direction when the character is in the air to prevent head rotation "snap" when changing look sides.
  • Added missing Inertialization animation graph nodes to some animation blueprints.

Character

  • Added blocking of character rotation towards the last input direction after landing to prevent legs from twisting into a spiral while the landing animation is playing.
  • Updated gamepad key bindings.
  • Improved support for different character mesh scales.
  • Fixed the ability to uncrouch under low surfaces.

Camera

  • Added a setting to ignore time dilation in the camera component.
  • Removed the camera component's dependency on the AAlsCharacter class and use ACharacter instead.
  • Removed additional view rotation smoothing and instead use raw view rotation (with network smoothing) in the animation instance and camera component.
  • Disabled camera rotation lag when in first person mode.
  • Improved performance by disabling the camera component on AI characters.
  • Fixed an issue with camera initialization with non-default desired rotation mode.

Other

  • Added L_Grid level.
  • Made some class members protected instead of private for easier customization in inherited classes.
  • Specified an explicit UPROPERTY category for all struct members exposed to blueprints.
  • Replaced the ensure() macro with a less annoying ALS_ENSURE() macro.
  • Replaced the use of the FObjectPtr::IsNull() function with IsValid().
  • Fixed a potential compilation error due to missing GameplayTags module.
  • Fixed potential compilation errors on non-MSVC compilers.
  • Other minor fixes, improvements and refactorings.

4.9

1 year ago

Notable Changes

  • Updated plugin to Unreal Engine 5.0.
  • Replaced legacy input system with the Enhanced Input plugin.
  • Replaced all sound cues with MetaSounds.
  • Improved support for Large World Coordinates.
  • Improved property access performance in linked animation blueprints by reading variables from the parent animation instance directly, instead of copying them in the game thread and reading the copies.
  • Moved thread-safe animation instance logic to the worker thread to improve game thread performance.
  • Use animation layer interfaces to dynamically switch overlay states at runtime instead of referencing them directly in animation blueprints.
  • Restored the original monolithic animation blueprint for cases where performance is top priority, since using linked animation instances comes with some overhead.
  • Replaced most of the remaining enums with gameplay tags
  • Reworked foot and pelvis offset logic for smoother character movement on stairs or sloped surfaces.
  • Added rotation of the character towards the last input direction when not moving in velocity direction rotation mode.
  • Fixed issues with foot locking and character rotation on the listen server or when Update Rate Optimization is enabled.
  • Suppressed "Trying to play a non-additive animation into a pose that is expected to be additive" warnings.

Skeleton

  • Renamed the FullBody animation slot to PostLocomotion.
  • Renamed the AimBlock animation curve to ViewBlock.
  • Renamed the AimManual animation curve to AllowAiming.
  • Renamed some virtual bones.

Animation Blueprint

  • Reworked view animation instance logic.
  • Improved layering.
  • Improved interpolation logic of some animation instance variables.
  • Use animation node functions instead of animation notifies where possible.
  • Simplified some animation state machines by using state aliases.
  • Slightly optimized the Blend Poses by Gameplay Tag and Blend Curves animation graph nodes.
  • Added separate animation sequences for dynamic transitions.
  • Fixed a crash when using the ShowDebug Animation console command.
  • Fixed an issue with movement animations that may occur during transitions to grounded states.
  • Fixed an issue with character pose when transitioning from jump to land state.
  • Fixed an issue with character pose when stopping at low fps.
  • Fixed an issue with knees when landing while aiming.

Bone Manipulation

  • Refactored CR_Als.
  • Improved foot locking teleportation logic.
  • Fixed noticeable leg stretching on movement start at low fps.
  • Fixed an issue with knees in foot IK when landing.

Character

  • Reworked view network smoothing and added support for smoothing on the listen server.
  • Keep the USkinnedMeshComponent::VisibilityBasedAnimTickOption setting unchanged, at least if it doesn't need to be changed for the plugin to work properly.
  • Exposed the UAlsCharacterMovementComponent::SetMovementSettings() function to blueprints.
  • Fixed glitchy character pushing by moving objects.
  • Fixed an issue with teleportation of simulated proxies.
  • Fixed an issue with view rotation initialization.

Locomotion Actions

  • Fixed character mesh jitter when rolling on clients.
  • Fixed very high initial ragdoll speed at unstable fps.

Footstep Effects

  • Fixed incorrect alignment of footstep effects on sloped surfaces.

Other

  • Renamed the ALSExample module to ALSExtras.
  • Added new objects to the Playground level to test foot and pelvis offsets.
  • Enabled the One File Per Actor feature on the Playground level.
  • Refactored UI widgets.
  • Updated LICENSE.md.
  • Other minor fixes, improvements and refactorings.

4.8

2 years ago

This is the final release for Unreal Engine 4.26, 4.27 and 5.0 Early Access. All future releases will require Unreal Engine 5.0 or later.

Notable Changes

  • Split the ABP_Als animation blueprint into separate linked animation blueprints.
  • Added a Blend Poses by Gameplay Tag animation graph node.
  • Eliminated the need for many animation montages for proper locomotion actions blending with overlay states.
  • Incorporated new UCharacterMovementComponent features introduced in Unreal Engine 4.26 into the UAlsCharacterMovementComponent for better movement synchronization over the network.
  • Replaced the EAlsLocomotionMode enum with Als.LocomotionMode gameplay tags.
  • Replaced the EAlsLocomotionAction enum with Als.LocomotionAction gameplay tags.
  • Reimplemented mantling as a root motion source for better movement synchronization over the network.
  • Moved settings from AAlsCharacter, UAlsAnimationInstance and UAlsCamerComponent into separate data assets.

Skeleton

  • Added separate animation slots for standing and crouching turns in place.
  • Renamed the FullBodyAction animation slot to FullBody.
  • Renamed the GaitAmount animation curve to PoseGait.

Animation Blueprint

  • Added correct reinitialization of any time-dependent animation instance variables if it haven't been updated for a long time or if this is the first update since the start of the game.
  • Removed caching of some variables inside the animation instance because the animation blueprint can instead read them directly from the character.

Bone Manipulation

  • Added spring interpolation for foot and pelvis offsets for smoother pelvis movement, especially when walking up stairs.
  • Added support for character teleportation with active foot locking.
  • Fixed an issue with foot locking when the animation blueprint hasn't been updated for a long time.
  • Fixed an issue with foot locking when standing on rotating objects.
  • Fixed an issue with foot locking when crouching and uncrouching.
  • Fixed an issue with foot locking when trying to move after landing.

Character

  • Added view rotation interpolation on simulated proxies for smoother rotation under poor network conditions.
  • Added support for different character mesh scales (uniform scale only).
  • Improved EMovementMode related logic.
  • Refactored character rotation logic.
  • Make sure all 180 rotations will be counterclockwise rotations.
  • Fixed incorrect application of local character rotation on autonomous proxies.
  • Fixed an issue with character rotation on the listen server and simulated proxies.
  • Fixed character immobility issue in custom movement mode (@a-sennov contribution).
  • Fixed editor crash inside AAlsCharacter::PostInitializeComponents() function.

Locomotion Actions

  • Refactored locomotion actions.
  • Added a change of the character's movement base during mantling to reduce foot locking glitches after mantling end.
  • Improved roll rotation logic to reduce lags in network multiplayer.
  • Removed Mantling and Ragdolling entries from EAlsLocomotionMode enum.
  • Fixed incorrect mantling interruption by other locomotion actions.
  • Fixed incorrect initial roll direction after landing.
  • Fixed an issue with character pose when transitioning from ragdoll to animation state.

Footstep Effects

  • Fixed incorrect footstep decal location in A_Als_Mantle_High animation sequence.

Other

  • Added missing ALS_API macro to some structs.
  • Improved BP_SimpleMovingObject movement synchronization between clients and server.
  • Renamed the FAlsMovementState structure to FAlsGroundedState and moved some variables from FAlsLocomotionAnimationState structure.
  • Renamed the FAlsMovementAnimationSettings structure to FAlsGroundedSettings and moved some variables from FAlsGeneralAnimationSettings structure.
  • Renamed some Movement folders to Grounded.
  • Updated Playground level.
  • Removed obsolete core redirects from DefaultALS.ini.
  • Fixed Linux and Android compilation issues (@Alex-G contribution).
  • Fixed Unreal Engine 5 Early Access compilation and packaging issues.

4.7

2 years ago

Notable Changes

  • Added a Blend Curves animation graph node that allows to blend animation curves without the need for the VB curves virtual bone.
  • Added bUseHandIkBones and bUseFootIkBones settings, that allow to eliminate the need for IK bones and instead use only virtual bones for all bone manipulation tasks.
  • Replaced the EAlsGroundedEntryMode enum with Als.GroundedEntryMode gameplay tags.
  • Moved code related to locomotion actions and debug into separate .cpp files.
  • Improved foot locking reliability when standing on movable objects (especially in network multiplayer).

Skeleton

  • Renamed the VB curves virtual bone to VB ik_foot_root.

Animation Blueprint

  • Added separate transition animations for crouching stance.
  • Improved transitions from roll to grounded states.
  • Fixed an issue with left foot when stopping.
  • Fixed incorrect initial values of "Slot" animation curves.
  • Fixed incorrect transition from get-up montage to standing states.

Bone Manipulation

  • Added disabling of foot locking when rotating at a large angle to prevent the legs from twisting into a spiral.
  • Optimized foot locking for cases when standing on static objects.

Character

  • Refactored character rotation logic.
  • Set the VisibilityBasedAnimTickOption setting to EVisibilityBasedAnimTickOption::AlwaysTickPoseAndRefreshBones on the server when the character is not moving and skip character rotation modification using the RotationYawSpeed animation curve when the animation blueprint hasn't updated yet.
  • Fixed desync issues between clients and the server.
  • Fixed an issue with view rotation replication when bReplicateMovement is set to false.

Locomotion Actions

  • Removed the timeline component requirement for the mantling.
  • Optimized mantling logic.

Camera

  • Added camera trace "smoothing".
  • Added experimental camera lag substepping for better frame rate independence (disabled by default because exponential decay already provides good frame rate independence).
  • Added camera post-processing settings.
  • Improved camera initialization.
  • Moved camera logic into separate functions.
  • Fixed an issue with camera rotation interpolation.

Footstep Effects

  • Added a bSkipEffectsWhenInAir setting.
  • Added smooth disappearance of footstep decals over time.
  • Added reuse of trace hit results from foot IK logic in cases where possible.
  • Improved footstep effect animation notify timings in animation sequences.
  • Restored the TriggerWeightThreshold setting values in animation sequences to the values from the original project.
  • Fixed an issue with retrieving physical material from footstep traces.
  • Fixed an issue where footstep effects were not triggered in situations where the trace hit result was invalid.
  • Fixed incorrect footstep decal alignment on sloped surfaces.
  • Fixed broken playback of footstep effects in the animation editor.

Other

  • Added a EObjectTypeQuery array setting for mantling, ragdolling, and ground prediction traces.
  • Reintroduced AI example.
  • Reintroduced ambient sound on the Playground level.
  • Refactored assets in the ALSExtras folder.
  • Moved files from the ALS folder to the repository root folder.
  • Fixed Unreal Engine 5 Early Access compilation issues.

4.6

2 years ago

Notable Changes

  • Added a set of new "Slot" layering animation curves that allow to control blending of overlay poses with animation montages played inside "Layering" slots (originally in ALS, non-additive animation montage completely overrides overlay poses, and there was no way to control this).
  • Replaced the EAlsOverlayMode enum with Als.OverlayMode gameplay tags.
  • Use the Control Rig plugin for IK and other bone manipulation tasks instead of animation graph nodes.
  • Combined the skeleton with the gun bone and the skeleton without it into one skeleton and added a bUseGunBone setting to the CR_Als control rig blueprint.

Skeleton

  • Restored original blend profiles.
  • Changed bone translation retargeting mode to Orient and Scale for better retargeting quality.

Animation Blueprint

  • Added new settings to UAlsAnimationModifier_CreateCurves and UAlsAnimationModifier_CreateLayeringCurves animation modifiers.
  • Added aiming update blocking during any active locomotion action.
  • Added some ensure() checks to animations notifies.
  • Refactored rotate in place logic for smoother rotation.
  • Fixed incorrect RotationYawOffset curve modification inside standing movement states that leads to incorrect character rotation when running backwards.
  • Fixed an issue with pistol one-handed overlay mode animations.

Bone Manipulation

  • Added disabling of foot locking when the character is in the air.
  • Improved foot IK logic to fix some animation retargeting issues.

Character

  • Added a bUseGunBoneForOverlayObjects setting.
  • Added a slight delay before sprint start to give the player enough time to start the roll by double-clicking the sprint button instead.
  • Refactored character rotation logic.

Locomotion Actions

  • Added a bAllowMantling setting to FAlsGeneralMantlingSettings structure.
  • Added a bInterruptRollingWhenInAir setting to FAlsRollingSettings structure.
  • Added forced interruption of any active locomotion action at the start of the ragdolling without waiting for the UAlsAnimNotifyState_SetLocomotionAction animation notify to end.
  • Better handle situations where mantling, ragdolling or rolling starts on server and client at the same time and independently of each other.
  • Removed the ability to start mantling when the character stands next to an obstacle and jumps in the opposite direction from it.
  • Fixed an issue with mantling on non-uniformed scaled objects.

Camera

  • Use raw view rotation instead of smoothed for locally controlled characters.
  • Reduced camera lag when aiming or in first person view mode.
  • Added override of camera's trace start location when rolling or ragdolling.
  • Fixed an issue where the camera could get stuck or pass through geometry if the camera's trace start location intersects the geometry.

Footstep Effects

  • Fixed an issue where footstep effects could be applied while the character is in the air.

Other

  • Added some overridable virtual functions to AAlsCharacter and UAlsAnimationInstance classes.
  • Renamed some structs, variables, and assets to better distinguish them from aiming rotation mode.
  • Removed the FAlsPropertyAccessConstants structure.
  • Fixed initialization of variables in some structures.
  • Fixed Linux and Android compilation issues (@Alex-G contribution).
  • Other minor fixes, improvements and refactorings.

4.5

2 years ago

Notable Changes

  • Reintroduced camera system: implemented as a component similar to the standard camera component, no need for custom APlayerCameraManager or APlayerController classes, but additional configuration within the C++ character class and character blueprint is required (see AAlsCharacterExample class and BP_Als_Character blueprint).
  • Reintroduced camera shake animation notify.
  • Added new debug mode categories for the camera:
    • Traces: Shift + 6, or ShowDebug ALS.CameraCurves.
    • Mantling: Shift + 7, or ShowDebug ALS.CameraShapes.
    • Mantling: Shift + 8, or ShowDebug ALS.CameraTraces.

DebugMode

Skeleton

  • Renamed the TransitionsAllowed animation curve to AllowTransitions.

Character

  • Improved networked movement by including more dynamic movement variables directly into the movement component.
  • Replaced bRotateToVelocityOnJump and bBlockAimingWhenInAir settings with InAirRotationMode and bAllowAimingWhenInAir respectively.
  • Moved the AAlsCharacterExample class to the ALSExample module.
  • Updated key bindings.

Locomotion Actions

  • Better handle mantling, rolling, and ragdolling start when they are initiated by the server.

Footstep Effects

  • Added support for decals and particle effects in footstep animation notify.
  • Added footstep effects to roll animation.

Other

  • Replaced FMath::*InterpTo() functions with UAlsMath::ExponentialDecay() in some important places for better frame rate independence.
  • Removed unused sounds.
  • Other minor fixes, improvements and refactorings.

4.4

3 years ago

Notable Changes

  • Debug mode improvements:
    • Added new debug mode categories:
      • Traces: Shift + 4, or ShowDebug ALS.Traces.
      • Mantling: Shift + 5, or ShowDebug ALS.Mantling.
    • Added an on-screen message to indicate that debug mode is enabled.

DebugMode

Skeleton

  • Renamed the GaitType animation curve to GaitAmount.

Character

  • Added bSprintHasPriorityOverAiming and bBlockAimingWhenInAir settings.
  • Improved bRotateToVelocityWhenSprinting and bRotateToVelocityOnJump settings.
  • Allowed to set the "desired" state values for AAlsCharacter inside the editor.

Locomotion Actions

  • Added a MaxReachAngle mantling setting that allows to prevent mantling on objects when standing back to them.

Other

  • Other minor fixes, improvements and refactorings.