How I Prepare Files for Full-Color 3D Printing with Blender, ZBrush, and Photoshop
A personal workflow, from a finished Blender model to a full-color printing file.
I’m still fairly new to full-color 3D printing, but I love experimenting with my own little models and having them printed.
Since I haven’t found many tutorials on preparing Blender models for full-color printing, I wanted to share my process. Whether you already create 3D models or are simply curious about how a digital character becomes a colorful little figure, I hope this walkthrough makes the steps easier to follow.
What I prepare for printing
Before processing the model, I start with the requirements I’m working toward.
For this workflow, I keep the wall thickness above 1 mm, with 2 mm as my safer target to reduce the risk of breakage. I prepare a compressed folder for upload and keep individual files below 100 MB.
The final folder contains three files:
- OBJ: the model.
- MTL: the material information that connects the texture to the model.
- PNG: the color texture.
I combine the model using a Boolean union and use one texture image. I haven’t tried printing without the Boolean step, so this article follows the method I’ve used.
The overall sequence is:
Blender model → ZBrush processing → UV layout → Texture painting → Export and upload
Exporting the model from Blender
Once my model is finished, I select all the parts I want to print and export them as an OBJ.
For this first export, I enable these settings and data:
- Selected Only
- Apply Modifiers
- UV Coordinates
- Normal directions
I leave material export off because I haven’t created the material yet.
I also set the export scale to 1000. In my setup, a model made at 4 cm tall in Blender needs this export setting to come through at the corresponding printing size. This scale setting is part of my particular workflow. My next step is to check the dimensions in ZBrush.
Checking the size and reducing polygons in ZBrush
I import the OBJ through ZBrush’s Tool panel, then open:
ZPlugin → 3D Print Hub → Update Size Ratios
This lets me check whether the model has the printing dimensions I intended. In my example, the middle dimension represents the height, and I select the matching millimeter option.
With the size confirmed, I open ZPlugin → Decimation Master.
I run Pre-process Current, set the target polygon count, and click Decimate Current. I generally set the “k Polys” value below 1000.
Get Danny Edmunds’s stories in your inbox
Join Medium for free to get updates from this writer.
For the model shown in my tutorial, the file was around 40 MB after this step.
Organizing the parts and making a Boolean mesh
Next, I go to the SubTool panel and use:
Split → Split to Parts
I organize the resulting components according to how I want to color them. Using Merge Down, I group same-colored and symmetrical parts together, while leaving differently colored parts separate.
This organization carries into the UV stage, where I use those groups to divide the layout.
Once the components are arranged, I choose Make Boolean Mesh, then select the newly generated model from the Tool palette. With the groups displayed in different colors, I can see how the model is divided.
Unwrapping the UVs and returning to Blender
To unwrap the model, I open:
ZPlugin → UV Master
I enable Polygroups, click Unwrap, and wait for it to finish. Then I export the result as an OBJ.
Back in Blender, I import this file with a scale of 0.001, matching the scale of 1000 I used when exporting earlier.
Now I’m ready to arrange the UVs for painting.
Arranging the UV layout
I set up Blender with the UV Editor on one side and the model in Edit Mode on the other.
I use L to select linked elements, with UV as the selection delimiter, then use U to unwrap the sections I want to adjust.
I arrange the UV regions around my coloring needs. In my example, this means reorganizing the layout so the separate parts are easier to work with when I paint.
Once everything is arranged, I select all the UVs and choose:
UV → Export UV Layout
This produces the black-and-white layout that I take into Photoshop for coloring.
Painting in Photoshop and checking in Blender
I paint the texture in Photoshop while checking how it looks on the model in Blender. I move between the two programs as I make adjustments.
To show the painted image on the model, I create a material in Blender and add an Image Texture node. I load the texture, then connect its Color output to the Base Color input of the Principled BSDF.
For this figure, I paint green areas for the clothing and headwear, pale yellow for the hair, and skin tones for the face and ears. The colors for the different parts all sit within a single texture image.
Exporting and packaging the files
Once the coloring is finished, I prepare the final export.
First, I give the model and texture matching English names. I avoid spaces and use underscores instead.
I export the model as an OBJ again, using 1000 for the scale in my setup. This time, I also enable Export Materials and set Path Mode to Copy.
The final files are the OBJ model, MTL material file, and PNG texture. I put them in one folder, give the folder the same name, and compress it.
Then I upload the compressed folder to the printing website, where I can see the model displayed in color.
That’s my file preparation process, from a finished Blender model to the upload. I hope it helps you make a little figure you love, too.










