Jump to content

Secondary Fragmentation on Clustered & Constrained Objects


mstarktv

Recommended Posts

I started a thread a few weeks ago about using scattering and Voronoi points to create clusters from multiple objects. That thread is here: Clustering without fracturing?

Luckily, that was solved after much confusion. However, now that I have that rendered with a few other stuff thrown in, I got curious about secondary fragmentation using those same clusters. The problem I'm running into is when I'm in DOPs and I add a voronoifractureconfigureobject. When there is collision's, there are no fracturing. But, If I un-cluster the bricks and constraints, the bricks will fracture as expected.

I attached a photo and my file to the thread :D.

Thanks!

unfrag.PNG

building_frag.hiplc

Link to comment
Share on other sites

Well, I wouldn't do it like this, I would cluster the constraints - and to get that nice stickiness you can't use just glue, you need to combine glue with cone twist constraints and set them up to break manually in a SOP solver. It's just not as easy to get this feel in Houdini as it it with the Pflow constraints, as an example...

 

Link to comment
Share on other sites

Funny that you used Pflow :D. But what is happening in your setup is the same as what is happening in mine. It's not that the constraints aren't breaking that are the problem. It's that when I have a collision into the clusters - I want them to fragment. I did a quick setup that I'll attach to this where I just added a fracture in SOPs(to do a crude representation of the "clusters") then in DOPs you can see more of what I was aiming for with secondary fragmentation. I guess a good analogy to TP would be if all those clusters in the previous file were there own single shapes > Brought them into TP as "Geometry to Particle" and then used Volume Break to Break them.

So in your example in Pflow, all I'm looking to do is what you have and then fragment them again.

 

building_frag2.hiplc

frag.PNG

  • Like 1
Link to comment
Share on other sites

Hehe, that sim was from 2012 or something like that, I haven't touched Max in well over a year - and that setup would have fragmented again - no clustering in Pflow, ;)

But for setting up something like this, I would cluster and constraint the clustered pieces at one strength and then constraint the clusters to each other with lesser strength - and if you want to change the constraint strength you can do that in a SOP solver. I'll see if I can set something like this up tomorrow. :)

Link to comment
Share on other sites

I'll have to give this a look/hunt it down. This is tangentially related, but how do you guys handle pre-fractured pieces for rendering? 

That's one thing in Houdini I haven't really seen come up. If you pre-fragment, don't the fragmentation normals show up?

Curious how this is handled. 

Link to comment
Share on other sites

Not sure what you mean with the fragmentation normals - if you have a primitive, you also have an automatically calculated normal - you can't have a primitive without a normal - but it's intrinsic, so it doesn't show up as an attribute until you initialize the attribute. 

About handling fractured pieces for rendering, the most common approach (I believe) is simming with lower res and switching them after DOP import with higher res (displaced-) geos. Then you of course add even more detail in the material using material displacement (or bump mapping)... In this setup I just had two voronoi fracture SOP's, one for the sim pieces and one with more detail on the inside - you have the setup in the scene file.

 

Link to comment
Share on other sites

Okay, so this is something I can't 100% confirm, but it looks like Houdini handles the normals of fractured Geo automatically? I took two poly spheres and then fractured one and then deleted the bottom part of it. Like your example above, the entire mesh remained smooth except for the fractured pieces.

This was basically what I was asking. But when I exported geo in another project, it seemed that it didn't keep the smoothing groups - which could be something I didn't do. 

I'm still not 100% on all of this so I'm going to run some tests and then post my images here.

Basically what I'm trying to assure is that if I have an object and add fracturing to it (like a smooth surface) - it will keep it's smooth integrity until separate from the main piece. Photos coming...

Link to comment
Share on other sites

Okay, I did some tests here and it seems that Houdini basically exports the normals. My first render is in Mantra, and my second is using Vray inside of Max.

So it seems Houdini handles the normals of fractured geo pretty intelligently :)

 

smooth_houdini.PNG

smooth_vray.PNG

Link to comment
Share on other sites

Hehe, I think it's as simple as Houdini handling the normals correctly. As I said, you can't have a polygon (primitive) without a normal, so as long as you orient them correctly, it should be done right just from creating them in the first place. ;)

That being said, when you add detail to your inside surfaces, it can be a pain getting the normals looking good, though a material with displacement usually breaks that up enough for it not to be an issue.

Link to comment
Share on other sites

I'm happy that this is something I don't have to worry about. That was kind of a little extra step in TP that I would sometimes forget. You could pre-fracture your gel, but as long as you didn't activate the fracture, yourgeo would remain smooth. But if you simply VolumeBreak'd the geo, you would end up with a faceted pre-frag mess. Same goes for RayFire. 

 

''So all in all, it's nice that it stays smooth where you'd expect to without any weird visual errors.

Link to comment
Share on other sites

I'm posting a setup I think you'll be interested in on Vimeo in a couple of hours, a very simple, fast, very straight forward way to break up voronoi fracture edges while keeping the edge normals so you don't get any obvious cracks before breaking stuff. The techniques I've used before was so friggin involved with using VOP's to align a displacement normal with the surface, etc, so I thought there just gotta be a simple way - and this is what I came up with. It's meant to be post sim effect and as it's still all convex geometry, it'll still be fast so sim with Bullet. :)

track3.gif

In the clip I'm rendering I'm fading the fractured pieces from straight edges to the displaced one, thus the animated edge in the gif. :) 

Edited by Farmfield
Link to comment
Share on other sites

This is exactly what I'm looking for. I too ran into getting correct normals with a series of cross products/proximity searches and then that would get the normal. I'm curious about this. I think I'm also going to add a blog section to my website where I can just post expressions/setups that I tend to forget. Especially for new users like me. Excited to take a look at this!

Link to comment
Share on other sites

This is the setup. Link to the scene file in the description as usual but I'm attaching it to this post as well as it's in line with the thread. :)

Scene file: simple.edge.displace.v1.hiplc

And here's how you set it up to sim with lowres and render highres...

Scene file: simple.edge.displace.SIM.hiplc

Edited by Farmfield
  • Like 3
Link to comment
Share on other sites

I got a chance to look at the above file. I didn't know that this was even possible. I am totally using the wrong terminology, but the Ray node almost seems to act as a projection/skinning thing. When I was going down your tree I kept wondering how it would work if you resample the edges and then tried to attach them back to the inside geo....

Until I got to the Ray node. I was like "Whoa, neat!" It almost looks like it's doing a boolean operation and then merging the points of the new to the old.

I'll have to try this myself because it's way more straightforward than the other method's I've seen.

Link to comment
Share on other sites

I was actually kinda baffled when I came up with this technique, it's almost like, nooo, it can't be that simple - but it worked. 

The ray SOP moves incoming points to the surface of the surface object piped into the second input - really handy to use in a SOP solver in DOPs for keeping particles on a surface, if nothing else. Attached a quick setup as that is the simplest way to get the concept of the thing.

And I don't merge back the points, the attribute transfer transfers the position attribute, so I just shift the points of the outside edge of the fractured pieces towards the displace edge.

My idea was actually to do the noise and ray operation directly on the edge points of the fractured pieces, but I couldn't manage to group just the edge/edge points between the inside and outside groups, so I worked around it with splitting the stream, doing the displace and attribute transferring the positions back. Good I came to think of it, I'm actually gonna start a thread on that and get the setup simplified even more. :)

ray_demo.hiplc

Edited by Farmfield
Link to comment
Share on other sites

I can't wait to just read your replies without dissecting and just understand lol. Still becoming familiar with what each node does. I'm going to open your file again. I think you and I work the same (no gas solvers :D) - in that, I see what someone is doing and then try to find a more direct way of doing it.

Link to comment
Share on other sites

It's a lot of fun simplifying stuff, but it's also about simplifying stuff because it's easier to tweak, faster to tweak, and quality is always in the tweaking. I see a lot of VFX in movies where they used a lot of complicated setups, amazing simulations, but they didn't leave themselves time to tweak it so in the end it looks like crap anyway. And this is in part on the supervisors, but also on the artists not to spin too much into details. There's a lot of value in backing away, looking at the big picture. :D 

Link to comment
Share on other sites

My first experience with that was when I was working on Beautiful Creatures and I was so stressed. My supervisor (thank god, he was a former fx artist) looked at my setup. He asked me why I was spawning particles and then killing a majority of them. He was like "Just spawn the % of what you're letting live."

Im not saying I wouldn't have taken notice - but when I feel like I'm overcomplocating something and getting stuck, I always think of that.

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.

Guest
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...