PDA

View Full Version : Particle age material


ronnieds
03-27-2010, 02:23 AM
Hi everyone,

I have a series of particles to which a multi-subject is assigned with four different materials (blue, red, yellow and green). Each material has its opacity animated starting at frame fifty , until it dissappears.

I need that by age of each particle, they dissappear due to its material . Not as how it occurs now ; for example, all the blue ones dissappear at the same time, notwithstanding they have just born.

Regards,

simply
03-27-2010, 05:45 AM
U need to define ur particles life span by adding a delete operator. Then drop a particle age map into ur material opacity slot to indicate at how visible they will be at certain percentage of their life span.

Hope it helps.

Piflik
03-27-2010, 04:00 PM
Also, the Particle Age Map is quite old and fails to work properly after 65536 particles...there is a thread about this limitation somewhere in the main 3ds max Forum...

ronnieds
03-27-2010, 09:25 PM
Thank you a lot my friends..it was very helpful.

Take care.

ronnieds
03-27-2010, 10:17 PM
OK...i used Particle Age Material in my opacity slot, and it is working very good.

But i have another problem. Because I have to use Material Dymanic (sure?), and Iīve got Multi sub-objetc material assigned, when the particle goes to die, the material, jumps betwen my 4 sub materials.

How can I leave one material to each particle, during the particle lifes?.

Thank you so much.

JohnnyRandom
03-28-2010, 09:20 PM
In the Material Dynamic did you tick the Assign Material ID? and is the Animated Texture set to Same as Particle ID?

ronnieds
03-29-2010, 02:42 PM
Hi Jhonny, and Yes. I used in Material Dynamic:
Assign Material ID, Show in viewport and Same as particle ID (animated texture).

JohnnyRandom
03-29-2010, 04:06 PM
Hmm, are you spawning new particles?

Can you post a screenshot of your Particle View?

ronnieds
03-29-2010, 04:46 PM
Itīs no spawning, just birth while the emitter moves.

Many thanks for your attention.

ronnieds
03-29-2010, 05:07 PM
There is the image again. The last one, i too small i think.

JohnnyRandom
03-29-2010, 06:52 PM
Something is not right, in one or the other operators, I can script this and get it to work or create a box#3 operator and get it to work but I cannot do it with standard operators.

So a workaround Remove ALL delete operators (as they will mess this up) and add the code in a script operator to set the particle age and Lifespan manually:


on ChannelsUsed pCont do
(
pCont.useAge = true
pCont.useLifespan = true
)

on Init pCont do
(

)

on Proceed pCont do
(
count = pCont.NumParticles()

for i in 1 to count do
(
pCont.particleID = i

if pCont.particleNew == true then
(
pcont.particleAge = 0 -- Set the particle Age
pcont.particleLifespan = 30 --Set the desired lifespan, or O% on the Particle Age Map
)
)
)

on Release pCont do
(

)


You could script in a Age Test = Delete to if you need, I didn't test this and I don not think you would run into the same issues as with the delete operator.

I attached and example Max8 (yes thats right I went all the way back to max8 to see if it is a new issue)

ronnieds
03-30-2010, 05:04 PM
Thank you Johnny, i īll check this right now.

Thanks a lot for you help and time.

CGTalk Moderation
03-30-2010, 05:04 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.