Scaling character models in-game

I have a custom character model as StarterCharacter and I want to be able to make it increase in size while keeping its Motor6D’s in the correct position. I have looked at Crazyman32’s thread on how to scale models but I couldn’t quite get it to work. I used the Character Creation plugin to make the welds for my character model.

4 Likes

Are the characters using Humanoids? I believe the HumanoidDescription will function regardless of it being a custom rig.

and specifically:

https://developer.roblox.com/articles/humanoiddescription-system#change-an-existing-character-s-scale

3 Likes

Yes, the character uses humanoid, it’s basically a rig made out of a bunch of base parts and one mesh part.

I will try this out and see what happens. Thanks Fm_Trick!

1 Like

I just played around in Roblox Studio a bit and I see that HumanoidDescriptions would be good for your case (or more rather the scaling values for the Humanoid). Luckily, they not only scale all the limbs in your humanoid but they also seem to scale every other part within the character model.

Personally, I’d rather set the scaling properties of a character (found directly in the Humanoid) manually over use a HumanoidDescription if I don’t need to edit the character. I don’t really find the HumanoidDescription system to be adequate at times.

Scaling values:
image
(they’re all numbers that basically represent a percent; that number times 100)

That being said, editing any of these values will also modify the rest of your character appropriately, including any parts that you’ve attached to the character.

-- My own personal implementation, not complete though
local character = player.Character -- Player is indexed somewhere else
local humanoid = character:WaitForChild("Humanoid")

local widthScale = humanoid:FindFirstChild("WidthScale")
if widthScale then
    widthScale.Value = widthScale.Value * 2
end

This is the equivalent of setting up a HumanoidDescription, while avoiding its limitations or quirks. For example, when I set up a gray StarterCharacter, my character suddenly became pitch black after applying a HumanoidDescription that changes only scaling. I’d assume would be undesirable for you.

If these values aren’t already made, you can insert them into the StarterCharacter and modify them as you go within your game. Motor6Ds and part sizes will automatically correct themselves based on these scaling values, so you don’t need to worry about it.

My personal take? Use these values over HumanoidDescriptions. If you need to massively edit the character’s appearance beyond just a scale, then choose those. I feel like this is easier to modify at run time as well and potentially even better for your use case.

6 Likes

I knew about these values but I thought they only work with R15 rigs, that’s why I didn’t even bother trying them out. Thanks for the suggestion!

1 Like

Hmmm, both methods aren’t working for me. I think the scaling properties only apply to R15 rigs. My Rig isn’t R15, the parts are named differently and I don’t really see how I could mimic R15 since my character has toes, fingers and eyeballs.

1 Like

You can still mimic R15 - extra parts wouldn’t really count as limbs and rather as attachments. Are you using an R6 construct?

1 Like

I just made an R15 version of my custom character with the same part names and it’s still giving “Scaling is only for R15 characters”. Maybe my Motor6Ds aren’t named correctly?

EDIT: Renamed all the Motor6Ds and made sure they are in the appropriate parent just like the default R15 Rig and it still not working.

Here’s a screenshot of my R15 Rig, I think it’s the same as the default R15 rig, what am I doing wrong?

2 Likes

Is the RigType (a property in the Humanoid object) set to R15? It seems like you have all the parts needed so the only other explanation I can think of is that RigType isn’t properly set.

2 Likes

That fixed it, now it actually scales but the scaling is messed up:

image

3 Likes

This is the same problem I am having. I am able to scale my custom model but it doesn’t change the position as it scales. So Instead of it growing it just grows into 1 big blob… Any way to sort this?

5 Likes

Weld the models for example, Weld the eyes to the head. Etc.

1 Like