Character resizer

  • I had an idea for a pretty simple way to change the size of your character, and it worked, for both R6 and R15.

    function resize(character, ratio)
    	character.Parent = nil
    	local function recurse(x)
    		local R6 = character.Humanoid.RigType == Enum.HumanoidRigType.R6
    		for k, v in pairs(x:GetChildren()) do
    			if v:IsA("Attachment") and (v.Parent.Name == "Handle" or R6) then
    				v.Position = v.Position * ratio
    			elseif v.ClassName == "SpecialMesh" and v.MeshType == Enum.MeshType.FileMesh then
    				v.Scale = v.Scale * ratio
    			elseif R6 then
    				if v:IsA("BasePart") then
    					v.Size = v.Size * ratio
    				elseif v:IsA("JointInstance") then
    					local c0, c1 = v.C0, v.C1
    					c0 = c0-c0.p + c0.p*ratio
    					c1 = c1-c1.p + c1.p*ratio
    					v.C0, v.C1 = c0, c1
    			elseif v:IsA("Humanoid") then
    				v.BodyDepthScale.Value = v.BodyDepthScale.Value * ratio
    				v.BodyHeightScale.Value = v.BodyHeightScale.Value * ratio
    				v.BodyWidthScale.Value = v.BodyWidthScale.Value * ratio
    				v.HeadScale.Value = v.HeadScale.Value * ratio
    	character.Parent = workspace

    Animations will still be slightly off because positional offsets do not scale with size, so there's no getting around that.


  • Roblox already allows you to do that with R15 characters without bugs, but it is cool that you did it with R6.

Log in to reply

Looks like your connection to Scripting Helpers was lost, please wait while we try to reconnect.