[Sidefx-houdini-list] POP's: best way to threshold particle emission based on an point attribute

Rangi Sutton rangi.sutton at gmail.com
Mon Nov 15 19:14:13 EST 2010

On 16 November 2010 09:41, Miles Green <Miles.Green at al.com.au> wrote:

> Hi,
>  does anyone have any recommendation's for the best/fastest/most
> efficient way to birth particles from polygons based on a custom point
> attribute?
> the two methods I currently have are;
> 1)  inherit the custom attribute into pops via the source node, then
> follow it with a  kill Node that checks if the custom attribute is under
> a certain threshold
>  - NOTE: this seems wasteful to me as the particles are created and
> then killed
> 2) use a scatter  in sops before the popnetwork to create birth points
> on the poly, and then use a delete Node to delete those points where the
> custom attribute is under a certain threshold
>  - NOTE: this seems slower than solution (1)  above
> I ideally would like to use the custom attribute directly in the popnets
> source node to specify that particles never get created if the custom
> attribute is below a certain value
Personally, I like making the points in SOPs before birthing in POPs.. it
allows you to see the source points while scrubbing in the time line,
without having to sim. Usually I'd add the source velocities here as well,
letting me see those as vectors in the viewport.

Scatter allows you to scatter based on an attribute, which might do you.
However the scatter heaps and cull them back approach is good too.. maybe
you could find a speed up by grouping them in vops then deleting the group?

btw.. use an expression like this for your const birth rate:


To link the number of points being fed in to the number being birthed.

Ah.. I see Peter's suggestion works for you ;)

The custom attribute as a variable probably doesn't work because the varmap
isn't passed through from SOPs to POPs, where as Cd is a standard var.


More information about the Sidefx-houdini-list mailing list