ZBrushCentral

Retaining hard edges/auto-crease on import?

This strikes me as a potentially FAQ, but I haven’t been able to find an answer yet, so here goes: Is it possible to import a model (tool) into Z2 and retain all hard edge information? I guess Zbrush would have to automatically create creases along the hard edges.

Is there a way? As it stands, I can’t even take a simple cube from Max/Maya into Zbrush and have it retain it’s shape when I subdivide. And manually selecting all faces first and creating creases is impractical for complex technical models.

Hi,

Turning off Geometry : Subdivide Smooth Modifier will subdivide without smoothing when you divide the object.

Holding ‘shift’ when pressing Geometry : Crease adds a crease to all visible polygons.

Edit : Just realised you probably want to keep ‘inner’ sections smooth but edges hard. I do not know the answer to that one.

The only thing I think you can do is create more edgeloops around the edges you want to remain hard in whatever software you are using.

You’re right, TVeyes, that’s part of the problem. Ideally I could give Zbrush a numeric angle that determines which edges will be creased and which won’t (similar to Max and Maya). That I could very easily create hard edges for the big breaks while still getting the desired curvature for, well, curves.

Even so, the two shortcuts you posted help. I’m dealing with a large library of non-organic models (lots of 90" edges) that need high-res counterparts and normalmaps. Every shortcut to getting them ressed up quickly helps.

Just curious, do ANY apps read hard/creased edges imported from other apps? I don’t have any experience of Max or Maya but I would guess that this information is app specific. Unless there is an industry standard for edge hardness information supported by .obj format it will virtually impossible for ZB to read it? - Baz

You can make hard/soft edges in wings for example, which translates as smoothing groups/normals. So you can read them in most softwares, obj should pass this stuff. But AFAIK only packages that take smoothing groups into account when subdividing are Max (you have to turn it on somewhere in meshsmooth parameters) and mentioned wings… pity, because it’s very handy feature

Yes, in Max you have an option to define hard eges a couple of ways.

You can either set it in the crease value (0-1) of an edge in a meshsmooth modifier or editable poly, or you can specify it in the separate by smoothing groups, or material which is either on or off.

The Obj format doesn’t support creases as far as I know, but there doesn’t seem to be any reason not to have the soft/hard edges be created based on smoothing groups when Zbrush subdivides a mesh.

Hopefully when the wishlist opens up again, people can lobby for it to be included in the next version.

Cheers

“You can make hard/soft edges in wings for example, which translates as smoothing groups/normals. So you can read them in most softwares,”

I’m not sure that follows, Wings certainly uses hard/soft edges but AFAIK it doesn’t export them in any formats apart from .wings and .rib

Even if every app used hard/soft edges it doesn’t necessarily follow that they implement them in the same way, each may be unique to the app that created it!

“The Obj format doesn’t support creases as far as I know, but there doesn’t seem to be any reason not to have the soft/hard edges be created based on smoothing groups when Zbrush subdivides a mesh.”

I’m not sure that that is true either, I tried an experiment a few weeks ago, the result of another thread here on a similar topic. Cinema and Lightwave don’t recognise Max smoothing groups though cinema did appear to read the information in the Max .obj file it didn’t do anything useful with it LOL!

So to repeat my question above, do ANY apps read this information if it was created in another app? If none do (as I suspect) it may be impossible to implement in ZB :confused:

Any input from Pixolator would be much appreciated!

:smiley: - Baz

Well, conceptually hard edges are just adjacent polygons with seperate vertices (and thus vertex normals. You either do this by placing two vertices right on top of each other (that way each polygon can have its own normal), or by introducting a degenerate between the two polygons (a tiny extra surface that’s impossible to notice - basically a crease.
Of course you can save out extra information like smoothing groups to proprietary formats, and I don’t know how DXF or OBJ deal with simple hard edges. But you don’t even HAVE to retain the information in the export file if you can easily rebuild it in each application - for example with the angle option in Max and Maya. Just let the user determine which angles are low enough to be smooth and which ones should result in hard breaks - for most models that’s already enough. Still doesn’t help you on complex models with very intricate smoothing groups, of course…

Hi,

I just tried taking a cylinder from Maya to Max and it seemed to keep the smoothing groups, however it didn’t going the other way even though the Max exporter does have smoothing groups options.

Cheers

Hmm, interesting stuff! I’d love to hear Pixolators thoughts on this! - Baz