When my character spawns, it occasionally spawns glitchy. It slides across the ground backward and I am unable to jump. This happens with Roblox’s default R15 character models. I believe that AutoScale and HipHeight are the issues here. When AutoScale is on, the HipHeight is set to 0 and causes the character to get stuck in the ground, but shouldn’t AutoScale set the HipHeight to something reasonable like ~2?
I have searched for similar topics, however, I only find topics related to custom characters and not Roblox’s default ones.
A hacky script to set the HipHeight to a value of around 2 works, but I want to find the root of the problem instead.
If your spawn is underground then that might be the issue. You want to make the spawn invisible then just insert a script that will make it transparent when a player joins the game. So then you can place your spawn anywhere without the player being able to see it.
Edit:
You might also want to do a check if the user is free falling in perhaps a loop or on spawn. Then just boost their HipHeight by 1 then bring it back to the original. It’s not the best workaround but still works 99% of the time if that did not work.
One way I have seen this behavior is when my studio settings are set for R6 and my personal character is a R15 character. I know this might sound like a stupid thing, but I would double check your studio settings to make sure your game is using R15. This often happens to me when I am creating a new project and I forget to set this.
The other time I see this behavior is when I am spawning a NPC into the game and I have to recalculate the hipheight. I use these functions to grab the position and orientation of the NPC and then recalculate it after “dressing” the NPC in whatever HumanoidDescription I am giving it from another player or from a bundle.
function InitializeLeaderModels(iModelRig)
iModelRig.OriginalPositionX.Value = iModelRig.HumanoidRootPart.Position.X
iModelRig.OriginalPositionY.Value = iModelRig.HumanoidRootPart.Position.Y
iModelRig.OriginalPositionZ.Value = iModelRig.HumanoidRootPart.Position.Z
iModelRig.OriginalOrientationX.Value = iModelRig.Head.Orientation.X
iModelRig.OriginalOrientationY.Value = iModelRig.Head.Orientation.Y
iModelRig.OriginalOrientationZ.Value = iModelRig.Head.Orientation.Z
iModelRig.IsAnimated.Value = 0
iModelRig.ProfileID.Value = 0
end
function recalculateHipHeight(TargetModel)
local bottomOfHumanoidRootPart = TargetModel.HumanoidRootPart.Position.Y - (1/2 * TargetModel.HumanoidRootPart.Size.Y)
local bottomOfFoot = TargetModel.LeftFoot.Position.Y - (1/2 * TargetModel.LeftFoot.Size.Y) -- Left or right. Chose left arbitrarily
local newHipHeight = bottomOfHumanoidRootPart - bottomOfFoot
return newHipHeight
end
i have a feeling this could to do with( maybe along with the hip height, not sure) HumanoidStateTypes, it seems like the character is in the free falling state which could be a probable cause of this occurrence.
to test
local humanoid = ---- player's humaniod
humanoid:GetState()
while true do
wait(.5)
print(humanoid:GetState())---- check the output
end
I can’t seem to get the bug to happen again today. This has been an issue for a month and sometimes the bug appears 100% of the time I play on that day, then the next day it doesn’t happen at all. I’ll keep trying to get the bug to appear again today and then I will try all of your solutions.
Edit: I got it to happen again once, but now it’s not doing it again. I won’t be able to try solutions and judge if they work or not if the bug happens randomly.
This feels like the most likely reason for it glitching. Although, my spawn was above ground anyways, but I raised it by a few studs and it’s no longer bugging out.