Roblox character body parts require specific UV mapping for specific textures to work properly with “Shirts” and “Pants”. I’ve seen a lot of people struggle with this, probably because there are no public resources for this!
With the help of some friends I figured out how this worked, and I figured I’d share the details and example files!
R15
For R15 rigs, each part’s texture uses a sub-image of a large composite texture. Multiple parts of the same limb will share the same texture, so you must UV map them to look properly. Multiple limbs will use the same UV map, but with a different texture.
The composite texture that is not for UV mapping (click to expand)
This is not the texture for UV mapping!
See the following images for the texture you should UV map with!
A limb texture. This is used for UV mapping all Parts on each limb (e.g. RightLowerArm, RightUpperArm, RightHand)
A torso texture. This is used for UV mapping all Parts on the torso: (UpperTorso, LowerTorso)
A head texture. The head usually uses most of the texture for the front face, then uses sections of the left/right/top/bottom for the rest of the head. This is usually fine since the edges of faces are transparent.
The red/blue here isn’t matching any specific dimensions. The default head uses some (unknown) part of the blue as the rest of the head’s texture, and some (unknown) part of the red as the front face. Generally, as long as you display what’s in the red and use the blue for the rest of the head, your head mesh should work fine.
R6
For R6 rigs, all of the body parts and accessories get added to a single composite texture. A subset of this texture is shared with all body parts except the head. Unlike R15, different limbs will have different UV maps since they’re all sharing a single texture with their parts at different coordinates.
Here is the full composite texture that is not for UV mapping (click to expand)
This is not the texture for UV mapping!
See the next following image for the texture you should UV map with!
Here is the shared body part texture: (for UV mapping the arms, legs, and torso)
I have annotated the body parts as follows:
-
AL
: Arm Left -
AR
: Arm Right -
LL
: Leg Left -
LR
: Leg Right -
T
or no additional annotation: Torso
Each limb uses the same texture above, so you must map your mesh to the correct limb faces in the texture, unlike R15 which gives each limb its own unique texture.
Here is a head texture. This is the same as the R15 head texture. You should read the notes on the R15 head texture for more info.
Sample Files
The following zip files contains:
- the above textures
- example meshes for limb parts, torso parts, and the head
- example R6 and R15 models that have had some of their parts replaced by the meshes in the zip file
- the shirt and pants texture I used
Character UV Sample.zip (2.3 MB)
(edit: fixed torso left/right being swapped)
Tips
This being nearly the first time I’ve used Blender, I figured I’d share some stuff that helped me:
-
From Blender, set the Scale in the FBX exporter to make the Blender units match Roblox units
This is important for limbs to be the proper size on R6 characters.- Most tutorials say to set this to
.01
. - You can also try changing “Apply Scalings” to FBX Units Scale or FBX All.
- For some reason, I had to set mine to
.005
.
- Most tutorials say to set this to
-
In the UV Editing layout in Blender, you can set the UV coordinates to exact pixels instead of to a percentage in the X/Y axes.
Directions (click to expand)
- Press
N
on the keyboard to open the information panel. - Press
View
then checkPixel Coordinates
- Press
Image
- Select one or more UV points and you can type in the coordinates in the information panel.
The Y coordinates will be flipped.
You can select multiple points and set the X or Y coordinates at once.
You can do math in the coordinate entry boxes if useful to you. - I suggest opening an image editor with vector shape support then moving a rectangle over the area you want to map the UV to. With both programs side-by-side, you can easily enter the coordinates.
- Press
-
If you’re using a trackpad or touchpad, there’s an “Emulate 3-button mouse” option in
Edit > Preferences > Input
which makesAlt + Mouse 1
the same asMouse Middle
. The middle mouse button is necessary for some actions, like moving the camera around. -
You can set the object’s material to the UV reference texture by following the answers on this Blender Stack Exchange question
-
You may need to “rotate” your UV coordinates to make them properly match a clothing face. Try to do this first to lower the amount of work you have to do.
-
Always be comparing the object in blender to the examples in Studio to make sure everything is oriented properly.