Per particle velocity parameter?

   4806   7   0
User Avatar
Member
398 posts
Joined: July 2005
Offline
Is it possible to set velocity of the POP particles different per particle?
With expression like rand($ID) or to get the velocity value from the attribute?
Seems to be impossible but maybe I do something wrong?
Of course I can assign velocities individually with Velocity POP, but what about Location POP or Source POP?
f = conserve . diffuse . advect . add

fx td @ the mill
User Avatar
Member
4261 posts
Joined: July 2005
Offline
Not quite sure I understand your question.

If you want to override/change the Velocity of each particle the Velocity POP is the POP to use, (or VEX). The Location and Source POPs are mainly generators, although they can set initial velocities based on the source geometry or some expression. If you have a Velocity POP after the Source POP the velocity should be override.
if(coffees<2,round(float),float)
User Avatar
Member
398 posts
Joined: July 2005
Offline
I'm talking about initial velocities of the Source POP and Location POP.
f = conserve . diffuse . advect . add

fx td @ the mill
User Avatar
Member
4261 posts
Joined: July 2005
Offline
You can't use $ID and similar variables on the Generator POPs because those variables don't exist until after the POP is cooked.

If you want to set velocities on particles that were just created then you can make a group for all the particles birthed during the current timestep then limit the Velocity POP to just that Group.

Attachments:
pop.hip.gz (17.4 KB)

if(coffees<2,round(float),float)
User Avatar
Member
398 posts
Joined: July 2005
Offline
Okay. It's impossible. The other one question is how to pickup the primitive attribute from sops in pops?
For example, I have a grid as the source for pop particles. That particles emit from primitive centers. So I can't pick the point attributes (???) and need the primitive attributes. Okay, I have the prim attributes. But how can I use them as parameter of Velocity POP? I don't see something like AttribPromote POP.
f = conserve . diffuse . advect . add

fx td @ the mill
User Avatar
Member
4261 posts
Joined: July 2005
Offline
If you are emitting from Primitive Centers then you can use the origin attribute to determine which primitive the particle was birthed from. Then you can use the prim expression to query the attributes you need.

Attachments:
pop2.hip.gz (18.7 KB)

if(coffees<2,round(float),float)
User Avatar
Member
398 posts
Joined: July 2005
Offline
Hummm… I see nothing in your file :?
But anyway thanks for idea, it works
f = conserve . diffuse . advect . add

fx td @ the mill
User Avatar
Member
4261 posts
Joined: July 2005
Offline
hoknamahn
Hummm… I see nothing in your file :?
But anyway thanks for idea, it works

The popnet is in /obj/model/popnet1

Glad it works.

The help card for the Attribute POP is really handy, it gives a list of all the common attributes/variables and which POP adds them.

hdox/houdini/content/helpcards/pop/attribute.xml
if(coffees<2,round(float),float)
  • Quick Links