PDA

View Full Version : CurveFlow - Changing the speed


Ramteen
07-06-2008, 12:06 PM
Hi there.

I've recently been trying to create a curve flow FX. Every thing works fine, But the only little problem is that I couldn't have found any atribute that controls the speed of the particles. I tried tweaking many of the attriutes available that I thought would be the one.

Any one knows if there's really a control for this issue at all ? ( sounds stiuped :P) .

Thanks in advanced.

CarlRiver
07-06-2008, 02:18 PM
There are two things that control the speed of the flow. First the lifespan attribute controls how long the particles need to get from the start to the end of the curve. Also by adjusting the position of the subsegments (which as far as I remember have to be created/activated when creating the curveFlow) you can vary the speed in more detail.

Ramteen
07-06-2008, 03:58 PM
Hi CarlRiver.

Thanks very vey much for the comment. That Helpes perfectly.

I also have another question about particle rotation. here's the situation :

I have a Curve Flow Particle system. I also make an instance object for my particle as well. I actually don't know how to have the instanced particle objects being rotated while they're moving though the curve. I know that's very basic, But honestly I'v got a deadline to do that :P

Any sort of help will be much appreciated :)

Ramtin





There are two things that control the speed of the flow. First the lifespan attribute controls how long the particles need to get from the start to the end of the curve. Also by adjusting the position of the subsegments (which as far as I remember have to be created/activated when creating the curveFlow) you can vary the speed in more detail.

CarlRiver
07-06-2008, 04:35 PM
If you're using the particle instancer you can do this by adding a custom per-particle vector attribute to the curveFlow particle system. You can then set the instancer to use this attribute to drive the rotation of your instanced objects (instancer rollout in your particleShape attributes).

Ramteen
07-07-2008, 09:35 AM
Great. I created the attribute as you mentioned. I also found Inctancer (Geometry Replacement). There are 7 attributes available :

- rotationType
- rotation
- aimDirection
- aimPosition
- aimAxis
- aimUpAxis
- aimWorldUp

Would you please guide me what I should do in order to randomly drive the particles rotation ?

Thanks very much my friend.
Ramtin



If you're using the particle instancer you can do this by adding a custom per-particle vector attribute to the curveFlow particle system. You can then set the instancer to use this attribute to drive the rotation of your instanced objects (instancer rollout in your particleShape attributes).

ctp
07-07-2008, 09:49 AM
I would go with two custom PP attributes of the vector kind.
They could be called rotationPP and rotationStepPP.

Then add some creation and runtime expressions (you can add expression by right-clicking next to the names of the attributes under the Per Particle (Array) Attributes rollout on the particleShape node.)

//creation:
rotationPP = sphrand(360);
rotationStepPP = sphrand(10);

//runtime before dynamics:
rotationPP += rotationStepPP;

ctp
07-07-2008, 09:52 AM
oh and then you set the Inctancer (Geometry Replacement) to use rotationPP for rotation.

Ramteen
07-09-2008, 07:52 AM
I would go with two custom PP attributes of the vector kind.
They could be called rotationPP and rotationStepPP.

Then add some creation and runtime expressions (you can add expression by right-clicking next to the names of the attributes under the Per Particle (Array) Attributes rollout on the particleShape node.)

//creation:
rotationPP = sphrand(360);
rotationStepPP = sphrand(10);

//runtime before dynamics:
rotationPP += rotationStepPP;

Cool ctp :)
Awsome. it works very nicely :D. I love it. Thank you so mych for the help. I'v this question as well :

is the any way to create different instanced shapes? Let's say I have a box, a cone and a sphere. I want my particle to generate them randomly. does that make any sense ?

Thank you

CarlRiver
07-09-2008, 01:31 PM
Vou would create a custom float per-particle attribute called something like randomId. Add a creation expression that looks something like:

randomId = floor(rand(x))

where x is the total number of items in your instancer list (you can add them by first selecting the objects to be instanced then the instancer and clicking 'add selection'). Then in the instancer rollout on the particleShape you set the objectIndex to use randomId.

Ramteen
07-09-2008, 02:21 PM
Vou would create a custom float per-particle attribute called something like randomId. Add a creation expression that looks something like:

randomId = floor(rand(x))

where x is the total number of items in your instancer list (you can add them by first selecting the objects to be instanced then the instancer and clicking 'add selection'). Then in the instancer rollout on the particleShape you set the objectIndex to use randomId.

Thank you so much CarlRiver :D
It's awsome. very very good. Thanks for all the comments you added. they helped a lot :)

I wish you all the best :)

Ramteen
08-03-2008, 10:31 AM
Hi again. am back with more questions :D.

Any way to manage the scale of the particles to be 0.0 when they're born and as they get older they get biger and biger too. Hope my question makes sense.

Thanks in advance.

-Ramtin

Aikiman
08-03-2008, 12:55 PM
Create a customPP float attribute and pipe a ramp into it based on particle lifespan, then hook that attribute up to the scale of your instancer.

Ramteen
08-06-2008, 10:10 AM
Hi Akikman. I can imagine how a Ramp can control a scale. But I don't know what you're talking about by "Piping a ramp into based on particle lifespan". Would you explain iit a lil bit deeper? I'm very new to particles =P

Thanks in advance

-Ramtin


Create a customPP float attribute and pipe a ramp into it based on particle lifespan, then hook that attribute up to the scale of your instancer.

Aikiman
08-06-2008, 10:31 AM
Its really simple...right click on the per particle attribute in the attribute window and go down to Create Ramp > options box then leave as is....ie Input V = Particles Age will be the default and create a new ramp. I think it will go from white to black meaning 1 to 0 so you will need to flip this around so your particles get bigger as they get older. Just right click on the PP attribute again and edit ramp or just do it through the hypershade.

Ramteen
08-06-2008, 01:09 PM
Its really simple...right click on the per particle attribute in the attribute window and go down to Create Ramp > options box then leave as is....ie Input V = Particles Age will be the default and create a new ramp. I think it will go from white to black meaning 1 to 0 so you will need to flip this around so your particles get bigger as they get older. Just right click on the PP attribute again and edit ramp or just do it through the hypershade.

Great. Aikiman, I really appreciate your answer. It works perfectly more that I would expect :)

Thanks for stopping by.

Good luck man

-Ramtin

CGTalk Moderation
08-06-2008, 01:09 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.