BenWall Posted July 14, 2019 Share Posted July 14, 2019 (edited) Hi, I'm a beginner in Houdini learning alone with tutorials, I need some insights about POP. What I'm trying to achieve: I want to reproduce this effect, but slower: Basicaly, I have a polyline forming a shape, I scale each primitive in a foreach loop with x iterations. Each iteration go through a DOP Network with a different seed based on the index of the polyline in the for loop. The DOP Network move points with a curlNoise, I then create a trail. The screenshot shows the effect on a single instance. Questions: 1/ I can't access the Birth Parameters on the POP Source node. From the help, it seems "Impulse Activation" at anything but 0 to be able to access those settings, but it's greyed out. Am I missing something? (It's greyed out even if I input "1" and not an expression.) 2/ To get a lower number of points, I used an Impute Activation of (($F%20)-1)*-1 == 1 point every 20 frames. The problem is that now, the DOP network does not begin before $F=20. Is there any other way to tell POP not to birth points every frames while being able to choose the first birth frame? 3/ I want each point created in DOP to keep as an attribute his original position (when his age was 0), and I want each new point to keep @ptnum of the source point as an attribute. How can I do that in DOP? Thanks! Edited July 14, 2019 by BenWall Quote Link to comment Share on other sites More sharing options...
char Posted July 17, 2019 Share Posted July 17, 2019 1. You need to change the Source type to be Points or All Geometry I think, it's greyed out due to the settings you're using. 2. You'll get that option if you change the source type I believe, I'm not sure what you're trying to achieve with "not every frame while being able to choose the first birth frame", maybe explain a bit more and I'll try and help! 3. You can get the birth frame position by using POP / Geometry Wrangle inside your POP net and just isolate the particle by checking if it was alive on the previous frame and then store that position onto an attribute by choice only for that frame. Quote Link to comment Share on other sites More sharing options...
BenWall Posted July 17, 2019 Author Share Posted July 17, 2019 Thanks for your answer! 1. Yep! I changed it from "All points" to "Points", now it works. Thanks! 2. 2 hours ago, char said: 2. You'll get that option if you change the source type I believe, I'm not sure what you're trying to achieve with "not every frame while being able to choose the first birth frame", maybe explain a bit more and I'll try and help! I had this problem because I used a modulo 20 on the impulse activation (meaning particles would only birth once every 20f begining on F20). It looks like a pretty sloppy technique to me. What I'm trying to achieve is to birth 1 particule from each point every nth frame. 3. I figured it out earlier with a pointVop inside a solver (if age == 1 on previous frame, I bind export the attributes from the previous frame). Quote Link to comment Share on other sites More sharing options...
char Posted July 17, 2019 Share Posted July 17, 2019 Great, glad it worked. What I'm thinking now if you have Impulse emission, it will spawn a number of points each time it cooks, so essentially every frame. Somehow if you could add an attribute which would be the point number from where the particle spawned. Check if that point number exists on more than one particle spawned meaning there is more than 1 point spawning and delete the excessive points you won't want to use? https://www.sidefx.com/forum/topic/18697/?page=1#post-87850 have a bit of a read in this topic, maybe you can find anything, I'm at work at the moment so I'm a bit constrained to what I can do for you unfortunately! Quote Link to comment Share on other sites More sharing options...
BenWall Posted July 18, 2019 Author Share Posted July 18, 2019 Great idea there, but to get the source @ptnum I would need to connect a Wrangle or VOP with Pop Source as input 0 and Pop Object as Input 1, and Houdini does not seems to let me do that (Connection to input 0 is the wrong type). The Impulse Activation and globally the Birth pannel is completly incomprehensible to me, even after seeing a few tutorials. I think I'm going to do a lot more tutorials before trying to achieve something by myself with POP Solver. Quote Link to comment Share on other sites More sharing options...
char Posted July 18, 2019 Share Posted July 18, 2019 Not really, I think you can add a SOP solver in your simulation, combine the two with a Multi solver, then use object merge to bring the source geometry into the sop solver and do your further calculations there, just an idea. The Source is pretty intuitive if you dive into the documentations a bit : quote: Impulse creates a certain number of particles each time the node cooks. Constant creates a certain number of particles per second. Quote Link to comment Share on other sites More sharing options...
BenWall Posted July 19, 2019 Author Share Posted July 19, 2019 (edited) 22 hours ago, char said: quote: Impulse creates a certain number of particles each time the node cooks. Constant creates a certain number of particles per second. I understood how to control POP with "All Points" source (Impulse Activation = (($FF+ ch("../frequency") + ch("../frame_start"))% ch("../frequency") -1) *-1 ), but "Points" seems totaly ranom to me Setup with an animated source containing 10 points, I want to create 10 points per frame (10*25 per second at 25fps): New particles don't create over the array of my original points, they seem to chose completly randomly where they will be placed. It seems some particles are created on top of each other. I will use "All points" for this project, but if you have any idea how to make the "Points" setup less random, I'd love to hear it! Edited July 19, 2019 by BenWall 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.