Disabling Humanoid-based Movement

How do you disable humanoid movement control without removing its animation control and HumanoidDescription support?

I’ve tried setting the Humanoid to PlatformStand and also tried setting it to the NoPhysics state, but both of those seem to lock up animation control. I can’t use an AnimationController as a supplement because anim controllers and humanoids do not work in the same model, and I’d rather not manually parse the description and assemble the player character.

Is there any workaround that keeps both animation control and the ability to apply HumanoidDescriptions simply?

The easiest way would be to set their walk speed to 0, jump power to 0, and AutoRotate to false if that’s desired, assuming you’re not desiring more of a ragdoll-like behavior here.

Try setting jump and speed to 0, and humanoid:SetStateEnabled() Humanoid | Documentation - Roblox Creator Hub of walking/whatever to false. EDIT though this might disable default animations.

The problem is I also don’t want the humanoid damping velocity, which it does if I set speed and jump to 0. I want to control the damping of velocity myself as I’m trying to make a fighting game with a very real aerial component.

Default animations aren’t a problem; but the humanoid’s horizontal momentum damping and control is.

Not sure what that means. Did you try SetStateEnabled()?

Yes. I’ve messed with humanoid states extensively.

As for horizontal damping: If you throw a humanoid in the air at some speed and release the button in that direction, the humanoid will almost immediately ditch that horizontal momentum and fall straight down whereas I’d like them to bleed that velocity off more gently and less sharply.

Then don’t use control-based movements, use bodymovers (such as bodyvelocity, bodyforce, etc).

The problem is it ditches that horizontal velocity even if I set walk speed and jump height to zero as suggested (only states that don’t are ragdoll, nophysics, flying, and platformstand, and all four don’t seem to support animation control)

BodyMovers should not be affected by controls. Alternatively, you can search up how to disable controls

1 Like

The bodymovers then will have to fight the humanoid… do accessories remain attached when you clone a character?

That literally makes no sense. Set speed & jump to 0, and bodyvelocity should work fine (though that ignores gravity. You can also try bodyforce.)

Yes

So I can use a dummy humanoid to apply humanoid descriptions, then copy the resulting character model and paste it into the player’s character, “assembling” it as they spawn?

Should be the case, unless clearing the player’s character and pasting into it causes error.
Alternatively, you can get a clone of the model and set that to player.character. Also when cloning, you have to SetNetworkOwner(player) of the HumanoidRootPart for animations and physics to replicate like normal.