Monday, June 24, 2024

Research Project | Marvelous Designer

 My research project is focused on learning Marvelous Designer through the lens of making a Motorcycle Glove. The intention being to apply this fabric simulation software to a situation that requires further precision and tight modelling than, say, a pair of pants or shirt in order to push my understandings of the program to the limit. 

STARTING OUT:

  • Gather visual reference on the glove and sculpt in ZBrush a detailed proxy model to base the design on. 
  • For this project I opted to make my glove the scale of a full human figure (specifically Manny from UE5). I did this because I was concerned that if I scaled the glove realistically I would have a hard time operating at such a small size both in lighting it in UE5 as well as in sculpting in ZBrush.
Proxy Model in UE5 (archived here)

BRINGING MODEL INTO MARVELOUS DESIGNER:
Firstly, I followed the steps discussed in these two videos so watch them for the full detailed breakdown: 

But I will also describe my process below. I took my proxy sculpt and paired it down to only the base level of the glove, hiding patches and straps that are going on top of the base layer (I'm calling it my Underglove mesh).

I exported the generic male Avatar mesh from Marvelous and imported it into ZBrush. I then resized my proxy mesh to be the same size using "Unify" in the deformation palette, you can see the scale relationship below:


My Proxy sculpt is made up of many separate parts that are using Sub D geometry and I just want one single mesh so I applied all of the Dyanmic Subdivisions and Dynameshed everything together. I exported this mesh as an OBJ which will serve as my solid Avatar the glove Garment will drape over.

While combining my proxy glove meshes I made sure to keep my polygroups throughout the process so I was then able to ZRemesh each piece as a separate island. After many remesh-es fiddling with the settings I finally arrived at the mesh pictured below I'm calling my Garment mesh where the islands have a manageable polycount and are not too erratic on the edges:


From there I created UVs in ZBrush (ZPlug-in >UV Master>Unwrap) and exported it as an OBJ. I quickly brought this OBJ into Maya to check the UVs and did sew together a few edges that ZBrush had cut randomly. I also made sure the position of this Garment OBJ matched the location of the Avatar OBJ, cleared the history and re-exported the Garment OBJ. 

I imported both the Avatar mesh and the Garment mesh and this is what it looked like originally:

The initial Garment pieces were ROUGH so first thing I did was delete all of the brown dots (curve adjustment points) so I only was working with the black points and the clean curve lines:

Not all of my pieces imported correctly in the OBJ but instead of going back to Maya to clean up more of the pieces I opted to start here with what I got and add the panels in Marvelous directly (in hindsight I think this was the correct decision, I might even go so far as to say I might start directly in Marvelous rather than exporting an OBJ from ZBrush given my familiarity with the program now). I changed the fabric to white to make working easier and you can see below what the cleaned up pieces look like. I also started sewing the pieces together. A very simple process, press N to bring up the sewing tool, click one edge and then it's corresponding edge and make sure the "sword hilt" line is correctly aligned on both and click:

Continuing to piece together the garment, the bright lines are sewing lines: 

Here you can see the use of tacks to attach pieces of the garment to the avatar so when the garment is simulated pieces don't fall to the ground. The challenge for me here was to get the strip of fabric that makes up the sides and tips of the fingers to sew up correctly without the garment balling up and falling down...

...So I ended up cutting the single long strip into smaller more manage-able panel that I could place easily between the fingers allowing for easy sew-up. Later once the entire glove was stitched together I was able to merge them back together into a single panel to match the reference. 

Changed the fabric to grey to differentiate it from the avatar.

You can isolate the garment and/or avatar, ctrl+F will reset just the selected piece in 3D space, shown here as I attempt to figure out the interior thumb panel:

Tacking the tip of the thumb piece:

Here I'm demonstrating that when you click on the garment you'll see a blue dot in both 3D and 2D space, I use this to probe the garment to see exactly where the garment needs to be extended or tightened. This was a painstaking process to get every piece of the garment falling flatly on the model.

FABRICS:
See me here merging the interior finger strips. I started to break up the different pieces by the texture as pictured in the reference, each color represents a specific Fabric type in Marvelous:

For a complete breakdown on what the different properties Fabrics can have in Marvelous Designer I recommend this video.

For this project I made 3 types of fabrics, Leather Lambskin (based off the MD preset) in a few colors to match the different types of leather in the reference (to be textured properly in Substance later), Knit-Terry to match the reference and then I made a Plastic material which deforms as little as possible. This is my stand-in for the final Hard-Surface armor pieces I will be adding once I bring the model back into ZBrush. Additionally I turned the friction down a bit to reduce the amount of cloth movement in the simulation to make it easier to work with. Also because my scale is not accurate to reality I had to increase the thickness by 5x (10x for the outer patches) of the fabrics.

CUTOUTS:
To cut out a hole on a piece press "G" to get the Internal Polygon/Line tool, draw what shape you want and cut or cut/sew it out. Cut/sew will just create sewing between the cutout hole and shape.

PATCHES:
Here you can see the first patch a made attached to the palm. To do this, in the 3D space use the Line tool shown in this drop down menu to draw out a shape, this can go over multiple pieces of the pattern and the corresponding line will be drawn on the 2D pattern. 

You can then duplicate these pieces in the 2D space, sew the parts together to replicate the shape of the patch and then sew the outline of the patch to the original line you drew on the 3D/2D avatar/garment. You can always edit the internal sew-lines along with the patch shape, which is both helpful but a pain in the ass if you need to change the original garment layout as the internal lines act a separate elements from the outlines of the pieces the sit within. See here as I create a large patch over the pink/palm:

TOPSTITCHES:
I recommend watching this video for an in-depth breakdown of stitches in Marvelous: 

The workflow for stitching is pretty straightforward, go to the Topstitch window on the top-right drop down menu. Here you can create a style for a topstitch:

You can add stitching to any line segment but a handy tip is to press "Z" to edit your pattern, select an outer loop or any edge you want stitches parallel to and then right-click and press Offset as Internal Line. This will give you options as to how many lines of stitches you want as well as their placement, super handy and quick!

You can easily drag preset Fabrics from the Marvelous Designer library into any Fabric you have created for your garment, here I'm highlighting how I changed the scale of the Normal map to give a better scale representation of the Knit fabric on my over-sized model. I plan on texturing in Substance anyways so this will be lost but it's something I thought I'd highlight.

Another handy tip is if you press "Shift +Z" you'll see numbers all over your pattern which represent the distance between points on your pattern. If you right-clock once you've started moving a point this window will pop up which will let you set the distance moved, exact x,y coordinate on the pattern or the exact length of the line you are moving. At the top you'll see the option to choose which line you are dictating so say if you want the point to move up you'll adjust the length of the line above it (say line 1), and if you want the point to move down , say, you'll adjust the light of the line below it (say line 2). 

Note on thickness: see the red and cyan stitching lines peeking through on the top right of this picture on where the patch on the pinky meets the underglove. This is due to the thickness being bumped up to , in this case, 10x, upon export this mesh will retain this distance allowing the fabric the space to be bulked/thickened back in ZBrush.

I attempted to add the seam around the cuff of the glove using the "Offset Pattern Outline" that's available when you have a pattern line selected and right clicking. Ultimately I decided to finish the cuff in ZBrush as my file began to really chug and it needs a little more structural integrity than what I could accomplish in Marvelous. 

Adding the finger patches and sewing them on using the methods discussed above:

The final shot of the work I did in Marvelous Designer creating the majority of the pieces of the glove:

I went through each piece individually and set them to "Remesh"  (see lower right of image below) which converts the mesh to quads instead of the default triangles.

EXPORTING BACK TO ZBRUSH:
I recommend watching this video for an in-depth breakdown on exporting your Garment back into ZBrush so it can be finalized for baking:

I basically followed exactly what was said in the video to eport my mesh to ZBrush, it's pretty straightforward nothing fancy. Here you can see what my mesh exported from Marvelous looks like. Some of the pieces were too complicated to be remeshed in Marvelous but that's not a problem because this can be fixed in ZBrush.

I went through each piece and ZRemeshed each one making sure "Detect Edges" was highlighted. I started with a Target Polygon Count fairly high around 30-50 depending on the topology and after a minimum of 2 ZRemeshes I switched to having "Half" highlighted. This will reduce the polycount as well as clean up the topology (at the expense of keeping detail). For each mesh I halved it until the topology was as clean and light as possible while retaining any/all detail I deemed important to keep from the Marvelous simulation process. I also had "Adapt" highlighted but I'm not sure exactly what this does if anything, it didn't seem to affect my results.

Once I had the topology looking good and functional I added thickness to the mesh using the "Panel Loops" box with these settings:

I'll end the tutorial with this, here's what the fully cleaned and thickened mesh I got from Marvelous Designer in ZBrush, ready to be sculpted on to create the final looked like:

If I had to do it all over again I would start in Marvelous with an avatar of an actual human hand (not the proxy glove) and create the underglove garment there similar to how I ended up doing it but this way I would get a more realistic shape to the glove from the start and as I refine it in ZBrush it won't end up looking as puffed up/idealized as what I got here. Either that or I'd just sculpt the glove entirely in ZBrush as I didn't really get to keep that much of the Marvelous simulation data in the final product BUT I will say this project was a success in getting me to learn all of the intricacies and bells and whistles of Marvelous Designer and there's no garment I would find too intimidating to tackle in the program going forward!

See my final glove project here: 
https://ericwileyfiea.blogspot.com/2024/07/motorcycle-glove-sprint-04.html

No comments:

Post a Comment