dtarr77 Posted February 24, 2016 Share Posted February 24, 2016 (edited) 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 February 24, 2016 by dtarr77 Quote Link to comment Share on other sites More sharing options...
DennisSchmidt Posted February 24, 2016 Share Posted February 24, 2016 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 Quote Link to comment Share on other sites More sharing options...
dtarr77 Posted February 26, 2016 Author Share Posted February 26, 2016 (edited) 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. Edited February 26, 2016 by dtarr77 Quote Link to comment Share on other sites More sharing options...
ofog Posted February 26, 2016 Share Posted February 26, 2016 Try putting $CEX, $CEY, $CEZ as the pivot in your transform node inside the loop to get each piece to scale from their center. Quote Link to comment Share on other sites More sharing options...
dtarr77 Posted February 27, 2016 Author Share Posted February 27, 2016 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. Quote Link to comment Share on other sites More sharing options...
DennisSchmidt Posted February 27, 2016 Share Posted February 27, 2016 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 1 Quote Link to comment Share on other sites More sharing options...
dtarr77 Posted February 27, 2016 Author Share Posted February 27, 2016 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 Quote Link to comment Share on other sites More sharing options...
rahulpatil Posted September 6, 2016 Share Posted September 6, 2016 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 Quote Link to comment Share on other sites More sharing options...
DennisSchmidt Posted September 6, 2016 Share Posted September 6, 2016 (edited) 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 September 6, 2016 by DennisSchmidt 2 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.