[1.2.0] SimpleAnimate | An easy-to-use & flexible module replacement for the default Animate script

Hi, make sure to set Connections.AutoAdjustSpeedMultipliers to false

Unfortunately i dont, if you could send a reproduction place for the issue thatd be great

yeah let me get back home and i’ll do it

test - Roblox

it should be good

1 Like

1.2.0:

  • Changed some method names to be more clear (for example PoseController:StopCore() → PoseController:StopCoreAnimations())
  • Made it so SimpleAnimate.new() no longer requires manual animation list input if your rig contains a Humanoid (will infer from RigType)
  • Added a documentation site
  • Added a proper versioning system
  • Added a GitHub link
2 Likes

You know, this module is amazing. The state machine integration, the custom character controller integration and the immaculate documentation. But, there are a few things that are holding back the script for me.

For instance, the movement speed animation multiplier is borked by default. The running animation and climbing animation always play at full speed, regardless of how fast you’re going (climbing animation plays even when standing still.) Every slight movement causes the animations to play from the beginning.

Changing core animations in real time also doesn’t work with the script’s AnimInfo type (which is the example used in the documentation).

It’d be nice to see all of these things ironed out in a future update. For now, I’ll have to use another script, but I hope to come back to this some other time.

2 Likes

Hi, this seems to be a persistent issue that’s reported but i can’t replicate in a pure baseplate with r6/r15 characters or even custom rigs, are there any more details as to when this weird behavior occurs/why it could possibly happen?

If you’re talking about PoseController:ChangeCoreAnim(), this isn’t supposed to be used in the middle of an animation :V It simply swaps the stored AnimInfo with the one you specified, if you want to “interrupt” core animations with your own it’s actually best to define it like this:

local animations = SimpleAnimate.getCopyOfAnimsList("R6")
animations["Sprint"] = {{id = "rbxassetid://1234", weight = 10}}

local controller = SimpleAnimate.new(rig, true, animations)
local pose = controller.Core.PoseController

local lastPose = pose:GetPose()

pose:SetCoreActive(false) -- We override the core
pose:ChangePose("Sprint")

pose:SetCoreActive(true) -- Give control back
pose:ChangePose(lastPose) -- This is actually optional but i like to do it

Of course you must swap to your custom poses manually but yea this works

Theres alot of ways to do it but the main theme is overriding control of Core to play your own animations before giving control back

Yeah this is intended behavior