Creating StarterCharacters using a 1 part rig?

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

How would I make this into a startercharacter?

1 Like

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.

1 Like

Hey there, not on studio atm but I’ll try what you said and mark solved if it works!

So here’s the tree result:
image

After doing all this, the custom rig seems to float me around the baseplate

EDIT: Also want to mention, putting the bone structure into HRP seems to break the animation bones for the rig

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

1 Like

Hey, so I think I did this.

When making a part and measuring, it came out to 2.742. Setting the hip height to this doesn’t fix the issue it seems.

EDIT: Fixed, I had to disable autoscaling.

hmmm . Did you try setting collision for everything except humanoid off?

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.

Yeah, good to know.

What about the animations though? They seem to not work anymore

How are you playing the animations?

I would open the animation editor in the avatar tab, and animate as you would an R15 or R6 rig.

(The keyframes don’t seem to show up which is weird, but the animation plays as it should)

I then copy over the animate script from the basic character, and replace the IDs inside of it.

The actual animation itself though doesn’t seem to play when in-game

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!

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