Masoud Posted April 30, 2020 Share Posted April 30, 2020 (edited) Hello; In a particle sim, I would like particles to start to move (at a specified distance) toward an animated sphere and attach to its surface. I tried "POP Attract", "POP steer seek", "POP advect", without success! How can I achieve this particle behavior? Thanks for helping. Attractor_01.hip Edited April 30, 2020 by Masoud Quote Link to comment Share on other sites More sharing options...
Librarian Posted April 30, 2020 Share Posted April 30, 2020 (edited) like this or more directable, yeaa it is manageable. combining from those two DUdes you can build your own asset for particles https://tosinakinwoye.com/2017/01/23/houdini-vex-snippets/ https://www.toadstorm.com/blog/ Edited April 30, 2020 by Librarian 1 Quote Link to comment Share on other sites More sharing options...
Masoud Posted April 30, 2020 Author Share Posted April 30, 2020 Hi "Tesan"; Honestly, I didn't get any useful things from the links you recommended Quote Link to comment Share on other sites More sharing options...
toadstorm Posted April 30, 2020 Share Posted April 30, 2020 POP Attract is unfortunately of pretty limited utility in a lot of situations. It does have a mode to attract to specific points or parametric locations on geometry (similar to the Creep SOP). You just need to provide the goal points to attract to. Scattering a number of points onto the goal sphere equal to your number of particles and giving them an i@id attribute to match with is an easy way to do this. You'll just have to deal with carefully fine-tuning your forces, because POP Attract only modifies the v@force attribute so there will be overshoot. If you want more control, it's not too hard to define the goal yourself in a POP Wrangle and bind it to some other attribute, such as the v@targetv wind force attribute. The VEX is pretty straightforward: // get matching goal point by id int match = idtopoint(1, i@id); // get vector to goal point vector goal = point(1, "P", match); // set targetv (wind force) to move towards goal. // targetv and airresist are the attributes generated by pop wind. vector targetv = (goal - @P) * ch("force_scale"); v@targetv = targetv; f@airresist = ch("air_resistance"); Those two attributes being bound at the end there are special attributes that the POP Wind DOP generates. The POP Solver uses these to define a target velocity and a bias for mixing with other wind forces. This lets you much more directly influence particle behavior. I'm attaching an example of both methods. pop_goal_methods.hiplc 5 Quote Link to comment Share on other sites More sharing options...
Masoud Posted May 1, 2020 Author Share Posted May 1, 2020 Hi, Henry The second one worked for me, very useful tips. Thanks. Quote Link to comment Share on other sites More sharing options...
konstantin magnus Posted May 1, 2020 Share Posted May 1, 2020 Here is a write-up of all particle attributes in case you need them: https://www.sidefx.com/docs/houdini/dopparticles/attributes.html 1 Quote Link to comment Share on other sites More sharing options...
Masoud Posted May 4, 2020 Author Share Posted May 4, 2020 On 5/1/2020 at 4:50 PM, konstantin magnus said: Here is a write-up of all particle attributes in case you need them: https://www.sidefx.com/docs/houdini/dopparticles/attributes.html Thank you! 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.