[HELP] AnimationController vs Humanoid, Hip Height Problems

Hello, devs!


Context

I have been on a huge journey to optimizing my game that uses a lot of NPCs.
Over time I have found that Humanoids are very costly to the game’s performance, for whatever reason. So I’ve been looking for tools that allow me to JUST use animations, none of the physics stuff involved with Humanoids. Since that’s all I use Humanoids for anyway.

A friend told me about using AnimationControllers, and I’ve tried them. They’re smoother and don’t cost as much, however…


The Problem

They make the animations sink the characters into the ground.
image
image

And yet on the server it sees this with no animation playing
image

I’ve dabbled around with no avail as to how I would practically fix this without creating a whole new system of CFraming each NPC to accommodate the bugged Y-axis.

Some Additional Important Context

  • The NPCs have Motor6D rigs, just like regular rigs

  • The NPCs HumanoidRootPart are anchored and uncollideable, they will not move

  • The NPCs play idle, walking, dying, and other animations. Some are looped, some are not

  • It’s a Tower Defense game, so most of them path, however, the client now does most of the work but every node an NPC travels to, it gets CFramed by the server

  • The animations that make them clip into the ground are ones that involve the LowerTorso moving up or down

Any help is appreciated, thanks! :wave:

3 Likes

You can actually fix this with the new character controllers

Docs Link

You don’t have to use humanoids with this

1 Like