Mix, match, and design your own suit in Oscar Jacobson’s Custom Made configurator. Choose a model, change its design, try out different fabrics, select details such as liner color and buttons, enter measurements for your perfect fit, and place an order. All of this is visualized in real time 3D in your web browser. To make this tool a reality, Oscar Jacobson turned to Animech.

Background
Oscar Jacobson is an esteemed clothes manufacturer, and a supplier to the Swedish royal court. They are mainly known for their high quality ready-made suits. For a couple of years now, their customers have been able to order custom made suits in their physical stores. Now Oscar Jacobson wanted to offer this service to a broader audience by letting them order through an online configurator, right on their website.
Oscar Jacobson came into contact with Animech after seeing our work on Kånken Me. The visual quality of our solution impressed them, specifically the way we rendered fabrics. This was a top priority for Oscar Jacobson, since you need to see the differences between colors, weaves, and compositions when deciding on a fabric. To convince Oscar Jacobson that we could visualize their products, we created a proof of concept. We bought a 3D model of a blazer, textured it, and created a small application where you could view it in two different fabrics. The POC was well received, and in January 2024 we started working full time on the project.

Modeling the first blazer
In the first phase of the project, we focused on modeling a single blazer. Later, we could base all the other blazer models off of this one. Modeling the blazer was easier said than done though. Since the only source material we got was physical products, our plans to simulate cloth in Marvelous Designer were put on hold. Plan B was to use the model we had created in the POC, and modify it to fit the customer’s product.
Since the starting mesh had questionable topology (it was probably simulated, then retopo’d), we couldn’t easily use regular polygon editing tools. Instead we had to use tools that affected broad areas, like Soft Select
and FFD
modifiers. Using these we squished and stretched, pushed and pulled the model to fit the silhouette of the customer’s product. In order to verify our work, we measured the physical product and compared it to our digital representation. After these quite brutal changes to the model, we had to fix up a lot of warped and ugly details. For example, we had to remove and redo seams and pockets, and completely recreate the inside of the blazer. In addition to this, we also had to model the inside lining and pockets by hand.
We went through quite many iterations before we finally ended up with a satisfactory result. I don’t think there’s a single part of the model that we didn’t modify. Below is a short timelapse of the changes we made.
Creating configurable models
After the first blazer model was approved, we could create the other blazer variants. We began by breaking down the products into base models and details. There are 3 choices that affect the base model of a blazer: buttoning, fit, and lapel. All of these affect the same part — the main body canvas. This meant we had to model all of these combinations as separate models. Multiplying 2 types of buttoning, 3 fits, and 3 lapels means 18 combinations of base models. Luckily, the Oscar Jacobson doesn’t offer every combination, which meant we only had to create 10 of them. Still, it was a lot to handle, especially since once branched off from the first blazer, these models would have no interconnection. This meant that if we had to change for example a lapel, we had to change it on all the fits and all the buttonings individually — not a great workflow. Because of this, it was of utmost importance to get customer approval before moving on to new combinations.
We added details such as pockets and buttons on top of the base models after they were done. Each base model combination also had to have a lining, two in fact — full and half lining. Luckily, the lining didn’t change with the lapel, so it only had to take into account the fit and buttoning. As for the rest of the workflow, we modeled a low and highpoly model for each base model, and baked details in Substance Painter. There we also added details such as wrinkles, creases, and some shading.
We followed this workflow for trousers and waistcoats as well. They didn’t have the same number of combinations as the blazers though, which was a relief.

Making materials
In addition to the different models, we also made a bunch of fabrics to choose from in the configurator. We made about 80 different fabrics for the main canvas, most of which have unique texture sets since they vary in color, composition, weave, etc. We made these by photographing the real fabrics, then extracting PBR textures from them. The inside of the blazer and back of the waistcoat have a silk lining material, where there are 12 different colors to choose from. This was made as a single texture set, which we just tint using the diffuse color. Apart from these fabrics, we also made materials for various labels, ribbons, button holes, and pockets.
There are 17 different buttons in the configurator, in various shapes and colors. We had to make twice that many models and texture sets, because each button comes in 2 different diameters (or Ligne, which is the technical term). We modeled them manually, and textured them in Substance Painter using physical samples and pictures as reference.
The fabric materials in the application are made using tiling textures. If we just slapped these onto the models, they would end up looking really flat. To improve the realism, we baked per-object AO and normal textures. Every time a model or fabric is changed, the configurator generates a material which combines the tiling fabric with the baked textures added as Detail maps
.





Closing thoughts
This project presented a whole bunch of new challenges for me. I’ve mostly focused on hard surface modeling before, so modeling clothes manually was something I wasn’t really familiar with. The most challenging part though was to create all the different combinations of fit, lapel, and buttoning. We didn’t have any special tools for this – it was just plain old blood, sweat and tears. If there’s one thing I would have done differently, it would’ve been to research and suggest techniques that solve the fit dynamically. Maybe through morphing, or maybe some kind of runtime deformers.
I was responsible for modeling the blazers, waistcoats, and helping finish up the trousers. I also made all of the buttons, lining materials, and various details such as labels, ribbons, buckles and button holes.
Even though it was hard work, I’m still very proud of what we’ve managed to create. The application is live now, check it out on Oscar Jacobson’s website!