https://www.mauvemorn.net/post/182785650924/retopology5
( turn on English subtitles )
- ZBrush + Blender ( method 1 ) universal and fast;
- ZBrush + Blender ( method 2 ) - use when fine details have to be ignored in the process of automatic retopology and preserved through textures instead;
Hello. In this tutorial, I will criticize MD 8′s new Remeshing feature and show how to achieve significantly better results with Zbrush. I’ll explain how to:
- prepare the garment for ZBrush in MD;
- set-up ZRemesher to achieve the desired result;
- transfer UVs using Polygroups and Data transfer;
- manually edit the resulting topology in Blender ( if needed ).
WRITTEN TUTORIAL:
PLEASE DO NOT REPOST
As you may or may not know, Marvelous Designer 8 comes with a new feature Remeshing ( 1 ), which, unfortunately, is really bad. The resulting edge flow is bad because the shape of the mesh is disregarded. It is not suitable for geometrically complex, curved-edged patterns or the ones where segments of different lengths are sewn.
Fortunately, there is a way of retopologizing meshes that is painless, fast and suitable for pretty much everything.
Let’s start by preparing the garment for Zbrush. Make it smoother by dropping Particle distance to 8-10 ( 1 ) and running the simulation. If the roughness of the avatar’s surface affects the garment, select the avatar and enable Smooth ( 2 ) . If your version of MD does not have it, subdivide the avatar in Blender with Subdivision Surface modifier ( 3 ).
If you have MD 8, switch to UV Editor ( 1 ). RMB-click somewhere and choose Set UV from pattern alignment ( 2 ) first, Fit UV to unified ( 0-1 ) ( 3 ) second.
Export the mesh with Single object, Unweld, Thin, Unified UV coordinates, m ( for The Sims 4 ) enabled.
If you have MD 7+, you can install GoZ. It allows direct import/ export between Zbrush and Marvelous Designer.
Download here. Feature explanation here.
Import the file in Zbrush ( 1 ). LMB-click and drag to get it in the scene. Switch to Edit Object ( T ) ( 2 ). Display Polyframe ( Shift F ) ( 3 ). Unfold Polygroups menu and choose Auto Groups with UV ( 4 ). The mesh was exported as unweld to prevent stretching during Data Transfer, but it has to be weld in Zbrush. To do this, choose WeldPoints in Geometry - Modify Topology ( 5 ).
Viewport navigation:
- click and drag to rotate. Use Shift to snap rotation to 90 degrees;
- holding Alt, click and drag to pan;
- holding Alt, click and release Alt, drag to zoom in/out.
Or just use corresponding icons above the Polyframe one.
Unfold ZRemesher menu in Geometry. Enable KeepGroups and set SmoothGroups to 0 ( 1 ). Set Target Polygons Count ( in thousands ) ( 2 ) higher than you would want your final mesh to have. This way you will get a cleaner result. If your mesh ends up being distorted, undo and try lowering or raising this value until the problem disappears. If you are unsatisfied with the resulting topology, run ZRemesher again and again.
If your mesh is symmetrical or you want it to be, Activate symmetry ( 3 ) in Transform. If your mesh is symmetrical for the most part, here’s a cool trick: duplicate ( 4 ) the original in Subtool, run ZRemesher with symmetry on, unfold Project, and use ProjectAll ( 5 ). You can smooth rough areas by running over them with Smooth brush while holding Shift. Projection is also used to preserve details when retopologizing repeatedly led to the loss of them.
Another useful thing to know is how to edit polygroups:
- Ctrl-Shift-click on the polygroup to isolate it;
- Ctrl-Shift-click on the isolated polygroup to hide it;
- Once one is hidden, Ctrl-Shift-click on other polygroups to hide them;
- Ctrl-Shift-drag somewhere in the viewport to invert the selection;
- Ctrl-Shift-click once somewhere in the viewport to unhide everything;
- Ctrl W to create a new polygroup from the selection;
- Ctrl-Shift-click on Brush popup to see available mesh/polygroup editing tools.
For example, isolate one polygroup and choose SliceCurve ( 1 ) to split it. Ctrl-Shift-drag to start a line, release Ctrl Shift and press Alt to change the direction of the line, hold space bar to move the whole thing.
You can isolate and retopologize a polygroup individually while preserving its border with FreezeBorder ( 2 ). When doing so, make sure to reduce Target Polygons Count or choose another option below ( Half / Same / Double ) ( 3 ). FreezeGroups ( 4 ) retopologizes each polygroup independently, keeping their borders frozen and then welding the borders together. You can learn more about any feature by hovering over it and pressing Ctrl.
AdaptiveSize ( 5 ) allows you to choose between uniform polygon size and distribution ( 0 ) and better retaining of the model’s overall shape through non-square polygons and higher density in some areas ( 100 ).
If you are unsatisfied with the resulting edge flow, you can dictate it in 2 ways:
- ZRemesher Guide Brush ( 6 ). Click and drag on the mesh to draw a line, press Shift to straighten it. Set Curve Strength high ( 94-99 ) ( 7 ) to see noticeable results;
- Slice Curve. If you still are unsatisfied, split the mesh with it.
Use Polypaint feature allows you to control the density in certain areas. Start by choosing a different material ( 1 ) to see colors better. Switch from Rgb channel to Material ( 2 ). In Color drop-down menu choose FillObject ( 3 ). With Standard Brush selected, disable Zadd and Material ( 4 ). Enable Rgb ( 5 ) and Use Polypaint ( 6 ). Adjust Color Density: 0,25 - blue, 1 - white, 4 - red. Choose the desired shade and paint the area where you want the topology to be denser/ more sparse. If LazyMouse is bothering you, disable it in Stroke - Lazy Mouse ( 7 ). Smooth the transition between colors with Smooth Brush ( but disable Zadd first ). Press Zremesher. Once done, export.
Import the original MD mesh and its retopologized version in Blender. As you see, the later was split into a number of meshes. Shift-click on any of them to deselect, then Shift-click again to make it active. Press Ctrl J to combine.
If some parts of the mesh overlap or are close to doing it ( like pockets in this case ), do not combine them with the rest. Also, separate them from the original mesh by selecting one face on each, selecting the rest with Select - Linked ( 1 ), pressing P - Selection ( 2 ).
Select the retopologized version. Add a UV map ( 3 ) and Data Transfer modifier. Nearest face interpolated ( 4 ) gives the cleanest results, but the borders of UV islands do not always transfer intact. From what I understand, raising Islands Handling Refinement should fix this, but no matter what number I put in, nothing changes.
Anyway, there are 2 ways of dealing with it:
- Choose Nearest Corner and Best Matching Face Normal or Nearest Corner and Best Matching Normal instead. Best for meshes with many UV islands. The border will ( mostly ) be intact but the inner parts of UV islands will be messed up. That can be fixed by using Unwrap with pinned borders. Enable Keep UV and edit mode mesh selection in sync ( 1 ), select everything ( A ), select borders with Select - Select Boundary Loop ( 2 ), pin them with UVs - Pin ( 3 ). Select everything again and unwrap ( UVs - Unwrap ( 4 ) ). If you still get this issue with uneven borders, undo everything, switch to Face select, select these faces, flip them ( UVs - Mirror - X / Y axis ( 5 ) ), and put in the right place with G. Move these split edges a bit away from the border ones, select vertices and weld them with UVs - Weld/Align - Remove doubles UV ( 6 ). Repeat the same border-pinning and unwrapping process. If you look closely, you’ll see that the borders look tighter than the inner region. So let’s select them again, unpin, invert the selection ( 7 ) ( in Vertex select mode ), pin it, select all, use unwrap again.
- A better way of doing it would be to transfer UV islands one at a time between corresponding parts of retopologized and original meshes. Select one face on one part of the mesh, select the rest with Select - Linked, separate it with P - Selection. You can select a few parts at a time so long they don’t touch. Repeat on the original mesh. Transfer the UV map the usual way with Nearest face interpolated selected. As you see, it transferred perfectly. Repeat for the rest and combine everything back.
Now, let’s talk about editing the mesh. Start by selecting the borders and making them sharp ( Shading / UVs - Edges - Sharp ) ( 1 ). This way you will be able to see what edges should not be touched. Then select everything and smooth faces ( Shading / UVs - Faces - Smooth ) ( 2 ). Select everything again and remove doubles ( Tools - Remove - Remove doubles ) ( 3 ) to be able to select full edge loops.
In the orthographic ( 5 key ) front (1 key ) view, press 9 to switch to the back view. Alt-RMB-click on any edge to select an edge loop, Shift-Alt-RMB-click to select additional ones. Ctrl-Alt-RMB-click on any edge to select an edge ring, Shift-Ctrl-Alt-RMB-click to select additional ones. RMB-click on one edge, Ctrl-RMB-click on another to select a partial loop. You can uniformly deselect some of them with Select - Checker deselect ( 4 ) and automatically select a number of edge loops or rings with Select - Edge loops / Edge rings ( 5 ). Hold Shift Ctrl and drag LMB to lasso-deselect some areas. Disable Limit selection to visible ( 6 ) for it to affect all sides of the mesh. Press Alt M and choose collapse ( 7 ) to merge these edge rings. Make sure to enable UVs for it to affect the UVs ( 8 ). You can slide an edge loop with Tools - Deform - Slide Edge ( 9 ) ( with Correct UVs enabled ) ( 10 ), delete it with Delete - Dissolve edges, and add new ones with Tools - Add - Subdivide ( 11 ) ( Ctrl R: MMB to increase or decrease the number of edges, LMB to slide them, LMB again to finish ). Use Knife ( K ) ( 12 ) tool to create/connect vertices or Connect ( J ) to connect the selected ones.
Add Shrinkwrap modifier ( 1 ) to preserve the mesh’s original shape before adjusting the placement of vertices with G ( move ), S ( scale ) or R ( rotate ), Smooth Vertex ( 2 ), etc.
THANK YOU FOR READING.
If you have any questions or suggestions to improve this workflow, please leave them under the video / in replies to this post / in the ask box or message them privately on tumblr / via e-mail ( [email protected] ).