Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Dark Physics & Dark A.I. & Dark Dynamix / Frustrating Particle Problems

Author
Message
Cash Curtis II
19
Years of Service
User Offline
Joined: 8th Apr 2005
Location: Corpus Christi Texas
Posted: 2nd Sep 2006 16:46
I'm having the worst time with Dark Physics particles. I guess I'm used to the regular Cloth and Particles pack, in which I have total control over every aspect of an emitter. I can freeze it, hide it, set the particle life to whatever I want it to be, etc.

It seems that I have no control with these particles. The command...
"PHY SET EMITTER LIFE SPAN"
Is insane. Basically, the lower the number that you pass to it, the longer particles hang around. However, .0001 and .000000001 are just about the same. Why can't we specify the duration in milliseconds that we wish for each particle to live like in the other pack? This is just useless.

There are so few commands that deal with particles, and I've studied every one. Are there hidden commands? I'm very tempted to use the old particle pack instead of the DP particles. I don't want to do that, but I'm missing basic functionality that I expect.


Come see the WIP!
Mike Johnson
TGC Developer
21
Years of Service
User Offline
Joined: 13th Sep 2002
Location: United Kingdom
Posted: 2nd Sep 2006 17:02
The particles in Dark Physics are essentially a collection of rigid body spheres with velocities being added to them so the way they work is very different to the particles in the 3D Cloth & Particle packs.

Here's some info that may help to clear things up:

* whenever a particle is emitted it's life value has this life span value deducted from it

* you can control the rate at which particles are updated by using phy set emitter update ID, update#, by default this value is 0.01

* each time an emitter is update the update# value is passed in, this is then deducted off the new particle timer, when this timer is less than 0.0 a new particle is made

* after this happens the new particle time has the emit rate# value added to it

* having a large value for the emit rate# will slow down the creation of new particles, it may also help to use a lower value for the update rate

By experimenting with these values you will be able to keep particles alive for a much longer period of time.
Cash Curtis II
19
Years of Service
User Offline
Joined: 8th Apr 2005
Location: Corpus Christi Texas
Posted: 2nd Sep 2006 22:31
Quote: "whenever a particle is emitted it's life value has this life span value deducted from it"


That sums it all up right there. Basically there is a set lifespan and all I can do is work around the amount of time that is deducted from that set life span.

It's all just so limited. I guess I'll have to use the original particle pack, and use the new particles in very specific manner. The original system will be the work horse of the particle system, and the physics system will do the cute stuff. Too bad I guess.

Don't misunderstand me. I totally understand every single thing you've told me, and it's cool. I guess I just thought that the new system would be a replacement. Now I understand that it's just another tool in the system.


Come see the WIP!
Mike Johnson
TGC Developer
21
Years of Service
User Offline
Joined: 13th Sep 2002
Location: United Kingdom
Posted: 2nd Sep 2006 22:56
At the moment it is quite basic in some of the things it does but over time this can be improved. If you have any suggestions on the kind of things you would like to see in an update then please let me know.
Cash Curtis II
19
Years of Service
User Offline
Joined: 8th Apr 2005
Location: Corpus Christi Texas
Posted: 2nd Sep 2006 23:20 Edited at: 2nd Sep 2006 23:22
Yeah, there are plenty of things I'd like to see added. Unfortunately I can't wait for an update. Using two particles systems will greatly complicate making a commercial capable game. It won't be possible to crank up the particles if someone has a card because I won't be using many physics enabled particles. Now, smoke from a barrel I can, but dynamically emitting particles from a wall based on the bounce vector from a shot impact is another story.

Since I can't freeze an emitter, I have to delete it when the life of the emitter is used up. With the odd particle life spans, it produces a really ugly effect. It suddenly vanishes. Then, when I create a new emitter next to it, all of the particles that vanished from the last emitter show back up and are then expended normally. Basically, the emitter was killed but the particles that had been produced by it are just frozen. Very odd and ugly. In addition, I never delete resources, I just recycle them. It seems odd and clumsy to have to keep deleting emitters.

Basically, I need the ability to...

* Freeze an emitter.
* Set an emitter to off. Basically, still active but not producing particles. Right now if I set an emitter to 0 then it will just have 0 ms between particles. This should be reversed.
* When an emitter stops emitting, all of the particles need to continue to be processed.
* There should be normal particle effectors, like in the old pack, that are applied to all of the particles. It's possible to produce some very specific effects with the effectors which are not possible now. Take a look at the fire particle demo that comes with DP. It's horrible. It's red smoke. There should be an effector at the top that draws the particles back together, like a flame might.
* I need to be able to set the life of a particle in milliseconds, not the space between particles. That's just unnatural and impractical.

Well, that's all off the top of my head. A few major things. I'll post more as I think of them. Like I said, I have to drive on with the regular particle pack, as I can't wait around for updates.

I appreciate your time


Come see the WIP!
Medieval Coder
18
Years of Service
User Offline
Joined: 31st Dec 2005
Location:
Posted: 3rd Sep 2006 01:15 Edited at: 3rd Sep 2006 01:16
Im not sure but cash, is this what your trying to create?

Attachments

Login to view attachments
BatVink
Moderator
21
Years of Service
User Offline
Joined: 4th Apr 2003
Location: Gods own County, UK
Posted: 3rd Sep 2006 01:17
Quote: "Set an emitter to off. Basically, still active but not producing particles"


That is the basis for all particle effects, in my opinion. Just switch it on when you want particles, and set it's emission rate to 0 when you're done. The emitted particles die naturally, and you're back to situation normal.

Quote: "I need to be able to set the life of a particle in milliseconds"


Yes, that coupled with the first one gives you precise control. Add a little randomness, as in the other pack, and you have 90% of your system in place. Effectors and colliders finish it off beautifully.



Cash Curtis II
19
Years of Service
User Offline
Joined: 8th Apr 2005
Location: Corpus Christi Texas
Posted: 3rd Sep 2006 05:13
@Medieval Coder -
The DP system is ideal for creating static particle systems. That is, Plain-Jane emitters that don't go away. It's not even ideal for multiple emitters because you can't even freeze them when they go off screen. There are tons of uses for particles beyond the standard smoke and fire, but without the ability to cull the emitters they really aren't practical for anything at all.

@BatVink -
Quote: "The emitted particles die naturally, and you're back to situation normal."

Precisely. That's not happening with this system, and it's useless.

I was always impressed with how complete the other system is. Considering that they are authored by the same group, I'm really surprised and disappointed that they are so different. Especially being unable to set the life as a duration of milliseconds is really limiting.

It was your particle editor BatVink that taught me everything about the emitters. It's a great system, very powerful and flexible. There's not much that they can't do. Used properly with colliders, they can actually do every single things that this system can, but much much more.


Come see the WIP!
bosskeith
18
Years of Service
User Offline
Joined: 5th Dec 2005
Location:
Posted: 3rd Sep 2006 09:57 Edited at: 3rd Sep 2006 11:04
i think what you want to do cash is adjust the fade value...this too can be accomplished...I know you are a veteran but i will see if i can get what you are asking about to work in the current system just incase there is something that was overlooked.

oh yeah forgot to mention some normal object commands work on the particle system such as hide object.

wow cannot believe it you can not even move the particle emitter without moving every single one of them in the group(it's like the fart that follows you through out the house) the already onscreen active particles should not follow the emitter. Is that the issue?

oh yeah almost all the objects move/position/orientation commands work on particles have not tried appearance style commands such as shaders or lighting effects. As i said the floaters still follow you.

If it did not follow and the particles continued naturaly i think would fix those issues...even after the emitter is killed/hidden... any changes would only effecting current particles about to be emitted not ones currently onscreen would be ideal.

Ink all over the screen...and dang it! Signature still does not show.
Cash Curtis II
19
Years of Service
User Offline
Joined: 8th Apr 2005
Location: Corpus Christi Texas
Posted: 3rd Sep 2006 21:17 Edited at: 3rd Sep 2006 21:25
I've played around with the fade value. The problem is that the fading of the particles is still a dependant function of the lifespan of the particle.

The big issue is that we have diminishing control rather than literal control. Like in the old system, we could define the rate as particles emitter per second. In this system, we shrink the number to shrink the space between emitted particles. However, this method has VERY limited use.

The issue that you found with the moving emitter is another manifestation of the ugly problem that I found with the killing of the emitter. The system just doesn't manage stray particles whenever you change the status of the parent emitter, whether killing it or moving it.

You're right about hiding the emitter. However, if you have a lot of emitters in play then they still have to be computed even if they are hidden.

By freezing off screen emitters you lose nothing visually but greatly increase performance. In this regard, the current DP particle system is useless. As such, it makes it EXTREMLY hard to comply with Ageia's contract terms, since cranking up the particles with the hardware won't be possible.

I just need a particle system that approaches the functionality of the original pack.


Come see the WIP!
Mike Johnson
TGC Developer
21
Years of Service
User Offline
Joined: 13th Sep 2002
Location: United Kingdom
Posted: 3rd Sep 2006 21:44
Even with the particle system not being as complete as many may like you can still do a great deal with it. For one of the next updates I'm going to add in a new set of commands to do all kinds of interesting things with particles. In the meantime there's always an alternative - if you wanted you could replicate the particle command set using regular rigid bodies without a great deal of work. It is only a group of rigid body spheres with grouping set and velocities applied and then shuffled around when respawn is required. It is one option for now at least.
BatVink
Moderator
21
Years of Service
User Offline
Joined: 4th Apr 2003
Location: Gods own County, UK
Posted: 3rd Sep 2006 22:35
Quote: "It was your particle editor BatVink that taught me everything about the emitters"


You know what...I didn't know how complex they were until I wrote the editor. That was when I realised one effector/collider can affect multiple emitters, and each one can have it's own percentage by which it is affected. I had to rewrite the relationships because I had done it as 1:1. Suddenly I had a many to many relationship, and the potential just blew my mind! The editor was incomplete without it, and the ability to do great things NEEDED an editor!

I planned to port it over to Dark Physics, but as you say it is a completely different animal. There's 2 problems as I see it...firstly, because we use the old one we have been spoilt by it's abilities. Secondly, we've entrenched ourselves in the way the original ones work, and it's very difficult to retrain your mind to do the same thing in a very different way.

I would imagine that if enough time was spent messing, good things could be created. But it won't be as good as the old pack...yet! Let's hope Mike can do the things he's talking about for us.



Login to post a reply

Server time is: 2024-04-19 05:46:34
Your offset time is: 2024-04-19 05:46:34