Exploding wood

   7293   8   1
User Avatar
Member
230 posts
Joined: 10月 2009
Offline
http://www.youtube.com/watch?v=3sQnyrlX5vQ [youtube.com]

this is making of video is from the Pirates of the Caribbean (DD) and in 0:53 you can see the effect that I'm interesting on. Wood explosion!

I know that I can take long shatter pieces to look like wood by scaling down the geometry before the shattering and reverse the scaling after and I can use magnet force to explode it.
Here is a test I did last summer on that http://vimeo.com/28620811 [vimeo.com]

But in order to achieve a realistic look I need to use very high number of pieces and clustering and this makes DOP almost impossible to manipulate so many small details on every wood piece.

I would like to get ideas, opinions or advises how can achieve this effect in a real production. Do you thing I have to go with pops or dops. Do I have to do different layers of simulation, one for the big pieces, another for the small, at the top debris and dust or put all of them together for better interaction between them. How much can I cheat and how, I guess motion blur is gonna help me to hide some intersections but from the other hand there will not be much of motion blur as the explosion will be in slow motion.

Any idea or example file will be much appreciated.
User Avatar
Member
54 posts
Joined: 8月 2011
Offline
Make small wood pieces with particles (instance geometry)
User Avatar
Member
230 posts
Joined: 10月 2009
Offline
Make small wood pieces with particles (instance geometry)

@toms993 thanks for your reply, what I didn't mention is that the explosion happens in front of the camera, all these small pieces should coming from the same geometry as the big pieces. The geometry which has to self exploded is the wooden garden-table.
User Avatar
Member
230 posts
Joined: 10月 2009
Offline
ok, it seems my topic is either boring or a tricky one I can really use any help right now. In the mid time I came with an idea my self and I need you opition and some help to bring it to life.

What if I shatter the geometry in a way which will gonna give me different sized wooden-look chunks (long and detailed). Then using foreach sop I will calculate the volume of each piece and the small one will go to POPs and the big ones to DOPs. This way I will have proper and easier to calculate collision with DOPs on the bigger chunks which are more visible. From the other side Im gonna have the small chucks controlled by POPs which will give me less accurate collision but because of their small size this problem may be invisible and the simulation will be much faster. Then I could add a debris (splinter) layer of simulation and dust. of course all these simulation will be calculated and rendered separately.

Well if this idea make sense to you, I need your help in order seperate the piece in two groups based on their volume. I have attached a hip file which has already the setup which calculates the volume for each piece but I have no idea how to do the grouping. How can I have in the details view all the pieces and their volume in the next column? How can I access these attributes, and do the grouping based on: if piece greater or equal to 0.1 go to group BIG, if less than go to group SMALL. Please help.

Attachments:
wood_explosion.hip (222.5 KB)

User Avatar
Member
330 posts
Joined: 7月 2007
Offline
hi ,

i just finished something which seems basically similar with your case and what you described above .

in my case , an old paint layer wd slowly leave the surface piece by piece . what i used in my case was just applying a voronoi fracture . then , slowly propagating an attribute , which defined ‘which piece wd fly first ’ .

those prims who passed a certain threshold value were captured inside a Group . after that , i applied i ForEach SOP to further split with voronoi , to only those who were in the group .

the same ‘procedure’ was applied again down the flow in order to split again the pieces which had already left the surface . a greater threshold of the same attribute was used to ‘select’ those .

manipulating the attribute's falloff and changing speed gave me a lot of control . pieces were driven by a simple Particle Sop .

i worked only in Sop context ( ESCAPE user ) and the performance was decent . indeed that was the first reason i went this way . so i cannot help in Dop-Land .. .

regarding the wood ‘s chunks ; applying a transform to stretch the Scattered points in the direction of wood ’s fibers , should be good imho .



well , in the end , explosion is something which happens a lot faster than my animation in case , but .. just sharing .



.cheers
except the things that cannot be seen , nothing is like it seems .
User Avatar
Member
230 posts
Joined: 10月 2009
Offline
@zarti thanks for your reply,

well , in the end , explosion is something which happens a lot faster than my animation in case , but .. just sharing .

yell explosion indeed happens fast but as I mention in my fist post the shop will be in slow motion, so there is so much space to hide imperfections.

regarding the wood ‘s chunks ; applying a transform to stretch the Scattered points in the direction of wood ’s fibers , should be good imho .

if you open the attached hip file, you will see that this is the technique that I am using

those prims who passed a certain threshold value were captured inside a Group . after that , i applied i ForEach SOP to further split with voronoi , to only those who were in the group .

hmm, I had a problem with that. I had an initial voronoi fracture (lets say I got 12 pieces) and then I used delete sop to delete one piece-group from the one side of the network and then another delete sop to delete non-selected of the same piece, then I use voronoi fracture to this one piece (13 new pieces), but when I merged everything at the end to get all the pieces, I should have had 12-1 + 13 = 24 pieces and points but I had 12 again. Same happend when I passed more pieces to foreach for further fracturing as you did. How you get all the pieces and point which later use in pops? Can you show me how you did it in the hip which I have attached in this post, I have done the basic setup.

cheers

Attachments:
wood_fracturing.hip (159.3 KB)

User Avatar
Member
330 posts
Joined: 7月 2007
Offline
here you have a quick and pretty simplified version of it .

pardon if couldnt elaborate your geo , but the laptop im actually testing is modest at max .

Attachments:
wood_fracturingz_118.hipnc (226.7 KB)

except the things that cannot be seen , nothing is like it seems .
User Avatar
Member
230 posts
Joined: 10月 2009
Offline
Im going to have a look right now, thank you very much for your time spend doing that. I may be back with more questions
User Avatar
Member
230 posts
Joined: 10月 2009
Offline
@zarti your example is very useful thanks again for that.

Also I just managed to create groups based on size of each piece. I passed all the pieces from the voronoi fracture to Foreach sop with Group Mask: piece* and inside there I had to calculate the volume for each piece using Measure sop with Type: Volume followed by an Attribpromote sop with Original Name: volume, Original Class: Primitive, New Class: Detail and Promote Method: Sum My problem was to use the volume attribute inside the Filter Expression in the Group sop, $VOLUME was given an error, but the solution came with the detail() expression detail(“../attribpromote1”,“volume”, 0). This was just a small step forward, I wanted to mention it in case someone else face the same problem in the future.
  • Quick Links