//============================================================================= // KFAnim_MovementNode //============================================================================= // Anim Node used to determine movement state //============================================================================= // Killing Floor 2 // Copyright (C) 2015 Tripwire Interactive LLC // - Andrew "Strago" Ladenberger //============================================================================= class KFAnim_Movement extends AnimNodeBlendBySpeed native(Anim); /** Scale Animations Play Rate using Constraints as base speed */ var() bool bScaleAnimPlayRateBySpeed; /** Position of the movement cycle when starting to move */ var() float MoveCycleFirstStepStartPosition; /** Synchronization node info. To access normalized movement info */ var const transient AnimTree RootNode; var() Name SynchGroupName; /** When moving the slider, keep nodes with same property in sync. */ var() bool bSynchronizeNodesInEditor; /** If set, calculate speed from owner's base instead of owner */ var() bool bUseOwnersBase; /** If set, ignore z-axis velocity/acceleration */ var() bool bUse2DMovement; cpptext { /** for MoveCycleFirstStepStartPosition */ virtual void InitAnim(USkeletalMeshComponent* meshComp, UAnimNodeBlendBase* Parent); /** for bScaleAnimPlayRateBySpeed */ virtual void TickAnim(FLOAT DeltaSeconds); /** for bSynchronizeNodesInEditor */ virtual void HandleSliderMove(INT SliderIndex, INT ValueIndex, FLOAT NewSliderValue); /** for bUseOwnersBase */ virtual FLOAT CalcSpeed(); } /** for MoveCycleFirstStepStartPosition */ native function SetActiveChild( INT ChildIndex, FLOAT BlendTime ); defaultproperties { //bFixNumChildren=TRUE Children(0)=(Name="Idle") Children(1)=(Name="Walk") Children(2)=(Name="Run") bScaleAnimPlayRateBySpeed=FALSE bSynchronizeNodesInEditor=TRUE bUse2DMovement=TRUE BlendUpTime=0.3f BlendDownTime=0.3f MoveCycleFirstStepStartPosition=0.3f SynchGroupName="RunWalk" Constraints=(0,300,500); }