particle to form an article


#1

Hi all,

I want to do a particle animation which is:

characters to form an article ,

Any idea ?
I am thinking reverse the animation, like arrange the text looks like article and then fly away… but seems not working…

Can anyone provide some hints ? thx


#2

Can you be perhaps more specific with that

"characters to form an article "

regards

NAIK


#3

I would go for the reverse aproach. And using the BirthTexture operator.


#4

what I mean is some letters fly to paper and arrange like a newspaper.

Grury, May I know what is BirthTexture Operator?
Any example clips to show how it works?


#5

BirthTexture lets you emite particles using a texture map, which would be ideal for what u want to achieve. It was part of Particle ToolBox#1, altho is now been included in Max 2009-2010.
If you still using a earlier version of Max, you can also use PositionObject operator and then use emite from greyscale.


#6

Problem is, he needs each character to be a particle. I’d say - enter your text in max, with the text object, put extrude on top, then convert to editable poly. Each character is convenietly a separate element in the poly :wink: Then run a free detacher script from scriptspot.com, and you’ll have all the characters as separate objects. Center all object’s pivots to the object. From here, you can create particles on each object’s pivot with a birth script, then attach each object’s TM to the particle TM, and run your PFlow, reverse it and - voilla!


#7

Thanks for your reply.
yes, i have done this test already. Don’t need to use script to separate objects, just use editable Mesh (explode) is fine.

I just wonder any better method because I have huge amount of text. Also very difficult to arrange the spacing/ align of the tex using Create> Text.


#8

Also very difficult to arrange the spacing/ align of the tex using Create> Text.

you can set all you type up in illustrator then export it as a DWG and import it into max


#9

woo, that’s true. I haven’t consider that.
Thanks~!!


#10

having particle flow toolbox #3 in the back helps a lot but i assumed this is not the case :slight_smile:

preview and max9 file:

www.3delicious.de/spielwiese/newspaper-find-target.avi

www.3delicious.de/spielwiese/newspaper.max

here´s how it works in brief:

you create your test as u normally would with the text shape. then u detatch the object with a script. there are tons of those scripts around. i use ObjectDetacher one from the soulburn script colection (soulburn3d.com)…

then you use a birth script that grabs each of the shapes and creates a particle with the shape at the position of the shape.


 on ChannelsUsed pCont do
 (
 pCont.useAge = true
 pCont.useTM = true
 pCont.useShape = true
 )
 
 on Init pCont do
 (
 global ChunksArray = $letter_* as array
 )
 
 on Proceed pCont do
 (
 t = pCont.getTimeStart() as float
 
 if t < 0 do
 (
 NumChunks = ChunksArray.count
 for i = 1 to NumChunks do
 (
 pCont.AddParticle()
 pCont.particleIndex = pCont.NumParticles()
 pCont.particleAge = 0
 pCont.particleTM = ChunksArray[i].transform
 pCont.particleShape = ChunksArray[i].mesh
 )
 )
 )
 
 on Release pCont do
 (
 
 )

then you use a script operator to store that position they are on (on your paper sheet)

on ChannelsUsed pCont do
 (
 	 pCont.useVector = true
 	 pCont.usePosition = true
 )
 
 on Init pCont do 
 (
  
 )
 
 on Proceed pCont do 
 (
 	count = pCont.NumParticles()
 
 
 	for i in 1 to count do
 	(
 		pCont.particleIndex = i
 		pCont.particleVector = pCont.ParticlePosition
 		print pCont.particleVector as string
 	)
 )
 
 on Release pCont do 
 (
  
 )
 

then you send the particles to a new event and use a position operator e.g. to have them sit at where you want them to start flying around. mine is a teapot slightly above the paper sheet. feel free to use forces to make the flying look ineresting. mine go all straight :slight_smile:

i triggered the “descending” with a deflector but an age test or else will do too.

THEN is where the magic happens. u use a Find Target test. at the target menu und Point choose By Script Vector, that will read the position as vector you stored earlier in the script operator. that way u can let particles land on a specific point in space :slight_smile:

kind regards,
Anselm


#11

Landing a particle precisely with a FindTarget can be tricky and often requires enforcing the Position value from the Script Vector channel via another Script Operator once the FindTarget has sent the particle out.

Alternatively, use the same setup minus the Find Target portion.

Blow all the letters away with a Force or even with a regular Find Target that does not use the Script Vector channel, then render the animation and play backwards to create the effect of “building up”. Destruction and Creation are two sides of the same coin…


#12

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.