I’ve started dwelling into using custom rigs for a PS1 styled game I’m making, however I don’t actually know how I would implement it into a startercharacter to use as the players default avatar?
I found this model that comes predone with bones, so I made a quick walk animation for it
In order to rig something, it needs a “Head” and “HumanoidRootPart”, with Motor6Ds attached, I’m not too sure on the conditions but I think if you look it up on youtube you should be able to find it.
The minimum viable StarterCharacter to use Roblox camera and control scripts (unmodified) is a Model that contains a Humanoid and a Part called HumanoidRootPart. You can steer a 1-block character around and even jump, and the camera will follow you like it does your normal avatar.
So step 1 is to replace the AnimationController that the importer creates and replace it with a Humanoid and set RigType to R15 (R15 Animate script has better compatibility with custom chars). Then, add a HumanoidRootPart (invisible) to your character. You can move the Bone tree to be under (child of) the HumanoidRootPart, and then use a Motor6D to weld the male_player MeshPart to the HRP. This will be enough connections that your skinned mesh will work and be able to animate.
If you have all the same animations as a default R15 avatar, already made for your character’s rig, you might be able to use it just with different animation value objects. But more likely, you’re going to need to make a copy of the Animate script, modify it for your character, and put it in StarterCharacterScripts. You can’t put it inside the StarterCharacter Model, as it will get overwritten by the default Animate script.
It’s also not necessary to use StarterCharacter to get custom avatars, you can disable Players.CharacterAutoLoads and manually clone character Models into the Workspace and set Player.Character = ClonedModel for each player as they join or respawn. It’s more boilerplate code to do it this way, but it’s what you have to do if you want more than one custom character.
Hi . This is due to the property in the humanoid called humanoid hip height . Ensure that the humanoid hip height is the height from the center of the humanoidrootpart to the floor
This. Autoscaling always has to be off for custom-rig characters, it does R15-specific scaling using the body scalers, which includes automatically setting the HipHeight and overriding whatever you entered manually.
It matters where you put it, and where you put the IDs. Your replacement Animate script has to go in StarterCharacterScripts, and if you retain all of the value objects and Animation instances that are children of the default Animate script, the script will load those IDs. The IDs in the Lua table at the top of the Animate script are like the fallback ones, for when no value objects exist. If the script is trying to play R15 animations on your custom character, nothing will move unless a Bone happens to have the name of an R15 body part by sheer coincidence.
Rookie mistake, I was putting the animate script inside the StarterCharacter model. Thank you so much for your help, you’ve made this hurdle way easier!