RBD emitter
5713 11 2- cpubus
- Member
- 8 posts
- Joined: Jan. 2010
- Offline
How can I get RBD objects to be created from a particle source, and use the instance geometry to do the collisions? I'm trying to make a bunch of objects fall and pile up over time realistically but so far i can only get the particles themselves to collide, and not the instanced geometry. Needless to say this looks horrible in this case. i've tried RBD to point tool on the particles but everything disappears…
- asnowcappedromance
- Member
- 512 posts
- Joined: July 2009
- Offline
- cpubus
- Member
- 8 posts
- Joined: Jan. 2010
- Offline
- cpubus
- Member
- 8 posts
- Joined: Jan. 2010
- Offline
ok so basically you copy the balls to the particles and then put an attribute on the particles to separate them into two groups, and kill off the particles inside the spheres before sending them to the dop network? i dont quite understand the if statement though, where did the attribute for the particles get set to >1?
- asnowcappedromance
- Member
- 512 posts
- Joined: July 2009
- Offline
it's quite simple:
when the attribute $groupchange is created, the default value is set to 0.
As soon as the particle's life reaches a certain value, the default value get's overwritten by the current frame.
>1 makes sure the particle's attribute has been replaced by the frame and
$F == $GROUPCHANGE + 1 is set so the particles gets killed exactly 1 frame after they enter the group.
Try not to delete them and you will see in the DOP network you get every frame a new copy for each object, so deleting them this way is really necessary!
regards,
Manu
when the attribute $groupchange is created, the default value is set to 0.
As soon as the particle's life reaches a certain value, the default value get's overwritten by the current frame.
>1 makes sure the particle's attribute has been replaced by the frame and
$F == $GROUPCHANGE + 1 is set so the particles gets killed exactly 1 frame after they enter the group.
Try not to delete them and you will see in the DOP network you get every frame a new copy for each object, so deleting them this way is really necessary!
regards,
Manu
- mabulazm
- Member
- 12 posts
- Joined: Dec. 2008
- Offline
- asnowcappedromance
- Member
- 512 posts
- Joined: July 2009
- Offline
- mabulazm
- Member
- 12 posts
- Joined: Dec. 2008
- Offline
- cpubus
- Member
- 8 posts
- Joined: Jan. 2010
- Offline
- cpubus
- Member
- 8 posts
- Joined: Jan. 2010
- Offline
- asnowcappedromance
- Member
- 512 posts
- Joined: July 2009
- Offline
I set the expression to
if($LIFE >= .32 && $LIFE < .33, $FF, $GROUPCHANGE)
because strangely $LIFE == .32 didn't work! (don't know why!)
try for yourself
Another approach for this would be to create a plane in the scene and
add a collision node in the POPNET. Then you could create an Attribute called “Hit time” which would give you also the frame number each time the particles collide with the plane.
if($LIFE >= .32 && $LIFE < .33, $FF, $GROUPCHANGE)
because strangely $LIFE == .32 didn't work! (don't know why!)
try for yourself
Another approach for this would be to create a plane in the scene and
add a collision node in the POPNET. Then you could create an Attribute called “Hit time” which would give you also the frame number each time the particles collide with the plane.
- cpubus
- Member
- 8 posts
- Joined: Jan. 2010
- Offline
-
- Quick Links