ZBrushCentral

Unwrap a highpoly subtool

Hi there,

trying hard to get my highpoly wheel export ready from zbrush to substance painter.
There are no texture maps or similar on the model.

I just did some modifications in zbrush with the modeling kit and it´s brushes.

There is no way to import the model like it is directly to substance with its auto-UV creator. It just crashed.

So I had to use ZBrush for it, I guess.

The wheel is imported from Autodesk ALIAS to ZBrush.
Out of this reason the data is quite dense.
The nurb model is quite clean modified to polygon-quads by zremesher.

But anyhow very dense.
Means, I got around 10 mil points.

I really tried a lot, seen in tuts of workflow how to change highpoly
to lowpoly and then to unwrap the mesh andy copy uv´s from there back to the dense model.

At first, I do not have the possibility to just lower the subd´s,
because through modifications to bring in the wheel quite clean,
i do not have any history.

With 10 mil points I have of course no chance to unwrap the mesh.

So the idea was to reduce with zremesher the points to 100.000 points.
That was still with project a alot to unwrap and a bit to view in point of accurateness to the original model.

However that worked to get a more or less unclean unwrap.

When I tried to keep my polygroups UV Master went crazy and stoped process.

I guess all problems result of still to many points.
I tried nearly anything right now to bring the points down.
Dynamesh, Decimation Master and ZRemesher.
I also turned a lot of the tools options.

I am still new to ZBrush and hope I make somehow an easy workflow mistake,
how to bring up a highpoly file from zbrush to substance.

Like I said I watched a lot of tutorials.
I think I understand the way how to bring the subtools and polygroups of single meshes
and groups as OBJ and FBX´s to substance.
But in any tutorial they handle with more or less low poly around 10.000 points max.
Or the just reduce the SubD´s.

You will see if I reduce the points form 10mil to 100.000 points it is so much, that the geometry will hurt quite a lot.
So even with that extremly lower quality to it´s original, it´s a hard time to uv master,
to unwrap .
Finaly I did it, but if I turn on polygroup option I blased it.
Also if I try to help manually with control painting (to protect and attract) will make UV master to give up.
Also from the unclean unwrapped version a cannot copy and paste the uv´s to the original version, because it doesn´t match the geometry. like ZBrush told me.

May there is anybody out there, who can give advice how the workflow would be done properly in those special cases in dealing with high poly.

Thanks a lot for your help.

best regards
Chris

Here are the screenshots from described process so far:

Hello @DarkStar,

You appear to have more than one problem here, and it may be more straightforward if working with NURBS to simply use a solution that specializes in rendering that type of geometry. Your problem here is complicated by the fact that this is a hard surface model which will have additional concerns. Your issues as I can see:

  1. How to reduce the polycount on a mesh to make it manageable with UVM. This in itself is fairly straightforward, but is complicated by…

  2. You have a hard surface model produced at high resolution, and must make some decisions about how you want to reduce the polycount, and how the model will be rendered in order to keep its hard edges when subdivided up from low poly. This is the larger problem and I suggest you deal with it first. If you solve this, it will probably also solve issue #1

Unfortunately, reducing non-optimized high-res hard surface models to low poly while creating clean edge topology is a complicated subject and a distinct skillset in its own right. I could probably teach a class on this subject alone. It’s not something I can cover fully in the course of a single forum post, but I will try to give you some pointers.




In a traditional low poly to high poly polygonal modeling workflow you start at low poly and add geometry as required to develop form. This tends to result in clean topology with polygon edges drawn perfectly along the hard edges in the model. These edges can then be given a creasing or hard edge assignment in a program that uses subdivision smoothing to keep those edges from softening during the smoothing process.

When working at high resolution to low resolution, it is possible to create hard edge detail on a high res model without optimal topology. The sheer density of the points on the surface will reinforce and hold that hard edged detail. However if you attempt to reduce polycount on that model you may end up with a low poly model with imprecise topology that doesn’t know how to keep its edges crisp when being subdivided.

To sum up: With clean and optimized topology it doesn’t matter how low you reduce the polycount. As long as the deliberate edge lines are maintained that mesh can be subdivided and retain its form perfectly. With imprecise or haphazard topology, the lower you reduce the polycount the more the form will soften and lose definition. Subdividing the mesh again to smooth it will not restore its original form.




It is possible that you have the mesh in that form someplace–with clean edges drawn in between the planes and curves on the model’s surface. I recommend working from that form of the mesh if it exists. However the topology I see in the screen shots here is not sufficient for this. Your hard edges are not defined by topology.

A quick and dirty way to solve this might be to reduce poly count just low enough to put it in reach of UVM, while still holding the rough form of the mesh. Displacement maps may then be able to make up the crisp edge detail in an external program. However, my confidence in this approach is low. There is just really no substitute for good topology on hard surface models and establishing this for your remeshed model is going to pay many dividends. But this does mean more work, and you will have some distinct challenges here.




What your model does have going for it is nice, crisp form. With some work, you should be able to convert all the planes to nice cleanly defined polygroups. The exception to this is that very fine inset along the edges of the magenta polygroup in the screenshot. That detail is too fine, will complicate the form and never survive the low poly conversion. It would be better to eliminate this, and add it back in after redrawing the topology. With cleanly defined planes and polygroups that would be a simple low-poly modelling operation.




ZRemesher can do a pretty good job at finding the edges with “Detect Edges” on a crisp model if the form is simple enough. However, your form here is complex enough that you will probably need to cleanly define polygroups with borders that fall along the edges of your planes and curves where you want crisp edges, and use the “Keep Polygroups” option.

ZRemesher has an effective polycount limit itself. It may be necessary to decimate the model first to put it in reach of that feature. Please also be aware that no auto-retopo solution can draw optimal topology the way a human can. In some situations it may be necessary to manually retopologize the model. I recommend a hybrid approach letting ZRemesher do the heavy lifting, and manually correcting problem areas.




The more cleanly you can define your polygrouping, the better results you will get from ZRemesher. Your options here:

  1. Polygroups> Group by Normals. You might be able to find a threshold setting that auto groups most of your surfaces, but my confidence is low. Give it a shot.

  2. Manually painting the mesh with polypaint. This can be used to establish polygrouping in a number of ways, most directly with Polygroups> From Polypaint.

  3. Your most useful tool is going to be the Polygroupit Plugin. This plugin is going to be able to work with your high res model, and find the natural boundaries of your surfaces and convert them into polygroups. It also has a feature that can work with black polypaint lines drawn along your intended edges, that will create polygroups in between. Both are options. For best results you need to feed Polygroupit the most sharply defined version of your model that performance will allow.




Once you define your polygroups so that any place there is an intended hard edge it is cleanly separated by distinct polygroups on either side, you can then feed it to ZRemesher with the “Keep Groups” option active. General tips here:

  • ZRemesh first at high target polycount to give ZRemesher plenty of polygons to work out the surface with, then reduce further with the “Half” option until you reach your desired goal or ZRemesher can no longer maintain the form.

  • Places where the edges break down during the ZRemesher process are usually due to local issues with the topology. Common problems include tiny fragments of different polygroups that occur along the borders but may not be visible to the naked eye. Run a smooth brush along the borders or turn on Dynamic Subdivision to smooth those borders and you may see what the issue is. It may be necessary at points to redraw the topology in some areas so ZRemesher can more cleanly find the borders.

  • ZModeler is a good tool to touch up small problem areas with operations like Point> Stitch and its polygroup functions to clean up your polygroup borders.




Once you have good clean polygrouping and can ZRemesh and maintain that polygrouping, creasing those borders is as easy as Geometry> Creasing Crease PG. This will instantly add a crease tag to the borders of every polygroup. Now when the model is subdivided or smoothed, it will retain those hard edges.




Ideally when all of this is said and done you will end up with clean low polytopology that looks like what you would have ended up with if you had modeled up from low poly with a traditional polygonal subdivision modeler. At this point unwrapping your model for UVs should be very straightforward which brings us all the way back to your original question:




UV Master.

  1. When experiencing any problems with a mesh always check it with Tool> Geoemtry> Mesh Integrity> Check mesh. If a mesh reports issues here it could experience problems with any number of program features. Any problems here will need to be corrected. Always make sure a mesh is free of errors before moving onto any stage of work where you need the topology to remain stable.

  2. Read the UVM documentation in its entirety–there are things you need to know. Obviously polycount is a factor here, but so is the form of your mesh. Complicated forms with “tunnels” and “handles” are especially difficult for the process, and special care will need to be taken. It may require you reduce polycount even further, or split up your model with polygroups in less complicated ways.

  3. You will probably need to use the “polygroups” option for this mesh because of its complicated form. Now that your mesh will have nice cleanly defined polygroups this should not be an issue. It will flatten each of those polygroups into a separate island. It may not be possible to unwrap this mesh as a single unbroken piece.




I’m sorry I wasn’t able to give you a simple answer to your question. I wish you had asked a simple question–my fingers hurt after this wall of text. :grinning:

Good luck!

1 Like

Hey Spyndel,

thanks so much for all your thoughts and informations, that you put in your detailed answer.
I highly appreciate all your efforts.

For me as a beginner it´s very hard to handle, how to solve all the upcoming questions and what step first to take, before another.
The learning curve is by far much steeper than I expecting it to be, even though I was prepared, because I heard of it before.

In this more or less unconventional topic of importing a dense nurbs model to zbrush
to refine and modify just a few surfaces it´s probably not the best starter to get used to the application.
In particular because this is already a real physical production wheel, it will be after presentation of the modifications to be build up again in ALIAS.

Goal was to have a tool to come up with some quick styling ideations in ZBrush.
But like you said, it have to push down to a low level and at the same time the characterlines have to be kept were they are and to be avoid for washouts.

All that makes a lot of sense to me.
So I will to get used to that workflow try out all the tools you suggested by creating new stylings by scratch directly in ZBrush.
Guess that will help me not to strangle with all problems at once.
When I got used to it, I will kind of reverse engineering already existing wheels from nurbs to clean polygon geometry bodies the way you described it.

To reach that goal in future your advise was extremly helpful.

In meanwhile I handled it, to bring a 1.5 mil model to substance.

I really have no idea, why it worked this time.
It took 20 min but anyhow doesn´t crashed this time.

With the fbx file I brought any subtool in.
Fortunately I don´t have to put any fancy textures on it.

But thanks again Spyndel, I defenetly try your way next time.

Regards
Chris