Jump to content

need some help with POPS @impulseactiveate by expression or attribute

Recommended Posts

I am creating a carpet bombing simulation based upon the beach napalm scene in Apocalypse now. I am setting up sources for pyro and particles and using a POP network to simulate the white phosphorous fuse and white smoke as the initial layer of the effect but I have run into a hurdle with the impulse activation.

I have created spheres with animated noise and copied to points along a line.

What i want is to cascade the activation of each sphere along the line as though the bombs are hitting the ground at different times.

I originally thought of animating a separate sphere along the line, applying a color value of 1 and using attribute transfer to the source points which have a colour value of 0 and then setting the impulseactiveate value (sic mispelt but correct as per houdini tooltip) via a POP wrangle in line after the POP source referencing the Cd.x of the source points but this did not seem to work.

@impulseactivate = @Cd.x;

Maybe i have made an error as my vex knowledge and POPs knowledge is as a student very new.

The only other method i can think of is to create a group for each sphere and then run a separate POP network for each sphere and keyframe the activation.


This is very time consuming and I was wondering if someone would be kind enough to offer some advice on how to achieve what I need.

Edited by Freddo1083

Share this post

Link to post
Share on other sites

Steven Knipping covers a similar "bombing / shooting" scene in Houdini. I'm guessing if I want to activate something when it hits the ground I'd set up a particle sim from the source (example : airplane), set up Impulse Activation in POP Source to @Frame== 4 && @Frame==6 and so on, meaning it will only spawn on frame 4 AND frame 6, so that way you can set up many things and trigger the activation.

I would only emit one particle on the frames you set up on the source. Use the @hit attribute in the POP Solver to isolate that point when it hits the ground (you need POP Collision Detect / Behaviour & Enable Collision Detection ticked on the POP Solver) which you would do with a Delete SOP and an expression using hitnum attribute.

After that you can use Copy to points SOP and use these collided particles which only appear on one frame when they hit the ground, copy a source geometry onto these points, turn them into a volume and use that as an emitter for your Pyro Sim.

To be completely honest with you I couldn't really pick up what exactly you're going for here so I figured I'd just describe what I would do if I needed to simulate a carpet bombing scene.

Let me know if you want me to clarify any part of the description.

Share this post

Link to post
Share on other sites

I took a different approach and found a solution. Sorry for the confusing explanation and thanks for your reply.

I was avoiding simulating the bombs actually dropping because of limited timeframe so I was looking for a way to fake it by sequentially activating sources.

My solution was to animate a box though each blast site and use boolean intersect so that the geometry source for each bomb blast was only present when intersected with the box. This allowed sequential activation of each site with a delay and was much simpler than what i was trying to do.

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now