Mesh symmetry

Next
 From:  Schbeurd
554.1 
Michael,

I'm just wondering if it would be difficult to maintain full mesh symmetry when exporting mesh objects (see image).
It can be interesting if I want to export to a polygonal application and further subdivide and manipulate the mesh with a symmetry option "on" (for example for detailing in ZBrush).

Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
554.2 In reply to 554.1 
Hi Bernard, can you please post your model file? I'll take a look at it and see if there is anything I can do.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  WillBellJr
554.3 
Wow, yes, that's very important for mesh exports to poly apps.

If Michael can successfully handle this dilema, NURBS modeling way more friendlier tol the poly pushers of the world!


I'm wondering if a perhaps a virtual mirror point or something could be used which would cut the mesh in half and mirror to the other side before export?

If necessary, maybe the center line could be defined with a line object and selected before export?

Don't know but I'd really love having "cleaner" polygon exports!


-Will
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
554.4 In reply to 554.3 
Hi Will, if you have an example of something that you wish was cleaner, please post it and that will help me to figure out what can be done to improve it!

If the symmetry is extremely important to you, then instead of a "virtual cut in half", you could do an actual cut of your object in half and then export that and mirror it in your polygon app. That would definitely ensure perfect symmetry.

It looks like in Bernard's example above that there are a couple of areas that are just on the threshold of being subdivided or not. It is possible I can do something to tune up these situations, but I will need some test objects that demonstrate the problem to make sure.

So if you have anything that is not meshing as well as you'd like, please make sure to post the model file! :)

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Schbeurd
554.5 

Hi Michael,

Sorry for my late reply ! You're programming too fast. Users can not follow you anymore, hehe ! ;-)
Here's a Zip file containing
- Two screenshots showing the mesh object with default mesh resolution and lowest mesh resolution.
- The 3dm file (object was created with 4 curves and closed loft command)
- The low resolution .obj file

As you mentioned, it is always possible to cut the object in two pieces and create a symmetry object in a poly modeler. It is just an extra step that I'd like to avoid.

Brand new beta looks great !

Edit : Sorry, I just noticed that the circles to highlight the "problem" area on "Screenshot_2.jpg" are not exactly at the right place. It can be a bit confusing...

EDITED: 28 Apr 2007 by SCHBEURD

Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
554.6 In reply to 554.5 
Hi Bernard, thanks for posting the model files, that really helps to figure out what is going on.

It looks like the problem here is that your object is just very slightly asymmetrical itself, here is a zoom in on the control points in the front view:



If you have the curves that were originally used to create this object, if you could post those as well it could help me to try and solve the asymmetrical surface creation in the first place. Probably this was a closed loft and that needs a tuneup.

Anyway, if you turn on control points, go to the front view and select the center line, then use Transform / Align with the "Vert center" option and align all those points to the origin, then that tunes it up enough so that the problems in your Screenshot_2.jpg (view from the Left) go away. The symmetry of the object still isn't quite perfect with just that one tune-up though, so there are still a couple of asymmetries from the front view.

But I think those won't happen if you tune the object up to be closer to exactly symmetrical.

The one you show for Screenshot_1.jpg is a different problem though - for that one if you set it to generate n-gons, you can see that the n-gons are symmetrical. The asymmetry here comes when the n-gons are turned into triangles.

In this case it would be better to turn an n-gon like that into 2 quads instead of triangulating it. I'll see if I can tune things up to do this, which would then solve that particular situation.

- Michael
Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Crusoe the Painter (CRUSOE)
554.7 In reply to 554.6 
I've had these exact same assymetretic meshes generated on surfaces that were made by plain all revolution. So there may be something wrong with revolution generating slightly assym meshes.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
554.8 In reply to 554.7 
Hi Crusoe - next time you see one of those, please post the model for it. That way I can try to figure out what might be going on.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Schbeurd
554.9 
Hi Michael

I don't have the file with curves anymore. I'm gonna try to see if I can reproduce something similar.
A bit surprising that the model is not perfectly symmetrical as the curves were drawn in front and right viewports. So if I understand correctly it is possible that we've found a small bug not in the mesher but in the way some objects are generated ?

I'll try to post a new example soon !

Cya
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Schbeurd
554.10 
Me again...

Apparently it seems quite easy to reproduce.
Front and back curves were drawn using "Curves - control points"
Left curve was drawn with the same tool, right curve was mirrored.
Then I used the "Loft" command (closed).

Hope this helps....

Edit : I also noticed that when the control points were aligned vertically as you suggested, the "seam" line is slightly out of symmetry axis (see image).

EDITED: 29 Apr 2007 by SCHBEURD


  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
554.11 In reply to 554.9 
> So if I understand correctly it is possible that we've found a small bug
> not in the mesher but in the way some objects are generated ?

Yup, that seems to be the case for the issues shown in your Screenshot_2.jpg . The actual bug is some slight shifting of the shape in closed loft. The amount is pretty small, but it doesn't take very much to cause a slight change in meshing.

Thanks for posting those additional details, I will see if I can tune up closed loft, I'm not sure yet how difficult that will be, it might be a bit hard because the geometry library I'm using is kind of messed up in this particular area. But I'll give it a try...

The one shown in your Screenshot_1.jpg (the low poly one) is a different problem though - in that case there were n-gons being created like this:



So there are some rectangular shaped n-gons there made up of 6 points.

Then since you had your output set to "Quads and Triangles", it would triangulate those and cause the asymmetry. It will be difficult in general to ensure that the triangulation of any n-gon will end up exactly symmetrical to another n-gon across some interior surface line.

However, I have improved the mesher for the next beta to solve at least this case that you show here. Previously it would convert any n-gon into triangles, but with the next beta it will examine the n-gon and if the n-gon is made up of a strip of regular quads as it happens to be in this case, then it will break the n-gon into those quads instead of triangulating it. There are still asymmetries if you use triangles only, but this helps out a bit for the quads + triangles case.

- Michael
Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Schbeurd
554.12 In reply to 554.11 
>> However, I have improved the mesher for the next beta to solve at least this case that you show here. Previously it would convert any n-gon into triangles, but with the next beta it will examine the n-gon and if the n-gon is made up of a strip of regular quads as it happens to be in this case, then it will break the n-gon into those quads instead of triangulating it. There are still asymmetries if you use triangles only, but this helps out a bit for the quads + triangles case.

- Sounds good ! Thanks.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
554.13 In reply to 554.12 
It seems like it is pretty common to get some ngons like this. So this helps to produce more quads and less triangles.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Crusoe the Painter (CRUSOE)
554.14 
One thing I found. When meshing a object created via revolution, setting the "Angle" field to a number that can smoothly divide into 360 seems to produce symmetrical results. Fractional angle values seem to lead to messier meshes.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Thor (MCHANNEMANN)
554.15 In reply to 554.13 
Hi Michael,

would it be possible to get a quad only export?
I usually continue to work on the models in subd modellers, and to have triangles there is a pain,
so at the moment I have to manually turn triangles into quads...

Thor
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
554.16 In reply to 554.15 
Hi Thor, unfortunately that is not going to be easy for me to do anytime very soon. The underlying surfaces themselves go naturally into quads, but when there are trim curves on the surface (which happens after some types of cutting operations such as booleans), the "surface quad" basically gets cut by arbitrary curves. It is very difficult to take arbitrary trim curves and then try to get quads out of them.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  WillBellJr
554.17 In reply to 554.16 
Yes, IMO, that's the paradox of using NURBS modelers, generating a mesh that's "polygon app friendly".

It is very difficult, if not impossible...

Typically I use NURBS generated objects as "statics" in my scenes; buildings, furniture, pretty much anything that isn't animated or doesn't require clean topology.

Another option is to load the resultant mesh in to Silo 3D or TopoGun and recreate the hi-res NURBS object into a smaller, all-quad topology. Unfortunately, that just feels like doing extra work to me but it's certainly an option (and mostly the reason why a tool like TopoGun exists...)

-Will
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
 From:  Michael Gibson
554.18 In reply to 554.10 
Hi Bernard - it looks like I have managed to fix this problem with closed lofts for the next beta.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All