Jump to content
Goliath20

Can't polyfill these simple holes. Are there any modelling geniuses out there that can help?

Recommended Posts

Can anyone figure out why I can't polyfill these corner holes? The points are fused but double clicking one outer edge of the oval results in the entire outer edge of the oval being selected even though it SHOULD stop at 1 of the 4 fused points where the oval meets the rectangle. Can anyone explain to me what's causing the degenerate geo? Thanks  
manifold_geo.hip

 

manifold.thumb.JPG.d0b40e5fe6c1a33372613cb2c17b6c15.JPG

Edited by Goliath20

Share this post


Link to post
Share on other sites

A real tough condition for procedural tools to fill those holes. I used a curve SOP then mirrored a couple times to fill in the holes. And those four holes will create a polygon that is concave. Not a very good primitive to render with many engines, or to pass on to a game engine as triangulating that face may cause overlaps.

Polyfill sees the input as degenerate which means there are one or more cases where things are ambiguous. Consider that there are six open conditions that it considers to fill. The four holes, the perimeter of the frame and the perimeter of the exuded oval.

Instead I reworked your file to be more procedural. Where the original grid and circle are properly configured, skinned and then three methods to create the extrusion: your existing polyextrude SOPs (fussy approach), using a single poly extrude and it's ramp lookup for the extrusion, sweep SOP to sweep a profile curve to create the profile.

You can change the window outline, the padding of the circle to the perimeter and anything else you want to drive procedurally. What's also nice is that the topology is rock solid and you can create an infinite number of variations.

Begging to be turned in to an HDA.

 

manifold_geo_window_frame.hip

manifold_geo_window_frame.jpg

  • Like 2

Share this post


Link to post
Share on other sites

Dear Sir,

I believe the Polyfill SOP is fundamentally wrong. By definition, it should fill in HOLES. So here's my extremely simple illustration.

As you can see, yes, there are 2 borders, one inside and one outside...but there is only ONE hole. The problem is Polyfill is filling in both borders instead of just as it says in the helpcard..."Fills holes with polygonal patches."

So you see in my illustration, the problem can be seen clearly, yes I exaggerated the effect with the Surface Offset...but even if you use Quad settings instead of Triangle...you may see flat surfaces...but don't be fooled into thinking it's done it right, it's filling in both front/back on top of each other. Attached is my file for closer examination.

And a jolly good day to you sir.

(ps: I can see you taking my grid with a hole and extrude/morph its topology into a tube and argue that...well it does have 2 holes...but I'm not a Rhodes Scholar...more like Roads Kill Scholar...anyway...too much postulating already...)

Polyfill1.jpg

polyfill.hipnc

Edited by Noobini

Share this post


Link to post
Share on other sites

@old school That is cool stuff for the academically inclined, but for those that are not or when you have a model to deliver by the end of the work day, it all becomes info noise in a modeler's eyes and ears.

I hope that by know the devs in charge of these modeling tools have taken notice regarding the need of a interactive poly create tool and they've started the work on a shiny new "polyknit" tool. Or extend the current polyfill's capabilities to be usable as such. And then add even more, like for example the ability to draw polys on "screen space" and even creating polys as new separate objects by invoking the tool with nothing selected. I use the "polyknit" equivalent in Softimage for all these things and it's an invaluable tool for quick object sketching to act as a starting point for more detailed work.

@Noobini How do you mean it's fundamentally wrong, as in buggy or badly written or the wrong tool for this case?

If you specify the group of edges to be applied to (select the edges before calling teh polyfill) it works flawlessly. This probably goes to show that even this node doesn't stand the test of proceduralism, so to speak, even though that was probably its intended usage.

Edited by McNistor

Share this post


Link to post
Share on other sites

because it states that its job is to fill hole(s)....so looking at my flat grid with ONE hole in it...fill THAT hole...but what it's doing is filling BORDERS...not holes like it says...

take it further, say my flat grid has 'many' holes...yes, fill all the holes inside it....but don't do the border outside...it's ludicrous..

(yes I know if you use Quad grid, and still depending on geo, it might match up nicely, but use Triangle fan and you'll see it's wrong)

Share this post


Link to post
Share on other sites

The algorithm doesn't know - I'm not making a case for whether it should or not - what is a "hole". Topology wise, there's no difference between what we humans perceive as a hole and other types of borders. One can easily imagine wrapping a grid with a hole in the middle around a sphere in which case you'll end up with a sphere with two holes. Should polyfill deal with both or only with "the border" and which is which? My point is, topologically everything is a hole, even the outside border.

In the case of a grid and other "regular" (as in, mostly quads) meshes, the outer border will have the most # of edges, so maybe the algorithm should evaluate these "holes" by counting their edges (or points if Houdini doesn't think in terms of edges) and discard the most numerous "hole" or rather the user should do that with a toggle.

Edited by McNistor

Share this post


Link to post
Share on other sites

i ALREADY said this about the 2 hole 'morph'....go back and read my post...

Share this post


Link to post
Share on other sites

OK, then we can both agree that it's not fundamentally wrong, it just needs one or a few improvements, right?

We should probably file a RFE rather than debate semantics. Will you do it or shall I?

Edited by McNistor

Share this post


Link to post
Share on other sites

mmm...by the tone of my post...i was just having a bit of fun with old school Jeff there...like i mean...who starts off with Dear Sir nowadays....who even uses 'jolly good' anymore...

Anyway, my workaround, for flat geo, is if you select unshared points, there's the option of Create Group...so if you label it as Border...it would create Border for ALL unshared points...then Border__0 for the Outside one then Border__1, 2, n....for inside ones...Then promote * to edges

Then in polyfill, use !Border__0 (the outside one)....Jeff....i mean Bob's me uncle...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×