Jump to content

Rising wax from candle

Recommended Posts

Hi guys,


I have a couple of issues with my project.


What I want to accomplish is wax rising from a candle in interrupted streams and it has to be able to loop every 10 seconds.


The first issue that I'm having is that the particles that I don't want anymore, are not being killed by the POP Kill.

I want to kill particles that are older than 3 seconds and barely move anymore.

As you will see in the .hiplc, I am first grouping particles that are older than 3 seconds.

Then from that group, I group the particles that have a velocity length of lower than 0.5.

This is to prevent getting these very long and thin streams of wax.

I would like to have shorter streams as those that I get at the start of each stream and that they then just cut loose from the candle instead of these constant streams.


I had found this thread in which they mention to put an * in one of the group nodes.

I did that on my initial group node, as I source from other groups down the line, but that didn't help.



My second issue is that I would like to get different velocities for the different streams of wax.

I'm not quite sure how I could assign multiple velocities to groups of particles within the same simulation.

I currently set the gravity in the positive direction, but I'm guessing I'm going to need something else eventually.


Or should I just create particle simulation for each stream of wax?



Thanks in advance!




Share this post

Link to post
Share on other sites

Is there a way to calculate the amount of particles in sperated group of particles?


I'd like to make it so that drops of fluid with less particles travel faster than drops with more particles.

Edited by Eckxter

Share this post

Link to post
Share on other sites

Hi Eckhart!

I took a quick look into your scene. Did some changes (in green).


Since we are doing everything in particle level instead of fields it quite slow. A good thing would be to try doing all that using fields instead(But that is a different subject)

Anyhow there is a sticker in the scene saying this:

For the killing:
have a look into pop-kill
Add an if-statement instead
or you can set the dead attribute to 1 instead :)
for the gorup thingy you could go with the npointsgroup() -VEX expression to find out the nr of points in a group
use a pop drag or a popspeed_limit or a nvel field to adjust the speed of your groups
*Edit- The file ofc :P


Edited by Hudson

Share this post

Link to post
Share on other sites

Hi Huds


Thanks a lot for the response! Much appreciated.


Yeah I started to get the feeling that POPs wasn't really the way to go.


For the grouping, I'm not sure if I explained it properly.

The thing I would like to get is calculate the amount of particles in a separated bunch of particles.

Imagine a large body of fluid particles and now and then a bunch of particles rise up and detach from it, creating smaller bodies of fluid.

What I'd like to put together is something that would detect each of these bunch of particles and tell me the amount of particles that each body of fluid has.
So I suppose basically the mass of each of them.
Then each particle of its fluid body would get the mass assigned to it, which I would use to control its velocity.

With that same attribute I could drive a color value so that each fluid body has a different color.


I hope that's a bit clear.


I tried something with density field, but that got me nowhere.
I'm kind of in the dark on the area of fields and gas solvers, for that matter...  :(

More and more I feel the need to understand how to work with GAS solvers and fields.



Also, I have changed some things and managed to get rid of the need for killing the particles.
But thanks anyway for the help there! ^^


I've put my most recent file in attachment.
The candle is still the one form my first post.





Share this post

Link to post
Share on other sites

Well, I have to say that the effect you want to achieve is of high complexity and time consuming. If you want to do it all procedurally you will have to think about the fact that the grouping happens every frame. So you will get a bit of jittering. When does a particle belong to a group or another. So an easier way to go would be to actually pre-define the grouping of these particles when they are emitted. Anyhow This would need a bit of testing from my end if you can't find in the forum someone who has done something similar. I am afraid I won't have the time to do that just now. Maybe in the week-end. We will see :)

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