Basically I would like to know if there exists a way in Houdini to apply attribute changes to each particle as they are created.
For example, if you are familiar with Maya particles then you know Maya lets the user do this by writing a creation expression. Using this I can isolate each point on a geometry emitter (for example a simple grid) by testing for $ID % pCount == pNumber. Where pCount is the number of points on the emitter, and pNumber is the point on the emitter I want to isolate, from 0 to pCount-1. If true then I set the velocity for that particle to (0, 1, 0) and if false I set its life to 0.
Thus I can achieve this sort of effect:
and by using a for loop I can randomize emitters for the whole grid.
I tried to do this in Houdini, and so far have only been able to get it going for one point, by using a group node to group particles in this way.
Any help would be cool, and if what I wrote doesn't make sense, let me know.
Thanks!
Houdini particle question
9843 3 1- dsierra
- Member
- 26 posts
- Joined: April 2012
- Offline
- edward
- Member
- 7734 posts
- Joined: July 2005
- Offline
I think you need to familiarize yourself with the basics.
If you're just talking about emitters, then you can just tell the Source POP to generate a birth group for you to use without expressions. You can also control the velocity they get birthed with using that node (Attributes tab) and their variance.
- http://www.sidefx.com/docs/houdini12.0/nodes/pop/source [sidefx.com]
If you want to randomize particle attributes, then this page can help:
- http://www.sidefx.com/docs/houdini12.0/particles/tips [sidefx.com]
You can use the expressions on the Rule parameter of the Group SOP for example.
For some more general particle tutorials, try here:
- http://sites.google.com/site/pqhoudinitutorial/home/videos-on-particles [sites.google.com]
(Note that I've never watched them personally but people on the forum rave about the tutorials on that site)
If you're just talking about emitters, then you can just tell the Source POP to generate a birth group for you to use without expressions. You can also control the velocity they get birthed with using that node (Attributes tab) and their variance.
- http://www.sidefx.com/docs/houdini12.0/nodes/pop/source [sidefx.com]
If you want to randomize particle attributes, then this page can help:
- http://www.sidefx.com/docs/houdini12.0/particles/tips [sidefx.com]
You can use the expressions on the Rule parameter of the Group SOP for example.
For some more general particle tutorials, try here:
- http://sites.google.com/site/pqhoudinitutorial/home/videos-on-particles [sites.google.com]
(Note that I've never watched them personally but people on the forum rave about the tutorials on that site)
- old_school
- Staff
- 2540 posts
- Joined: July 2005
- Offline
Most of Maya's creation expressions and techniques can be replicated in Houdini by pre-processing the geometry that gets fed in to the Particle system with SOPs, not “in” the particle system itself (Source POP).
For most particle systems where you just want a continuous random stream of particles with no pre-conditions, the Source POP is adequate. If your source geometry requires a great deal of finesse, I personally don't rely on the Source POP at all and prefer to use the Instantaneous particle birthing mode and force feed the points “I” want to birth at each time step using SOPs to create the initial points.
Many times in Houdini you will pre-process the geometry with expressions and modify any and all point attributes. All point attributes by default will be inherited by the Particle system and you can do with them what you will.
The way to cull source particles feeding the Source POP is to use a Delete or Blast SOP on the points feeding the particle system.
In the Source POP, if you want the exact points at the current frame to be birthed, you would set Constant Activation (particle rate per second) to 0 and set Impulse Activation to 1 (particles per timestep).
For Impulse Rate, use the Source POP local variable $NPT to return the number of points present on the SOP supplying the points. See the help for the Source POP for all supported local variables.
You can use the Birth Probability min and max parameters to do additional random culling but it is quite limited. Currently it only uses the colour attribute reliably which is $CR, $CG or $CB.
See the attached example file and read the sticky notes.
—-
This technique of pre-filtering and pre-culling the geometry prior to birthing particles is used in many cases. Spray on water where you use various SOPs to create the logic to isolate areas for spray by scattering points directly and then using the Source POP's impulse birthing with birth rate set to $NPT is the way to go.
—-
The only feature I can think of that isn't supported is the ability to birth scattered points weighted by a supplied texture map in the Source POP then use either red, green, blue or luminance to birth points from.
In Houdini right now you have to pre-scatter points on the geometry surfaces, colour them, cull them and then birth from that. When dealing with millions of points, you have to create tens of millions and then cull down. Not the most efficient method to birth by texture map.
It's an existing RFE but you can always lend a voice and submit it to Support as well if you deem this a necessary feature.
For most particle systems where you just want a continuous random stream of particles with no pre-conditions, the Source POP is adequate. If your source geometry requires a great deal of finesse, I personally don't rely on the Source POP at all and prefer to use the Instantaneous particle birthing mode and force feed the points “I” want to birth at each time step using SOPs to create the initial points.
Many times in Houdini you will pre-process the geometry with expressions and modify any and all point attributes. All point attributes by default will be inherited by the Particle system and you can do with them what you will.
The way to cull source particles feeding the Source POP is to use a Delete or Blast SOP on the points feeding the particle system.
In the Source POP, if you want the exact points at the current frame to be birthed, you would set Constant Activation (particle rate per second) to 0 and set Impulse Activation to 1 (particles per timestep).
For Impulse Rate, use the Source POP local variable $NPT to return the number of points present on the SOP supplying the points. See the help for the Source POP for all supported local variables.
You can use the Birth Probability min and max parameters to do additional random culling but it is quite limited. Currently it only uses the colour attribute reliably which is $CR, $CG or $CB.
See the attached example file and read the sticky notes.
—-
This technique of pre-filtering and pre-culling the geometry prior to birthing particles is used in many cases. Spray on water where you use various SOPs to create the logic to isolate areas for spray by scattering points directly and then using the Source POP's impulse birthing with birth rate set to $NPT is the way to go.
—-
The only feature I can think of that isn't supported is the ability to birth scattered points weighted by a supplied texture map in the Source POP then use either red, green, blue or luminance to birth points from.
In Houdini right now you have to pre-scatter points on the geometry surfaces, colour them, cull them and then birth from that. When dealing with millions of points, you have to create tens of millions and then cull down. Not the most efficient method to birth by texture map.
It's an existing RFE but you can always lend a voice and submit it to Support as well if you deem this a necessary feature.
There's at least one school like the old school!
- dsierra
- Member
- 26 posts
- Joined: April 2012
- Offline
-
- Quick Links