This tutorial will certainly be walking over exactly how to properly produce an R15 morph rig the is able to be supplied in conjunction with an R15 auto-morph script. This accuse is supposed for users who great to appropriately use working auto-morphs in your genres or game.

You are watching: How to make a roblox morph

To begin setup up your rig, you’ll need to gain a default one first. The easiest method of acquiring one is to click the “Plugins” tab, click on “Rig Builder”, make certain it’s set to R15 and also then click the “Block Rig” option.

You’ll then want to open up the dummy version up in Workspace to view this.
Delete all of that because that each one. Do not delete the mesh inside of the Head though! You’ll additionally want to open up up the yes, really mesh within of the Head and also delete the OriginalSize value.
Now you’ll want to rename each of the MeshParts inside of the models to “Middle” (without the quotations).

Screenshot_9.png156×620 6.28 KB

You have successfully collection up an R15 morph rig the is prepared to be supplied with one auto-morph script. Auto-morph scripts spawn you in as the morph of her choosing. There room a plethora of ways to architecture your auto-morph script, yet I usage a compact and an easy one that will job-related for you.

To begin setting up your auto-morph script, go to ServerStorage, do a brand-new folder and also name the “Morphs”. Currently inside the form folder you’ll want to make one more folder and name it everything you’d like, but I personally surname mine the surname of the video game I’m functioning on. Inside of the folder you’ll want to make another folder and also name it “PersonalMorphs” all of the shape you’ll want to use with the auto-morph script will go within of the PersonalMorphs folder. If you gained a morph you want to use, then make one more folder inside of the PersonalMorphs folder and also name it whatever you like. I personally name mine the surname of the personality my morph is. It’s easier to find them if you have a lot of them in there.Select every one of those (not the dummy itself) climate copy and also paste them into your folder the you named.

Now let’s relocate onto the manuscript I have created that you can create yourself v these photos. Begin by going right into ServerScriptService and making a script. Surname that script “Morph”. Now open the script up, delete “print(“Hello world!”)” and also we shall begin constructing it.

local football player = game:GetService("Players")local shape = game:GetService("ServerStorage"):WaitForChild("Morphs") -- Looks for the "Morph" folder you"ve created earlier.local clearly shows = falselocal recol = ""function morph(plr, part, location, model, test)if plr ~= nil thenif test == "Morph" thenif plr:FindFirstChild("Morph") == nil thenlocal Folder ="Folder")Folder.Name = "Morph"Folder.Parent = plrendelseif test == "Coat" climate -- The "Coat" and also "Pauld" statements can be totally ignored or eliminated without harming the script.if plr:FindFirstChild("Coat") == nil thenlocal Folder ="Folder")Folder.Name = "Coat"Folder.Parent = plrendelseif test == "Add" thenif plr:FindFirstChild("Add") == nil thenlocal Folder ="Folder")Folder.Name = "Add"Folder.Parent = plrendelseif test == "Pauld" thenif plr:FindFirstChild("Pauld") == nil thenlocal Folder ="Folder")Folder.Name = "Pauld"Folder.Parent = plrendendlocal Folder = (test == "Morph" and plr:FindFirstChild("Morph") or test == "Coat" and plr:FindFirstChild("Coat") or check == "Add" and plr:FindFirstChild("Add") or test == "Pauld" and also plr:FindFirstChild("Pauld"))if Folder:FindFirstChild(model) == nil thenlocal g = location:Clone()g.Parent = Folderfor i, v in ipairs(g:GetChildren()) doif v:IsA("BasePart") thenlocal W ="Weld")W.Part0 = g.MiddleW.Part1 = vlocal CJ = C0 = g.Middle.CFrame:inverse() * CJlocal C1 = v.CFrame:inverse() * CJW.C0 = C0W.C1 = C1W.Parent = g.Middleendlocal Y ="Weld")Y.Part0 = plr:FindFirstChild(part)Y.Part1 = g.MiddleY.C0 =, 0, 0)Y.Parent = Y.Part0endlocal h = g:GetChildren()for ns = 1, # h doif h.className == "Part" or h.className == "UnionOperation" or h.className == "MeshPart" or h.className == "WedgePart" then h.Anchored = falseh.CanCollide = falseendendendendendlocal role RunThings(char,Model, test)pcall(function()if Model:findFirstChild("Head") thenmorph(char, "Head", Model, "Head",test)endif Model:findFirstChild("UpperTorso") climate -- Looks for the body component models inserted inside the the named folder you made.morph(char, "UpperTorso", Model, "UpperTorso",test)endif Model:findFirstChild("LowerTorso") thenmorph(char, "LowerTorso", Model, "LowerTorso",test)endif Model:findFirstChild("LeftUpperArm") thenmorph(char, "LeftUpperArm", Model, "LeftUpperArm",test)endif Model:findFirstChild("RightUpperArm") thenmorph(char, "RightUpperArm", Model, "RightUpperArm",test)endif Model:findFirstChild("LeftLowerArm") thenmorph(char, "LeftLowerArm", Model, "LeftLowerArm",test)endif Model:findFirstChild("RightLowerArm") thenmorph(char, "RightLowerArm", Model, "RightLowerArm",test)endif Model:findFirstChild("LeftHand") thenmorph(char, "LeftHand", Model, "LeftHand",test)endif Model:findFirstChild("RightHand") thenmorph(char, "RightHand", Model, "RightHand",test)endif Model:findFirstChild("LeftUpperLeg") thenmorph(char, "LeftUpperLeg", Model, "LeftUpperLeg",test)endif Model:findFirstChild("RightUpperLeg") thenmorph(char, "RightUpperLeg", Model, "RightUpperLeg",test)endif Model:findFirstChild("LeftLowerLeg") thenmorph(char, "LeftLowerLeg", Model, "LeftLowerLeg",test)endif Model:findFirstChild("RightLowerLeg") thenmorph(char, "RightLowerLeg", Model, "RightLowerLeg",test)endif Model:findFirstChild("LeftFoot") thenmorph(char, "LeftFoot", Model, "LeftFoot",test)endif Model:findFirstChild("RightFoot") thenmorph(char, "RightFoot", Model, "RightFoot",test)endend)endlocal function MorphUser(User,Team,Class,Morph,name)local MorphRoot = Morphs:WaitForChild(Morph)local design = MorphRoot:Clone()local char = User.CharacterRunThings(char,Model,name)endlocal duty Body(depth,height,width,Char)for _,v in pairs(Char.Humanoid:GetChildren()) doif v.ClassName == "NumberValue" thenif v.Name == "BodyDepthScale" then -- looks for any type of changes made come the depth, height and also width variables.v.Value = depthelseif v.Name == "BodyHeightScale" thenv.Value = heightelseif v.Name == "BodyWidthScale" thenv.Value = widthendendendendlocal role Finale(Char)for i,v in pairs(Char:GetChildren()) doif v:IsA("Accessory") or v:IsA("Hat") thenv:Destroy()endendendlocal role Finale0(Char)for i,v in pairs(Char:GetChildren()) doif v.ClassName == "MeshPart" or v.ClassName == "n/a" thenv.Transparency = 1if v:FindFirstChild("n/a") then v.face:remove()endendendendlocal role Finale1(Char)for i,v in pairs(Char:GetChildren()) doif v.ClassName == "MeshPart" or v.ClassName == "Part" thenv.Transparency = 1if v:FindFirstChild("face") climate v.face:remove()endendendendlocal role Finale2(Char)for i,v in pairs(Char:GetChildren()) doif v.ClassName == "MeshPart" or v.ClassName == "Part" and v.Name ~= "Head" or v.Name ~= "LeftHand" or v.Name ~= "RightHand" thenv.Transparency = 1endendendlocal function Head(head,Char) because that _,v in pairs(Char.Humanoid:GetChildren()) carry out if v.ClassName == "NumberValue" then if v.Name == "HeadScale" climate v.Value = head finish end endendPlayers.PlayerAdded:connect(function(Player)Player.CharacterAdded:connect(function(Character)wait(2)visible = falseif Player.Name == "PLAYER NAME" climate -- transforming these variables transform the morph attributes entirely.Body(1,1,1,Character)MorphUser(Player,"MAP NAME","PersonalMorphs","MORPH NAME","Morph")Finale(Character)Finale1(Character)endend)end)In the if Player.Name == ‘CalvinKadir’ statement, you’ll desire to change CalvinKadir v your very own username or somebody else’s username. You can quickly replace that line totally with a group or group rank statement therefore that details groups or group ranks will obtain the morph instead.

if Player:GetRankInGroup(5025607) == 255

^ the line of password is an instance of what you can replace the surname statement with.

You can likewise entirely remove the Body(1,1,1,Character) statement if you nothing ever setup on transforming the height, width and depth of her morph. Do keep in mind that by transforming those values, you’ll have actually to also properly scale the morph design itself, or you’ll finish up spawning in v your eight or foot floating away from your torso. I will define how to do that in a future advanced tutorial.

On line 190 is whereby the folders you’ve created previously in ServerStorage come in.MorphUser(Player,“The Void”,“PersonalMorphs”,“CalvinKadir”,“Morph”) should be changed to the surname of the folders you have created. “The Void” would certainly be changed and “CalvinKadir” would be changed. The rest need to stay the same.

Basically the Finale statements space there to determine which part of the morph is visible and which part isn’t. This is useful at times. To speak you desire to do a morph, however you don’t want to do a custom head, girlfriend can readjust the Finale declare to do the head on the morph invisible so that you deserve to spawn in v the tradition body, yet still have your own face, accessories and also head. Or you deserve to just make it whereby you have actually your head and also face, however not any type of accessories.

Finale, Finale1, Finale2 and Finale3 are all the types of Finale statements you have the right to switch between. This won’t chaos up the manuscript any, so simply experiment and also choose which one you’d like. Notification that I have actually two Finales in the code below. One Finale to add onto or negates the impact of the various other Finale. It’s always a an excellent idea to store the Finale(Character) top top there, however it deserve to be switched for different effects choose I explained above.

if Player.Name == ‘CalvinKadir’ climate – whole section is changeable.Body(1,1,1,Character)MorphUser(Player,“The Void”,“PersonalMorphs”,“CalvinKadir”,“Morph”)Finale(Character)Finale1(Character)

if Player.Name == ‘’ thenBody(1,1,1,Character)MorphUser(Player,“Map Name”,“PersonalMorphs”,“Morph Name”,“Morph”)Finale(Character)Finale1(Character)

Be certain to change if come elseif ~ above the second one and beyond.

Once you have actually thoroughly completed every of the steps above, the complicated part is the end of the way. Once you sign up with the game via check or server, friend will spawn in together the morph you inserted within the named folder girlfriend created. You’ll proceed to generate in as this morph till you change it within Studio.

This setup is specifically useful because that roleplaying genres, such together a Star wars or video game of Thrones genre. V the rig functioning, girlfriend can start building and also shaping that into whatever character or person you’d like. Because that example, me and my girlfriend have constructed some Dishonored morphs, and many others. Your morph will certainly go as much as her creativity.


When you’re structure your morph, be sure to put the parts you’re adding into the correct body part model. For this reason if you’re structure something ~ above the upper left arm, you’d location those parts within the LeftUpperArm model.

I’d introduce not enabling one part to prolong to one more body part. If you’re building something on the top arm, the shouldn’t expand down to the lower arm. It’ll look at a little odd in-game. You can still perform it, and I usually build from the torso ~ above the shoulders of each eight all the time. But locations such together the arms might look a little bit off.

See more: How Long Does It Take To Get To Colorado ? Cheap Flights To Colorado From $16

If girlfriend have any kind of other questions, please toss me a PM. I’ll get earlier with friend as quickly as i can.