I myself haven’t gotten around to diving into Moon animator; I’ve just stuck with the default one. However, a game I’m working on will require animations of two rigs and this tutorial could not of popped up at a better time. For your first tutorial this is amazing and I hope to see more animation tutorials from you in future!
Animator are made so that it can replicate animation from client to server (from what it says on the api)
which mean that if playing animation on the server there is no need to use animator as it only handle replication between client and server.
playing the animation via humanoid:loadAnimation on the server would definitely replicate it to all client
so thats why i put humanoid:loadAnimation there.
I thought about if for couple of mins if someone can confirm will be appreciated
its depend on the situation the animations are used if they are used only on players i think you should do it locally.
But that is not always the case lets take for example a game with npcs since npcs dont have animator their animation is serversided (most of the time) and u need to do it serversided so it will work on both sides (players and npcs)
local exerAnimator = exerHum:FindFirstChildOfClass("Animator")
local larryAnimator = larryHum:FindFirstChildOfClass("Animator")
local exerTrack = exerAnimator:LoadAnimation(infoMod.swingComboFinExec)
local larryTrack = larryAnimator:LoadAnimation(infoMod.swingComboFinLarry)
repeat task.wait() until ((exerTrack.Length > 0) and (larryTrack.Length > 0))
larryTrack:Play()
exerTrack:Play()
Is it normal to have a slight delay between the client(right) and server(left). That’s why you also see a hitch for the knockback because it relies on a keyframe to do the knockback which is what i’ve been trying to fix
For some reason it seems like the client happens a little too fast, but that’s weird because it’s played on the server.