Jump to content
dtarr77

How to create a dissolving effect on fracture pieces

Recommended Posts

Hello,

 

I am working on a project helping a friend where I have a fractured character/object (made of a cloth like material) that is basically disintegrating and blowing away using the spring SOP with help from a CMIVFX Tutorial

 

 

The only issue is that I need the pieces to dissolve away to nothing as well.  I figured the "foreach" node (with a transform node shrinking as time passes with $FF) would be the way to go, but I am still learning Houdini and VEX expressions, and despite any research, I have not been able to really understand how to get it to do what I want.  The foreach node still kind of confuses me at the moment.  How can I get each piece to shrink way over time to nothing?  Thank you in advance for any help.

 

Thanks,

Dustin

Edited by dtarr77

Share this post


Link to post
Share on other sites

Scaling down by time could be done with the following expression:

fit($F, 1, 25, 1, 0)

You remap frame 1-25 to 1 and 0. Just put this expression in the scaling of your transform(which is in your foreach node).

As for the effect of disintegrating it isn't the most elegant solution. I would rather go with particles "eating" away the geo. There are plenty of tutorials on that effect online.
If you need some more info on how to do the scaling by time with the foreach node don't hesitate to ask.

Hope That helps.

 

Dennis
 

Share this post


Link to post
Share on other sites

Hey Dennis,

Thank you so much for replying and the expression.  That expression helps, but the biggest issue I am having now is that it scales the fractured geometry as a whole to its centroid point (which is near its base) instead of each individual piece getting smaller to its own centroid point.  It is more than likely that I am not setting up the foreach node correctly since I am very new to it.  I tried both the foreach subnetwork and loop versions.  I figured Loop was not the one I needed, but tried it anyway and it does the same thing in this case. 

 

I do actually have particles within the effects working, but the director of the short film this is for, wants to have disintegrating pieces of the object/creature (kind of made of a cloth-like material) as well.  I tried copying some distorted grids to the particles, but I have not liked the way that has worked out so far.  Orientation has been an issue there, so I figured that the fractured object with spring sop would be a quicker, more efficient way within the timeline I have. (could be wrong)

 

Unfortunately, I cannot put up a file since it is for a short film, but I have attached pictures of my node graph that I hope will maybe help.  Any suggestions? I appreciate the help, Dennis.

post-15049-0-93190400-1456452361_thumb.p

post-15049-0-37618200-1456452377_thumb.p

Edited by dtarr77

Share this post


Link to post
Share on other sites

Try putting $CEX, $CEY, $CEZ as the pivot in your transform node inside the loop to get each piece to scale from their center.

Share this post


Link to post
Share on other sites

Hi ofog,

 

Thanks for replying.  I have tried the Centroid equation in Pivot.  Sadly, this just put the center point to the centroid of the entire geometry as well.  So the whole object shrinks to it's center while it is disintegrating instead of each piece shrinking.  It doesn't seem to be picking up the fact that there are pieces, only one big object.  I have tried messing with the different foreach methods but none seem to make much of a difference, but I do not know if I need to set something up in advance for those aside from the group option.  I will try to set up a simple proxy scene with a sphere with similar settings maybe so that I can put up a file.

 

 

Share this post


Link to post
Share on other sites

Centering the pivot as ofog mentioned should work. Although i think that you are not looping through every single piece. Once you go inside your foreach-subnet you should only see one of your pieces(first part of the loop). What might help is adding a name attribute for every piece. You could do that with the assemble sop. Now you can change your foreach to "Each Attribute Value" and set the attribute to name. I quickly created a testscene just in case it's still unclear.
Hope that helps.

 

Dennis

scaleOverTime_v01.hipnc

  • Like 1

Share this post


Link to post
Share on other sites

Hey Dennis,

 

The Assemble node is exactly what it was needing.  Also, after looking at your sample file, I was putting in the name "pieces" in the foreach node instead of the actual attribute ("name").  I knew it was probably some small thing I was not realizing was wrong with setting the foreach node up.  I really appreciate the help Dennis.  The spring sop is still acting funny, but I am sure that just needs some parameter tweaking to get right.  That file was a huge help in actually seeing how it should be set up.  Thank you very much to both of you for your help. 

 

Dustin

Share this post


Link to post
Share on other sites

hi  Dennis ,

 

              what if i want to scale down shards once they are activated. want to scale down by individual life , currently they all are scaling down by same frame. i wanted some variation as well while scaling down.

what should i do? i am new to houdini. looking forward for your reply

Share this post


Link to post
Share on other sites

Just use your life attribute instead of the frame. Take a look at the transform node inside the foreach:

fit($F, 1, 25, 1, 0)

For example, just change it to:

fit(@age, 1, 25, 1, 0)

 

Take a look at the attached file if necessary. Don't get confused about the wrangle before the foreach. It's just there to create an age attribute to demonstrate it better. Feel free to ask if you get stuck.

scaleOverTime_v02.hipnc

Edited by DennisSchmidt
  • Like 2

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

×