Method for rotating Humanoids

Sometimes developers may decide that they do not want humanoids to automatically rotate and wish to handle it themselves. Currently there are a few methods to do this, but each of them is considered hacky and are known to cause other bugs when used. Therefore I would like to propose a new method to be added to the Player and Humanoid instances.

The method would be named Rotate and would accept a single Vector3 parameter. This Vector3 would represent a lookvector therefore making it function alongside the Move method that already exists.

There are many places where this would come in handy, but two games off the top of my head that would be able to make use of this include Davidii’s League of ROBLOX and Gl0in2’s Dungeon Delver.

6 Likes

I’m all for it, it would be good for my game as well.

I used BodyGyro for this in a previous project and did encounter certain bugs that the internal rotation functionality did not have.

This would be useful.

1 Like

The implementation of this would probably look a lot like a BodyGyro in a Humanoid. What issues have you seen with disabling the autorotate and adding a BodyGyro?

[quote] The implementation of this would probably look a lot like a BodyGyro in a Humanoid. What issues have you seen with disabling the autorotate and adding a BodyGyro? [/quote]BodyGyros do not respect the humanoids state, you can witness this when a character is swimming, the humanoid and gyro will fight for control. There are other issues beyond this as well including tripping, if a player falls down then they will often be flung by the BodyGyro when it attempts to right the character. Perhaps some other users may be able to explain other situations they’ve experienced.

As for the implementation, it doesn’t seem right to make it similar to BodyGyro, the main reason being that it wouldn’t respect the Humanoid state, and since the idea is for it to be a subject of a Humanoid, it should. Swimming for example, the character would be horizontal, and the method would keep them in that position but move them to face a certain direction. However a Gyro would make them appear to stand in the water.

2 Likes

I’d like this very much too
The problem for me is as you mentioned that AutoRotate is not respected underwater
Here I have AutoRotate disabled and I’m manually rotating the character in bindtorenderstep Enum.RenderPriority.Character.Value+1

I’m not sure if you are advocating for the function to have a built in lerp, but I’d prefer if it were immediate to allow us more control over easing styles

1 Like