Replacing player's body parts meshes

No problem :slightly_smiling_face:.
Here’s a code example:

local char --Imagine I got the character here
local hum = char:WaitForChild("Humanoid")
local desc = hum:GetAppliedDescription() --Get the current description
local clone = desc:Clone() --Clone the current description
clone.Head = 000000 --Your bundle/mesh ids
clone.Torso = 000000
clone.LeftArm = 0000000
clone.RightArm = 0000000
clone.LeftLeg = 000000
clone.RightLeg = 00000
hum:ApplyDescription(clone) --Apply the new description

HumanoidDescription should automatically do that, try it and post what the results are.

Just make sure to mark it as the solution if it worked for you :wink:

3 Likes

Alright, I will use this, thank you !

1 Like

It doesn’t seem to work, but I think I did something wrong :confused:

Here is the script :

game.Players.PlayerAdded:Connect(function(Player)
	Player.CharacterAdded:Connect(function(char)
		local hum = char:WaitForChild("Humanoid")
		local desc = hum:GetAppliedDescription() --Get the current description
		local clone = desc:Clone() --Clone the current description
		clone.Head = 000000
		clone.UpperTorso = 4915542510
		clone.LowerTorso = 4915542414
		
		clone.LeftUpperArm = 5878593702
		clone.LeftLowerArm = 5878593704
		clone.RightUpperArm = 5878685124
		clone.RightLowerArm = 5878685126
		
		clone.RightHand = 4915542334
		clone.LeftHand = 4915542334
		
		clone.RightUpperLeg = 5878685124
		clone.LeftUpperLeg = 5878593720
		clone.RightLowerLeg = 5878685121
		clone.LeftLowerLeg = 5878593706
		
		clone.LeftFoot = 4915542334
		clone.RightFoot = 4915542334

		hum:ApplyDescription(clone)
	end)
end)

Use the R6 Body parts’ names. The HumanoidDescription should automaticly convert them to R15.

For example: Torso = UpperTorso.
Your smooth character is basically smooth bricks right? So it should be able to do that.

But every body parts of the dummy have different IDs, how can I do ?

Try to use the main ones, for example:
UpperTorso → Torso
RightUpperArm → RightArm
You also don’t have to include every body part.
Don’t include the head if you don’t need it.
I don’t think it’ll be much of a problem, try that and show what happens.
Edit:

@BloodAlibi I will try the script myself and tell you what the results are. Will be back in a few minutes.

1 Like

I have tried with the R6 parts, here is the script :

game.Players.PlayerAdded:Connect(function(Player)
	Player.CharacterAdded:Connect(function(char)
		local hum = char:WaitForChild("Humanoid")
		local desc = hum:GetAppliedDescription() --Get the current description
		local clone = desc:Clone() --Clone the current description
		clone.Torso = 4915542510
		clone.LeftArm = 5878593702
		clone.RightArm = 5878593702
		clone.RightLeg = 5878685124
		clone.LeftLeg = 5878593720
		hum:ApplyDescription(clone)
	end)
end)

Bu nothing changes, my character is still with standard body parts
I have looked in my Character > Humanoid Description and the IDs are not here, I just see multiple “0”.

After testing a bit, it seems like there a ridiculous requirement here. You must use different mesh ids for every BodyPart:


I am also not too sure if it works with meshes (I only used it with bundles, but I think it works the same), try to make different meshes for the body parts just like you did with the legs.

The thing is that every parts have different IDs, here is the model of the dummy I use :
https://www.roblox.com/library/6687347695/Dummy
It seems impossible to use only one ID for an entire body part.
It works with different meshes for the joints :
image

To be honest, I have no idea. I used HumanoidDescription in the past, but only with Roblox Bundles. I can give you the script I used, maybe you’ll manage to figure it out.
Would you like me to do that?

In this forum, we need to make our own scripts, so you shouldn’t maybe.

Here is an example video of someone who used it :

https://streamable.com/g7p9m5

^
I don’t really know if he used these meshes, maybe he used another system.

Seems like they used a StarterCharacter, as this is not your avatar.
I have another idea then:
You can make a StarterCharacter with your smooth body parts,
and use Players:GetHumanoidDescriptionFromUserId(userId) to load the clothing and accessories of the player.
You have the clothing and accessories as properties in the HumanoidDescription.
You can use InsertService:LoadAsset(assetId) to load the accessories and clothing

It’s basically the opposite of what we tried to do until now.

Instead of loading the body parts on the character with clothing, load the clothing and accessories on the character with the body parts.

That’s true.

This way seems more complicated, but since we can’t manage to load the body parts, maybe it is preferred. Unless someone else has a solution to offer.

Yes, because it is pretty much self-explanatory. You basically put the userId of the player in the brackets and get the HumanoidDescription instance in return.

1 Like

I will try to use this, but is the page of the ROBLOX Reference working ? It seems too much empty.

1 Like

image

Looks like this character is not working very well.
I have added a Humanoid into the original dummy and renamed it StarterCharacter. I put it into StarterPlayer.

image

The body parts have CanTouch and Archivable on.

Is there anything wrong with this model ? Or did I do something wrong again.

Maybe try to copy your character, remove accessories and manually replace the Ids. Because you need all of the attachments to be set correctly.

image

I give up.
I think I will use standard joints and meshes.

Thank you LightningLion58 for your precious help.

2 Likes

You can go to Roblox Game settings and go to “Avatar”. There you can force every player in your game to have the same character package.

The problem is that HumanoidDescription uses the Roblox character parts dictionary and not any custom mesh. So if you want to replace body parts with your own, you have to delete the previous ones. Weld them again. There is also a big problem where you have to set up textures correctly or character limb would look like they having a stroke. At this point it’s better to make custom character system rather than improve Roblox one.

It is easy.
Click File>Game Settings> Avatar
Scroll down and find “Body Parts”, there you can update every body part with your own Mesh Ids

This old topic seems to always bring some people to try to solve it.
First of all, thanks to all of you for your help.
Here is my fix I found a while ago : The character meshes system of Roblox does not work with mine, so I had to put my custom character as a StarterCharacter and then add everything the player has (clothing, colors, accessories, …) on the character.

3 Likes