Long life to Embark studio and its fabulous procedural artists dream team !
truly excellent and inspiring to read. Would have loved to read some on the texturing since that is top-notch.
great environment with a lovely serene sense. Thanks for the write-up!
Tony Clark did a great breakdown of his Marty McFly’s clothes recreation made in Marvelous Designer for Allegorithmic’s David and Diana Contest. His project won the 2nd place.
I grew up in small towns in Wyoming and Nevada until moving to Portland, Oregon in 2002. I went there to attend school at the Art Institute of Portland after stumbling through my first year of college in Nevada.
Since graduating in 2005, I’ve worked for the game art outsourcing company Liquid Development for just over 13 years, where I currently work as a Senior 3D Artist. I’ve had the privilege to work with a lot of talented artists during this time, to learn from them and to help teach others as my experience grew. Early on I worked as an Art Manager on Fable 2, Condemned 2, the Mass Effect series, as well as Halo 4, Halo 5, and Batman: Arkham Origins.
I grew up in the 80s and 90s and was glued to anything computer or video game related. I still get painfully nostalgic about this time in my life, right before the internet completely changed the way we interact with each other.
Bringing Marvelous Designer In
I first heard about Marvelous Designer from a video of the 2013 Kojima GDC presentation where they talked about Metal Gear Solid V. They showed how MD was being used to generate their character clothing, along with various props for the game. “Whoa,” I thought to myself, seeing what this program was capable of.
I’ve seen that MD is steadily becoming a standard tool for many character artists. It can be extremely useful when any time realistic cloth folds are required in a pinch, but getting specific results definitely requires some patience. More often than not, ZBrush and Marvelous Designer are used together to get a specific look, depending on what the Art Director is looking for.
The general workflow is to build a strong base in MD and convert that into a base mesh to be sculpted in ZBrush for further adjustment. The low poly mesh can be built and UV’d in your favorite 3D package, and eventually textured in either Substance Painter or directly in Photoshop.
I had just worked on some Marvelous Designer tutorials for our internal team at Liquid Development when some friends told me about the David and Diana Contest.
The contest rules stipulated that we only use MD to generate the clothing mesh. I had some experience with this, and I knew I’d be able to take the clothing to a very finished look in MD without the use of ZBrush. I also knew that the earlier I started the better. I didn’t want to rush the texturing, and I didn’t have much experience rendering with iRay inside Substance Painter (another contest stipulation). I just had to find the right subject.
Marty McFly’s costume in Back to the Future is very iconic. It has a variety of different clothing layers whose combined effect create the look we all know. It seemed like a fun challenge for me to try and match the form and texture of each piece of clothing as close as I could, and a great chance to improve my skills.
Creating and Adjusting Clothes
Everything starts from a basic pattern that gets adjusted continuously to fit better on the avatar. I try to make sure the clothing is fitting as good as it can before I start cutting it apart and adding detail. Think of it like sculpting where you want to get the primary forms correct before moving to the secondary and tertiary details.
From here it’s simply a matter of sewing, scaling, and adjusting the pattern. MD makes it fairly easy to make these types of adjustments when starting out. I’m only concerned with primary forms at this point. While working, I think it’s important to find a balance with mesh density vs viewport speed, where it’s dense enough for the simulation to create folds that are representative of the final look, but not so dense that the simulation bogs down and becomes a chore to work with.
The David avatar was supplied in T pose, with morph animation built in so that you could run the simulation with animation, and bring the clothing into its final pose.
Ideally, I think it’s better to work with an avatar that has bones and skinning information (this can be imported into MD as an FBX). Since David’s pose was set up as a straightforward morph target, the left hand would morph straight from T pose to the final position, causing some collision errors. However, once in the final pose, this is simple to fix on the fly by tugging and pulling the clothing until it sits how you want.
Clothing layers are built up one by one, using the layer setting on each garment to control which pieces of clothing sit on top of others. You can set collision thickness, as well as display thickness to make sure there’s enough space between the clothing pieces, and the avatar itself.
This was especially important for the orange vest. As I’m blocking out the clothing and making adjustments, I try to keep everything as a single layer so that it’s easier to work with. The orange vest would need to look like it was full of stuffing, and sit away from the denim jacket underneath. To help with this, I set the vest’s collision thickness to be much higher to help visualize how it would rest in the final pose.
Below is the basic process for achieving the final look on the Vest:
Natural Wrinkles & Folds
MD comes with some useful presets for cloth types that help to determine how the folds are going to appear and react to one another. Their names are fairly self-explanatory for the types of folds you will get. Lightweight_Nylon will give you small, crisp folds while Wool will give you thicker, heavy folds. I typically work with just a few cloth types to get the results I’m looking for.
To help get smaller tertiary wrinkles to show up where I want, I have a basic process that I adapted from watching one of Madina Chionidi’s tutorials.
The UVs were done entirely in Marvelous Designer. It’s a simple process of opening their UV editing tools and moving the patterns into a 0,1 texture space.
One of the biggest challenges for me was making sure I could export a full resolution model from MD into Substance Painter, including hard surface items like buttons, and be able to texture it without a lot of slow down. Ultimately what I had to do was create the buttons in 3ds Max, import them into MD as an additional avatar mesh, and then export both the clothing and avatar meshes as an OBJ file. I don’t know of a way to replace individual meshes in Painter once you’ve imported them without losing work, and so I needed to make sure the mesh and UVs for all pieces were exactly how I wanted them to be in MD before I could begin texturing.
For this project, we were allowed to use existing materials within Substance Painter. I spent a lot of time on the denim jacket, in particular, to match the look of Marty’s jacket as close as possible. I like to start with a strong base that gets me 50% – 70% of the way there, and then build up the material layer by layer. Here is a breakdown of that process for the denim jacket which ended up being the most complex material:
How fabric is applied and rendered in the game is entirely dependent on the needs of the project. Is it realistic or stylized? How close will the clothing get to the camera? How much texture memory do you have to work with?
It’s becoming common to build cloth materials using shader solutions where you combine a macro set of textures with a micro set of tileable cloth textures to get high amounts of detail up close. Yibing Jiang’s work on Uncharted 4 is really inspirational for this. I haven’t spent a lot of time myself working on cloth shaders, and for this project, all of the cloth was applied as a large 4k texture which didn’t have to look good in real-time. In a game engine, to maintain good texture resolution, you would instead want to apply a very small size micro-tiling fabric texture as a base material, and then you can apply larger scale details such as dirt or AO on a macro level. This would be very similar to how you might texture a large rock face or another piece of large environment art. I think the trick is to try and avoid any noticeable tiling, which Yibing Jiang does an amazing job of in her shader work.
Recommendations for Learners
I owe a lot to other artists like Madina Chionidi and Yuri Alexander for sharing their knowledge. I had been working with Marvelous Designer on my own before discovering some of their useful tips on ArtStation or other publications.