Detailed cracks with Voronoi

   27839   9   2
User Avatar
Member
84 posts
Joined: May 2012
Offline
Hi, since this is my first post let me introduce myself and thank you all in advance for the great support you give in this forum,

I graduated recently and got a job at a studio in Japan, I used mainly Maya during school but here at work I got the opportunity to play a bit with Houdini and I got completely addicted. I've been doing the tutorials and reading this forum for a month or so and I love it. Probably you'll be hearing a lot more of my newbee questions from now on, and hopefully I'll be able to contribute in some way too.

Now, to my question.

How can I create detailed cracks on a voronoi cracked surface?.

I"ve been playing around with destruction and breaking stuff with Voronoi, and what I can't manage to do is to get nice jagged cracks. I have tried the next:

-Playing with the Interior Detail on the Voronoi Fracture node (or fractureParams inside the AutoDop when use Make Breakable from shelf). This daes give me good detail on the inner parts but the cracks on the surface continue to be straight since the noise is not applied there. I also tried changing the clamp noise ramp so the noise whoud reach to the surface but that ends up messing with the original shape.

-I also did the Digital Tutors tutorial on Voronoi fracturing, the last chapter shows how to set up a noise displacement on a fractured surface with VOP material so that the cracks deform in a way they coincide when the pieces are together. I thought this was exactly what I was looking for, except that in the tutorial they deform the complete shape with the noise, and I just want to apply it to the inside and the shape of the crack itself without messing with the surface shape itself.
-> From there I tried to take that example further and use the separate groups that voronoi generates (inside and outside) and apply different material to each other, one that displaces to the inner part and another one that doesn't at the exterior, but doing that was no good either, the displaced part completely renders separated from the outside one.

-As a completely different approach I tried filling up my surface (converting it to a volume so i could fill the inside also) with a lot of points using a scatter, applying Voronoi so i get a huge a mount of little pieces and using the clustering parameters to gather up chunks with nice looking cracks. This approach gives me nice looking cracks sometimes, but it has big cooking times, and the cracks are hard to predict. Also the inside becomes so chunky that it looks like a piece of Styrofoam torn apart.

I ran out of ideas and my lack of experience doesn't help much, so I would gladly appreciate if somebody could help me.

Usually when I see some shot breakdowns with destruction, on the simulation time the pieces have straight edges and the rendered images have nice jagged edges, so my guess is that the second approach of applying some kind of displacement on render time is near to the answer, but can't seem to find out how.

I am attaching the hip file with that I made following said tutorial and the third approach in case I didn't explain myself very clear. The first one has to be rendered to be able to see the displacement (…I'm sure you people know that…)

Thanks in advance, and apologies for the long post.

Attachments:
crackingBall_clusterdChunks.hip (195.0 KB)
crackingBall.hip (496.2 KB)

User Avatar
Member
20 posts
Joined: April 2012
Offline
I skimmed through your post and I think you might want to look at the cluster option of Voronoi fractures. Basically what it does is it combines multiple fractured pieces back together. So what you want to do then is make more fracture points and then use the cluster to combine some of those back into 1 piece, that way you get more detailed fractures.

I dunno if there are other less resource intensive ways though. I'm not that experienced yet with Voronoi's and stuff.
User Avatar
Member
700 posts
Joined: March 2009
Offline
Hi

One thing that might work for you is pre-cutting your geometry with some jagged or noisy planes and then applying voronoy fracture. You'll get some of the detail from the first cutting operation into the result of the voronoi without too much effort.
Another place to look at creative ways of using the voronoy fracture is here:

http://forums.odforce.net/index.php?/topic/8471-eetus-lab/page__pid__94946__st__108&#entry94946 [forums.odforce.net]

Cheers
Toronto - ON
My Houdini playground [renderfarm.tumblr.com]
“As technology advances, the rendering time remains constant.”
User Avatar
Member
512 posts
Joined: July 2009
Offline
One nice trick that Jacob from Image Engine presented on the last VHug meeting is to voronoi fracture a plane, group the edge and the outlining points of the fragments, resample all edges and then apply a noise only to the points that are not in the group you just created. This way you can add detail to the fragments and extrude them afterwards to get depth.

~ Manu
http://vimeo.com/user2522760 [vimeo.com]
http://stormbornvfx.com/ [stormbornvfx.com]
Manuel Tausch
User Avatar
Member
390 posts
Joined: Jan. 2012
Offline
Another way is to displace the edges of the pieces at render time. Theres a nice example of it here -

https://vimeo.com/39110818 [vimeo.com]

A way to approach it is to first try it in a vop sop before trying to do it in shops. So take a fractured wall and add noise to all of the points. Youll quickly find that it destroys the whole shape of the wall, so youll probobly first of all only want noise in the main 2 axes. Then youll find that allthough you have a flat wall, you loose the shape on the edges.. You can use a switch or if vop / shop to check if the points have gone past the boundaries of the wall (look at bbox).

Youll end up with some coplanar geo, but likeley wont notice it in the end. Doing it at rendertime like this, helps alot to cut down on sim times. You really dont want detailed geometry when your simming, and i've found that even clustering can cause problems if one ‘grabs’ onto another.

Just my 2 cents.

zak
.
User Avatar
Member
133 posts
Joined: July 2005
Offline
I tend to prefer using a combination of fracturing.

1. Use a jagged, detailed edge for the hero fractures.
2. Use the voronoi fracture for smaller pieces that will likely be mblurred to high-hell anyways.
3. Use bump maps to give interior faces detail.
4. If bump isn't enough, add displacement.

Ultimately, the beauty of the voronoi is the lightweight geometry, and you don't want to compromise speed for potentially very little payback.
Francisco Rodriguez
Effects Animator | Walt Disney Animation Studios
User Avatar
Member
84 posts
Joined: May 2012
Offline
thank you for all your replies guys,

whythisname:
thanks for the advice but I actually tried that in one of the scene files I attached and as I said it is too unpredictable and cooking times for even a small sphere start incrementing a lot if you wanna get good detail.

rafaels:
Nice advice there and awesome post you shared, thank you very much. Not only for the voronoi stuff but all the stuff on that post looks amazing. I will be trying some of those techniques and see how it goes. That seems really good to break the voronoi pattern, but to get really detailed cracks I would need really detailed meshes and that would increase sim times alot wouldn't it?

Manuel:
Just yerterday I was watching your stuff on Vimeo, you have amazing stuff there! Thanks for the tip, I will look into that, but I understand how I can easily apply that to a plane for lets say a wall… but in case of a sphere or a more complicated figure how would you approach it? Im gonna think on that and see what I can come up with. Thank you

Zak:
I was also watching your home page yerterday.. amazing and inspiring work! Also thank you for the reference video, looks amazing and that's exactly what I'm aiming for, most of breakups like that one have simple blocks on sim and the details on render times. But I also have the same question as Manuel's, I find it easy to think in terms of a wall, but how to do that in a column or a statue where most faces have different direction, thus making it hard to calculate those 2 axis to apply the noise to?

I'll be trying some of the stuff you guys said and thinking on those questions, thank you for your kind answers and if anybody comes ups with a new advice it would be much appreciated. Thanks.


Rolando
User Avatar
Member
512 posts
Joined: July 2009
Offline
robonilla
Manuel:
Just yerterday I was watching your stuff on Vimeo, you have amazing stuff there! Thanks for the tip, I will look into that, but I understand how I can easily apply that to a plane for lets say a wall… but in case of a sphere or a more complicated figure how would you approach it? Im gonna think on that and see what I can come up with. Thank you

glad you like it, unfortunately that stuff is a little outdated, can't show my latest reel due to copyright
As for your question, I never tried it for more complex geometry, but it should be possible considering your object is hollow and you still extrude it inwards after you're done with the fracturing detail. The solution would be the same but you'd have to test the points (that you applied the noise to) if they're inside or outside of the original object and then calculate a vector to the nearest primitive and shoot the point (with a Ray SOP) against it, in order for the point to land on the surface again.

After you extruded inwards you should be able to fill the remaining inner hollow shape with geometry and break that again (this time with standard voronoi, don't need that much detail, it's just a matter of filling the volume with geometry).

In the end it always depends what you need. It could be a combination of the above mentioned techniques. In production, there's never a out of the box solution. Common workflows are to prebreak the geo with custom tools or to simulate with low-res geometry and link high-res fragments back to the lowres. There was a nice introductory tutorial on digital tutors a while ago, if you're not too familiar with voronoi, it's worth checking out !
http://vimeo.com/user2522760 [vimeo.com]
http://stormbornvfx.com/ [stormbornvfx.com]
Manuel Tausch
User Avatar
Member
390 posts
Joined: Jan. 2012
Offline
Another thought, though i've never tried it - just brainstorming, would be to make an inverted sdf of the geo, and translate any points inside that volume along the volumes gradient the distance to its surface. Ill try it out soon and post a hip if i get it working.
.
User Avatar
Member
84 posts
Joined: May 2012
Offline
thanks again people!

fxrod:
Thanks for the advice, that seems a great way to try it… I was just wondering how much of an automated process could you make before doing that. Thanks you.

Manuel:
Thanks again for your help. I did watch the tutorial from Digital Tutors, from there I did the example I uploaded with the displacement on rendering time. I also tried something similar to what you said, not exactly the same. Instead of doing the noise on render time like I did before, I used a vopsop to apply noise to the exterior group after the voronoi fracture, and then a raySop to return those points to their original figure. Still gets some deformations on detailed parts but it gets close. The problem is that I need heavi meshes. I uploaded a picture with that example.

Also following what you said about extruding inwards I also tried it. I broke the geometry with some breakSOP (I could have just used voronoi without the inner surfaces but I was messing with the breakSOP at the moment) but when I extrude inwards and there are small details they tend to explode backwards, so i could only extrude a tiny bit of surface. Also I was wondering how to fill the inner geometry the big chunks. I tried running a small displacement over the normals of the original geometry to make the “fill object” and voronoi it… but the results weren't good. Also.. I have to go home now so I couldn't keep on testing stuff. Will continue tomorrow.

zdimaria:
Hmmm I really have no idea what you just said, going to have to do some research on sdf's before trying anything of that sort. But thanks for the ideas, would love to see if you come up with any sample file.

I'm starting to feel I need to study some more basics before doing this stuff. But is just so freaking fun!

Thank you guys for all the support and I'll continue studying based on some of your advices.

cheers,
Rolando

Attachments:
breakedTeapot_voronoi.jpg (383.9 KB)
breakedTeapot.jpg (356.3 KB)

  • Quick Links