Jump to content

Generating cookie'd geo along topmost perimeter edge


Recommended Posts

Hi guys,

I'm relatively new to Houdini and trying to create a system that will take a piece of geometry (we'll call it "the chunk") and cookie it from a base geometry, both for eventual use in DOPs. I'm starting out simple with a scaled box for the chunk and another slightly higher-res and tweaked box for the base geo, and am running into some problems.

The implementation I have in mind is basically:

1. Scatter points along the topmost outer perimeter edge of the base geometry

2. Copy stamp the chunk to those points

3. Cookie the chunk from the base geo and vice-versa for use in DOPs

I'm running into a few problems with this that I'd appreciate any help on sorting out:

1. Scattering points along the topmost outer perimeter edge of the base geometry is a bit tricky, in that I can't manage to isolate that perimeter edge for scattering; I am instead using a popnet that seems to stick to that edge when Geometry Source is set to Edges(random)/(ordered) but they clump up pretty quick and make the copy-stamped chunks do likewise. I've tried using a scatter node at SOPs level, but that scatters points on the entire surface, not just the edges so currently the popnet source node is the best solution I've found

2. Because of the above problem, when I cookie the chunks against the base geo I get a lot of ugly geometry artifacts; holes, overlapped faces, etc. I've tried increasing the resolution of both pieces of geo but this doesn't seem to help (I'm guessing because the overlapped points/chunks are just too error-prone, which I completely understand!)

Attached is an image of the problem and my current WIP; any advice the group can give me would be appreciated





Link to comment
Share on other sites

here is what you can do

1. isolate top edge, then extrude slightly (only edges) to get tiny polygons, then scatter will work

2. if you are dealing with many pieces you cannot use one cookie for all, you need to use foreach sop to union overlapping first

then you'll probably get several larger pieces

so you'll need to use foreach to subtract them one by one from the base geometry

and another to intersect them with geometry and merge together for the cut out pieces

and increase resolution first to get better result

and because this is cookie sop, there can still be errors, but this will at least work sometimes

here is modified file to show above mentioned workflow


Link to comment
Share on other sites

Thanks for the tips and workaround, Tomas

Switching to a foreach SOP sounds like a good/cleaner way forward, I will definitely factor that into my graph soon.

I think I may have figured out a way to get the clean perimeter edge I was after by using a carve SOP. From what I can see in my simple example, it appears to reduce the base geometry to just the outer edge that I wanted so I was able to use a scatter instead of a popnet. Hopefully this solution holds up for more complex geometry; at the moment it looks promising!

Thanks for your help and advice, much appreciated



Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...