Question about topology

Next
 From:  FlashFire
3903.1 
All I ever wanted was for things like what's circled in red not to happen ;) That's the only reason I was using
edge dissolves in polygonal software. I wasn't after all quads. Just to clean up useless edges.

Can this issue be tweaked? Or how might the surface be created as continuous so all edges meet perfectly?





Here is another image. Why are so many polys added shown in the red circle? This seems to be overkill.
Why does this patch not use the same poly structure as those surfaces joining from the left and right of it?



Wish some type of additional control could be added to control this.

I am just trying to learn and maybe provide feedback. LOL did not mean to make that last thread a mess......

  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
3903.2 In reply to 3903.1 
Hi FlashFire - could you please post the model file along with your screenshots so that I can use it to check things and to illustrate my answers to you?


The kind of stuff that you're referring there happens due to refinement of the base mesh to meet the settings that you give in the meshing options.

Let's examine this particular row right here:



Take a look specifically at the top UV quad here:



And compare it's size to the bottom UV quad down here:



Notice how the bottom one is larger? If you were to measure those sizes you would probably find that the top one has sides that are within your "Divide larger than" distance, so that means that it stays as-is and does not get subdivided.

But the one on the bottom is larger, if you measure the bottom one you will probably find that it has sides that are larger than your "Divide larger than" distance, and so to meet that length constraint, it will get subdivided.

The mesher does make an attempt to put in enough starting mesh quads so that this kind of refinement can be eliminated in some cases, it works well for things that are evenly shaped in one direction like a sphere or a surface of revolution. But it's not possible for it to always just make a starting UV quad grid that will not be subdivided, because in some cases that would cause things to blow up to an extremely high polygon count and exhaust all memory. See these previous messages for some more illustration of this:
http://moi3d.com/forum/messages.php?webtag=MOI&msg=2451.47
http://moi3d.com/forum/messages.php?webtag=MOI&msg=3196.25


> Just to clean up useless edges.

But those edges aren't useless - without the refinement from those edges being added in, the mesh would not conform to the "Divide larger than" distance metric that you have used.


> Or how might the surface be created as continuous so all edges meet perfectly?

Well, if you're talking about the UV quad grids all going in the same direction, that would involve you only using untrimmed surfaces to create your objects. That means for example only using extrusions (with no caps) or sweeps to build all the surfaces that make up your object and not doing any booleans or fillets (which cut away portions of a surface by introducing trimming boundaries).

See here for some illustrations and explanation on what it means to have an "untrimmed" surface and what an underlying surface and trim curves are in NURBS modeling:
http://moi3d.com/wiki/FAQ#Q:_Why_does_show_points_work_for_some_objects_but_not_others.3F


> Why are so many polys added shown in the red circle? This seems to be overkill.

That refinement is there so that the final polygons are within the settings that you asked for. Your screenshot there has clipped off your mesh settings so I can't see specifically what you set in that case. If you show what mesh settings you used, that would help me to tell you which one of them is causing that refinement.


> Wish some type of additional control could be added to control this.

It might be possible in the future for me to add in some control that allows you to disable refinement completely. However, there are problems with that since it would mean that in many cases the generated mesh would not actually be within the tolerances that you give in the mesh settings.

I've also thought a bit about possibly having an "un-refine" setting where maybe you could give something like an angle and as a post process have refined quads combined back together if they were within that angle. It's kind of an awkward thing to describe easily though, and one thing that I hope to avoid is making such a complex set of options that it becomes difficult for people to understand what they are all doing.

- 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:  Michael Gibson
3903.3 In reply to 3903.1 
Hi FlashFire - a couple other notes here.

Those edges that you don't like won't really have any impact on rendering if they are there or if they are removed, if the good vertex normals are being used.

Also it may be possible for me to make some changes in how the initial UV grid is created, and if that initial grid was a little denser it would help to avoid that kind of adaptive refinement that you don't like, at least in some cases. I'll be experimenting with tweaking that in v3, and if you post your model file that would enable me to use it as a test case when I get a chance to try this in v3.

Things like that, and the ability to test your model and give you answers based on an examination of it, are some of the reasons why it is a big help if you post your model file along with your question and do not only post screenshots alone. I can't debug a screenshot or rotate it or stuff like that.

- 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:  FlashFire
3903.4 In reply to 3903.2 
Can't make this shape sweep without pinched edges :(
If you sweep these blue lines you'll see what I mean.

I've tried picking all profiles, then the two rails....still pinches on the corners at the tops of the corners.
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
3903.5 In reply to 3903.4 
I get something that looks like this:



Could you maybe be a bit more specific about which pinched areas you are worried about?

But it is harder to make a smooth shape this way, doing it with a fillet is the more natural method for NURBS modeling.

One thing that would help is to have a more gradual shift between your different profile shapes, for example these 2 profiles are fairly different in shape with a sharp bend on one of them, things like a sharp bend in only one profile will tend to not make very smooth and gradually curved surfaces from them as well:




Probably your best bet since you want some particular kinds of polygon output is to not use a NURBS modeler to create your shape at all and instead create it in a polygon modeler where you will be in full control over every polygon that is generated.


- 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:  Michael Gibson
3903.6 In reply to 3903.4 
To get a smoothed out evenly distributed shape, filleting is usually the right tool for that job.

So for your example here, start with the object like this with sharp corners (3DM model attached):



Select these edges here:



And then run the Construct > Fillet command, that will build some smooth rounded edges for you with absolutely no pinching or worrying about how to build cross sections or anything like that:




However, if you want to try to build something without using the best tools for the job with one hand tied behind your back while trying to pound a square peg into a round hole, I can't really help you with that other than to give you this advice: Don't do that.

- 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:  SteveMacc (STEVEH)
3903.7 
Personally, I like the way MOI creates Ngons where it needs to, as in the first sample posted. I find that renders are perfectly smooth. I hope we are not going back to the "I want quads" argument. I don't want all quads, just a smooth render, which we already get. I would strongly oppose compromising this. They are not "unneeded edges", they are maintaining the curvature within the parameters specified.
  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:  FlashFire
3903.8 In reply to 3903.6 
No problem :)

Here is a screen shot of the model showing the pinching. Or from looking at it more closely, hopefully it is just not
joined correctly.

Yes indeed fillets are nice. But I wanted to be able to test out custom fillet profiles. There are instances when you need to
create something out of the ordinary fillet shape.

The blue profiles were just swept in auto. I've tried both maintain height and maintain tangent. But still
get the same issue.

The screen shot is just showing all curves and edges in Moi hidden.



Maybe I can set Moi to build larger scale models so that edges are easier to join? As it seems sometimes edges don't join so well for me.
I seem to remember a post a bit back about something similar.

Maybe I need to think more using solids when adding this type of edit to a model?

Thank you.

  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:  FlashFire
3903.9 In reply to 3903.8 
Ahh ha! Ok I do just seem to have to think more in terms of solids.
This render shows a chunk of a modified profile booleaned onto the edge as a solid.

I know I know...this is a crude test. But fun non the less. And though I enjoy poly modelers, I really like the
booleans afforded with nurbs.

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
 From:  Michael Gibson
3903.10 In reply to 3903.8 
Hi FlashFire, I'm still not sure if I understand what you mean by "pinching" - do you mean this visible crease in the model here:



That's just what it looks like when you have 2 surfaces that touch each other but are not tangent where they meet.

In order to have no creases like that you need to make surfaces that are at least tangent where they touch, the best ways to do that usually are by using the Fillet command (the fillet surface that is generated by that command is created to be tangent between the pieces it meets up with), or you can leave some empty area between them and fill it in with the Blend command.

In the future in v3 I want to add some additional kinds of continuity tools to do stuff like morph an existing surface to match smoothly to another surface, currently that tools is not in MoI though. If you export your model to Rhino you can use Rhino's MatchSrf command to do that though.


> Maybe I can set Moi to build larger scale models so that edges are easier to join?

It's not a matter of joining - those pieces are within distance tolerance to be joined.

But joining 2 surfaces at a common edge and having 2 surfaces be smooth at a common edge are different things.

This is an area where NURBS modeling is quite different from poly modeling - in poly modeling when you weld 2 polygon pieces together, smooth shading will automatically flow across those polygons. That's because the shading smoothing in polys is kind of a fake thing, it's applied to polygons even though the polygons are flat pieces and not actually smooth geometry. NURBS modeling on the other hand, makes things look exactly the same as the underlying surface geometry, and to make things look smooth to one another the surface geometry has to actually be smooth, it doesn't work just by joining any pieces and having smooth shading flow across.

You can pretty easily see the difference in shapes just by eyeballing your model, like this:






So note there that the surfaces are not smooth to one another, they meet in a kind of cusp shape like this:



A cusp shape like that makes for a visible shading crease between things.


Generally with things like this you're better off actually intentionally making the crease a bit more pronounced and then using fillet to round it off. Filleting can get confused if you have some portion of a surface which is actually very close to being smooth but then it becomes creased in other areas, which is what you have here since the edges in the other direction are a lot closer to being tangent to one another.


- 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