particles update... (22/02/2004)

User-contributed CVS development builds. Please test and give feedback!

Moderators: jesterKing, stiv

leon
Posts: 103
Joined: Mon Oct 20, 2003 7:14 am

Postby leon » Tue Feb 24, 2004 4:08 am

hi money yay,

yup, if you make a change to a deflector or gravity setting you have to click "recalc all" on the particle effect itself.

In fact I don't think it's a bug, it's actually quite a good thing! If you are working with 50,000 or 100,000 particles, you really don't want it recalculating every time you make a change to a deflector or gravity setting (since you'd have to wait a few minutes each time!).

On the particle mesh with own gravity / weight - can't you just use the "force" settings? Those are the three values (x,y,z) at the bottom left of the particle effect window.

Or do you mean let gravity affect the actual emitter itself? This I probably won't do (it's something for a complete dynamics system rather than a particle system).

BTW, one thing that people can do to help me track down remaining bugs (i.e. leaking, incorrect deflection etc) is this: make an example blend showing the problem, but using an emitter with only 1 particle.... I can then track down what's happening far more quickly (if I have to work out which particle out of 1000 is the problem, it's almost impossible!).

cheers

leon

Money_YaY!
Posts: 876
Joined: Wed Oct 23, 2002 2:47 pm

Postby Money_YaY! » Tue Feb 24, 2004 5:01 am

ok then, how about each particule act as an object that can have deflect on them. It does not need gravity just have each other push each other. Just as an option. Like if you use dupliverts ball or cube.

leon
Posts: 103
Joined: Mon Oct 20, 2003 7:14 am

Postby leon » Tue Feb 24, 2004 8:24 am

there are a couple of problems: firstly, the way particles are calculated at the moment, it calculates the particles complete trajectory one particle at a time - i.e. it calculates particle 1's trajectory for frames 1-100, then particle 2's for 1 -100 and so on...

This means you can't easily calculate collisions between particles - and recoding to allow it might be really difficult.

Secondly, even if I can rewire the code, it's really going to increase computation time (since I have to compare every particle with all the others). Lets say I have 1000 particles (with 32 keys) and 1 deflector with 1 face - I only have to do one check per particle per key at the moment - so 32,000 checks.

If you want to check for particle - particle collisions instead (with 1000 particles and 32 keys again), I have to do about 16 million collision checks (if I'm doing my maths right!). And if you have 5000 particles, you're up to about 400 million checks!!!

Ok, so the maths could be simpler if I assume each particle is a sphere, and I guess there might be tricks to get around this, but it's still an awful lot of processing time! If anyone has ideas to get around any of this, please let me know!!!!

keep the ideas coming though!

cheers

leon

Money_YaY!
Posts: 876
Joined: Wed Oct 23, 2002 2:47 pm

Postby Money_YaY! » Tue Feb 24, 2004 1:43 pm

so basicly it is just a job for ODE or solid game engine . As in either game engine relly needs to be intergrated into Blenders animation engine for the constant collision detection.

Is it to difficult to splice one of the games engines into Blender for all of this ?

solmax
Posts: 309
Joined: Fri Oct 18, 2002 2:47 am
Contact:

Postby solmax » Fri Feb 27, 2004 2:15 pm

leon wrote:But if I do remember right, you can set keys on material settings by pressing "I" while the cursor is in the material window (and you can choose alpha to affect the transparency).

If the material is used for particles, the IPO keys for frames 1-100 will be mapped to the lifetime of the particle. Do a quick search on Elysiun, you should find some tutorials on this...


unfortunately this doesn't work - material IPO's don't seem to be mapped to particle life. setting alpha keys affects all particles at the same time globally.. saaad :(

could this be fixed? this would be really amazing!!!

best regards

marin

Mel_Q
Posts: 58
Joined: Wed Oct 16, 2002 12:00 am

Postby Mel_Q » Fri Feb 27, 2004 3:33 pm

solmax wrote:
leon wrote:But if I do remember right, you can set keys on material settings by pressing "I" while the cursor is in the material window (and you can choose alpha to affect the transparency).

If the material is used for particles, the IPO keys for frames 1-100 will be mapped to the lifetime of the particle. Do a quick search on Elysiun, you should find some tutorials on this...


unfortunately this doesn't work - material IPO's don't seem to be mapped to particle life. setting alpha keys affects all particles at the same time globally.. saaad :(

could this be fixed? this would be really amazing!!!

best regards

marin



Works great on mine- the only thing I've never been able to map that way is the texture- color, halo-size, alpha- .etc all work as described. AFAIK- the texture settings in the materials window have never worked with the particles life (I think that would make some killer smoke with a xyz-offset ipo- but the particles all have the same texture settings)

theeth
Posts: 1184
Joined: Wed Oct 16, 2002 5:47 am
Location: Montreal
Contact:

Postby theeth » Fri Feb 27, 2004 3:34 pm

I just did a quick test and the material mapping to the particles life works perfectly. Doesn't work when using dupliverts though.

Martin
Life is what happens to you when you're busy making other plans.
- John Lennon

solmax
Posts: 309
Joined: Fri Oct 18, 2002 2:47 am
Contact:

Postby solmax » Fri Feb 27, 2004 3:51 pm

Doesn't work when using dupliverts though.


thanks martin, this is the solution for the mystery - i only tried with dupliverts. could this be fixed somehow :) ?

greets

marin

Eric
Posts: 192
Joined: Wed Oct 16, 2002 1:01 pm
Location: Sweden, Norrköping

Postby Eric » Fri Feb 27, 2004 3:58 pm

solmax wrote:
leon wrote:But if I do remember right, you can set keys on material settings by pressing "I" while the cursor is in the material window (and you can choose alpha to affect the transparency).

If the material is used for particles, the IPO keys for frames 1-100 will be mapped to the lifetime of the particle. Do a quick search on Elysiun, you should find some tutorials on this...


unfortunately this doesn't work - material IPO's don't seem to be mapped to particle life. setting alpha keys affects all particles at the same time globally.. saaad :(

could this be fixed? this would be really amazing!!!

best regards

marin


You're wrong.

http://www.vrotvrot.com/xoom/tutorials/ ... elder.html

solmax
Posts: 309
Joined: Fri Oct 18, 2002 2:47 am
Contact:

Postby solmax » Fri Feb 27, 2004 4:05 pm

You're wrong.


well thanks - yes and no. read above

Smerity
Posts: 11
Joined: Wed Mar 19, 2003 10:48 am

Postby Smerity » Sat Feb 28, 2004 6:57 am

Just wanted to note to you Leon and whoever else may want to code some additional features for particles (I guess this is as good a thread as any)

http://freespace.virgin.net/hugo.elias/models/m_main.htm
This site about 8 links on particles, including gravity, collision, etc
So, it may be helpful, right? ^_^ (found it while doing general search, random luck I guess)
----
if( Smerity_sleepy == 1 ) caffeine(overdose); else code();


Return to “Testing Builds”

Who is online

Users browsing this forum: No registered users and 1 guest