AnimateController - Modular Animate script for tool animations & more!

no there was no problems , everything worked as it should i was just pointing out that its best used if you modify it for your games need its flexible enough to support it. ( sorry if it came out in the wrong light )

most of it was me removing certain stuff i don’t need like the sprint and landing features or certain configs and how variant are being indexed again just very specific things i needed. and adding stuff i did. landed duration and jump duration were also part of it.

again great job its a surprisingly clean and flexible piece of module.

2 Likes

Hello

i know this is the worst possible time to share this but

i did find tiny issue but ended up ̶s̶o̶l̶v̶i̶n̶g̶ it my self so here is a small hiccup i found out in the ̶s̶w̶i̶t̶c̶h̶ ̶function.

Found the cause when updating the parms of already playing animation , the didloop event attached to it retains its orignal parms and passses into another switchanimation event which causes the clash.

my current solution is to update the parms if there is any change to the main animationtrack parms

1 Like

Hey, thanks for reporting this. So it happens when using ChangeAnimateParams while an animation is already being played, and then when DidLoop fires, it doesn’t use the newly changed AnimateParams, is this correct?

If so, I’ll be taking a look when I’m available and release a quick fix. It’s great that you found a solution.

2 Likes

Cool Module! Swapping out animation sets on the fly (like when equipping a weapon), can be a lot of work. Nicely done! Personally, I don’t think I’ll use Roblox Animators/AnimationControllers anymore, but this will definitely open up some doors for beginners while also speeding up workflows for sure!

2 Likes

v1.1.5

  • self:Unload() is forcefully called upon death.
2 Likes

yes that is correct the Didloop will use the previously issued parms given to it when the it originally played! even if the animation switches to its self with different parms

my current solution is to update some of the AnimateParams using the track before passing it into another SwitchAnimation triggred byDidLoop

this did throw me off abit thinking its caused by the Switch function thus the 8 edits on the original posts

( the video was recorded using a stock version of the module without any of my additional changes beside the walking hook. )

here is the code snippet

         if speed > 0.1 then

			local Front_Dir = rootPart.CFrame.LookVector
			local Move_Dir = MoveDirr
			local Dot_Dir = Front_Dir:Dot(Move_Dir)
			if Dot_Dir <= -0.63 then
				SwitchAnimation(GetPossibleVariant("Walk"), {FadeTime = 0.2 , Speed = -1}, self.Reload)
			else
				SwitchAnimation(GetPossibleVariant("Walk"), {FadeTime = 0.2 , Speed = 1}, self.Reload)
			end

		else

			SwitchAnimation(GetPossibleVariant("Idle"), {FadeTime = 0.25}, self.Reload)
		end

the only Solution i can recommend is to make a variable just like currentMainTrack and update or replacing it instead of using the one provided by the arguments.

2 Likes

v1.1.6

  • Fixed a bug when changing a currently playing animation’s PlayAnimationParams to something different. (Thanks to @bule_exe for reporting.)
  • Increased FadeTime for Jump, as the animation was too fast.
1 Like