Issue with Movement When HumanoidRootPart is a Sphere and Rotated 180°

Apologies if this is in the wrong category — I’m not entirely sure where to post this, and I also don’t have a script to share at the moment. Hopefully, someone can still help.

I’ve been experimenting with creating geometric characters, and in this case, I set the, HumanoidRootPart to be a sphere. (Character only consists of a RootPart and Humanoid.)

I’ve also disabled the Humanoid.AutoRotate property and implemented a custom rotation script (though this might not be directly related).

The issue I’m running into is this:
When I rotate the sphere’s orientation to 180° (flipping it upside down), the character refuses to move.

Is there any known workaround or fix for this issue? Any insight would be greatly appreciated!

i might be wrong, but you could print the humanoid state each time it changes and seeing if its a humanoid state thats preventing you from moving when upside down, otherwise i got no idea, never thought of experimenting with characters like that

I don’t think you should touch HRP at all, rather move anything else?

You’re right, I’ve considered that

The character uses a Sphere as the RootPart for smoother collisions, while the visible model is a Cube connected via a WeldConstraint.

The RootPart is a Sphere to ensure smoother collisions than a box shape.

Character
	RootPart -- Sphere
	Test -- 2nd Sphere
	Cube -- Visual

I tried rotating a secondary sphere (Test) to avoid affecting the RootPart, but it still rotated—possibly due to WeldConstraints

An alternative I’m considering is rotating only the Cube while leaving the RootPart unrotated. I’m not yet sure what implications this might have, but will try.

I’m not a wizard at creating custom (or connecting) characters, so I’ve used WeldConstraints. Do let me know if it’s incorrect…

Thanks for your insights!

I wonder if Roblox locks the ability of a Humanoid to move once it’s past a certain rotation? In that case it may be better to flip the cube.
Also, how are you rotating the rotation? Orientation? Or if you are CFraming it every frame are you CFraming the Position accidentally?

Thank you all for your input. I’ve achieved what I intended.

This time, I’ve changed how it rotates. Instead of rotating the HumanoidRootPart, it now rotates just the square.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.