View Full Version : Crawling Particles?
wireFrame 02-08-2006, 06:51 AM Hi!
I would like to hear ideas how to do this in Maya dynamics:
The basic requirement is that a large amount of particles will come out from a square hole and travel on to different surfaces (floor, walls, and cieling of a room). They should behave like a stampede of particles but not terribly chaotic. If you remember in Matrix 3, an army of sentinels came out of a hole in Zion's concerete ceiling--something like this behavior only that they are crawling on surfaces.
This particles will be replaced with a geometry (instanced) but this is another separate issue. I'm thinking of using a third party plgin but I still have to prove that this can be done through scripting--but how?
I hope to hear from you guys.
|
|
coccosoids
02-08-2006, 10:15 PM
hey wireframe, i'm sorry - i'm not trying to hijack your post, but i've been flirting with some concepts on how to go about doing this so i'm asking whomever dealt succesfuly with this kind of effect to share a little from their experience...
i remember a long time ago a trailer from a maya cd, version 3 i believe where ilm did a commercial starring a sweating t-rex, the concept still applies i think..
wireFrame
02-09-2006, 02:01 AM
Hi q_vazk!
Yes, I've seen that ad in one of the Maya demo reels. That is a lot simpler compared to my problem 'coz the particles should flow in all surface directions coming from a single source emitter. I think this is more of a programming approach already since scripting using goals is quite complex and tedius--not my turf.
I'm just looking for something similar to the creep paricle operator in Houdini which I cannot find in Maya. That Houdini particle operator basically lets the particles stick to the surface and make them creep/crawl on surfaces.
:)
FloydBishop
02-09-2006, 02:19 AM
You could create your room from a NURBs surface, and then draw the path you would like to have the particles follow. Project that curve onto the surface of the room, and then use a particle flow.
Another optio nwould be to have the particles try to hit a goal object you have animated (and hidden). The result will be a swarm of particles. Play with the goal weights to vary the overshoot the particles have.
coccosoids
02-09-2006, 10:46 AM
wireFrame, you mean smth like: particle getting emitted from a point like source on the surface then creeping all over the walls ? similar to the scarabs in that old movie...the mummy?
because, if that's what you are looking then it'll get down to some veeery tedious scripting...a friend of mine pointed out a masterclass cd from alias that dealt with this type of setup - basically he had a piece of geometry for every frame of the walk/run cycle animation that he instanced on particle system very carefully set up using goals and what not (there were a few pages of code)...gonna see if i can get my hands on it, but even so, unfortunately i lack the magic lamp with the mel genie inside, so in the meanwhile you can take a look at
web.tiscali.it/maya_tutorial
let us know if it works out
wireFrame
02-09-2006, 12:12 PM
Hi guys!
Floyd Bishop, thanks for the ideas. I'm concentrating on option 2 that you've suggested. Particle flow won't work 'coz the particles should be thin or flat along the surface.
I'm into the particle goals direction and as I further tinker on it, I'll be forced to write elaborate scripts and expressions--only at a certain extent. There is goal U, Goal V, GoalPP, runtime expressions--too much frustrating for me, hahaha!
q_vazk--I just went to the link you gave and what can I say--BINGO! That is what I'm looking for. I'll try this one tonight and hope to see if this works 'coz by the looks of it, it's limited only to a certain number of particles but promising.
I've seen this MEL script before but it slipped through my mind. I've stumbled on Biographic Tech's AI Implant plugin (http://www.biographictech.com/animation/) but this is going to cost a lot and it is the last option.
I'll try to post some wips here if possible. Thanks guys!
sturmkim
02-09-2006, 07:19 PM
try
make your surface as a goal and particle with omni emitter
create goalU, goalV at perparticle array.
make create expression on goalU; particleShape1.goalU = rand(0,1)
at goalV: create ramp. it will make particle move alone your V direction on goaled surface. base on particles lifespam. ( longer lifespam will be slow down your particles )
using goalOffset, if your object has to floating from surface.
appy instancer.
coccosoids
02-09-2006, 10:00 PM
sturmkim>nice & clean example but how would you make wondering particles over that surface? like ants running around...
sturmkim
02-10-2006, 12:05 AM
try runtime expression on goalU or V.(depending on your set)
particleShape1.goalV = rand(0,1);
wireFrame
02-10-2006, 11:36 AM
sturmkim, thanks for the suggestion! Although the particles do move on an interesting fashion based on your suggestion, the particles just move on one direction (U or V).
The problem still remains: the particle should emit from an omni emitter towards all directions of the room (surfaces). A more elaborate script should address the negative U and V directions. I tried the expression you suggested but the particles moved in one linear/parallel direction either in U or V and not omnidirectional.
The basic idea is to have an omni emitter flatly emit particles on flat surfaces and just crawl/creep from the emitter origin. An example would be spiders coming out from a hole in a ceiling and travel in different walls and floor of the room.
coccosoids
02-10-2006, 01:53 PM
hi guys...i've just cooked smth up..really ugly, so if you've got sensible stomachs you should probably avoid it...
http://rapidshare.de/files/12952661/playblastcreep.avi.html
800k
i shall post the scene if i manage to really accomplish smth with this...
the main problem is instructing the particles which way to go...let's say they reach a goalU value of xx > how can you make it turn, once that evaluates as positive?
and one other thing, wireFrame if you want your spiders to crawl down from the ceiling you'll have another piece of geometry as the walls on which they move? how will you manage to transfer the particles from the ceiling to the walls?
coccosoids
02-10-2006, 02:53 PM
here's smth new
http://www.kolve.com/mp_brainbugz/brainbugz.htm
on a second thought not exactly, unfortunately that's not compiled for maya 7 which is a shame...
anyone available for a small recompile for maya 7, please ?
preeya
02-11-2006, 01:13 PM
hi der
i think this way will help u out,http://www.thegnomonworkshop.com/dvds/dyn14.html
.this dvd shows the effect u r looking for if ur shot is not so close up.n tis veyr handy n simple
need more help tell.
preeya
coccosoids
02-11-2006, 02:13 PM
i think no one in his right might would think of a career in the 3d industry without first acquiring the gnomons...but for some of us access to that type of training is very unlikely to happen in the very near future...so any hints that will ultimately lead to a solution will be deeply appreciated...
rasamaya
02-14-2006, 12:33 AM
Gnomons Dynamics 14 will not give you what you are requesting. but....
It may help you in regards to understanding partical expressions better, and does have a similar setup, but not omni, and not crawling up walls(showing the same object from different angles)
For example an animated sprite sequence of a run cycle traveling across a goal. The CD does do a great job of this. They randomise scale, color, sequence speed, for star and runtime.
It looks good.
If you want them crawling everywhere, you would have to substitute the sprites for actual instanced geometry to see a proper perspective on each angle.
The cd examples of terrain(goal) are nurbs surface using UV for Partical expressions. This could work for you if you if you had the hole(source) near the center, and everything(including walls and random objects) as one nurbs surface.
If you set up a scene with all one nurbs surface and know how to attach geometry on a Per Partical basis, there are some great techniques on this DVD that can help.
deo01
02-14-2006, 11:50 AM
hey wireframe, I did this quick test, let me know if this is the kind of effect you are looking...
I tested only the technique, so I guess that playing with the parameters you can get some interesting behaviour.
download the file from:
http://rapidshare.de/files/13247468/dp_Crawling__Particles.mov.html
coccosoids
02-14-2006, 06:00 PM
hey deo, can you share some insights about the technique, evuantually expressions in your setup...
thirddan
02-14-2006, 06:23 PM
very cool deo, would love to learn the workflow, or maybe you could post the scene?
deo01
02-15-2006, 10:57 AM
Sorry for the delay in the reply...
The workflow is simple:
Create particles running on surface:
-Create nurbs surface.
-Create omni emiter and goal the particle to the the surface.
-Add goalU/V attributes to the particle shape, crating a rand expressin on one of them and the other one connecting to ramp.
Now the trick:
-Create a new particle shape and goal it to the first one.
-Connect it to a turbulance field.
-Instance the geometry on the second particle shape
*Play with the goal of the second particle shape and the frquency of the turbulance filed to control the behaviour.
That's it, hope it helps.
Let me know if something is not clear, I'll try to reply as soon as I can.
wireFrame
02-15-2006, 01:08 PM
Hi deo1 and guys!
Thank you for your post and suggestion! Dude, your solution is close to what we're looking for here. The only thing is that we have to settle for that spherical nurbs surface and struggle on modelling it base on a polygon room. Actually, I'm also doing a similar test based on the goalU n goalV attributes as what sturmkim suggested previously by only distorting the nurbs to fit a room model made from polygon.
It's very limiting since this only works on nurbs but somehow, we now have a direction to follow. To get the perfect solution would be solved through the expertise of programmers since Maya has problems with polygons in this regard.
rasamaya--I've seen the gnomon dynamics DVD before (years ago from a friend) and it tackled limited particle examples but as I recall, it mentioned the attributes needed to make particles stick to nurbs surface. The best resource that I had recently is the MEL Scripting for Maya Animators. In that book, I got a more familiar with particle goals (including the Maya help files).
What is good about Maya is that these particle can be easily instanced and have a tremendous degree on control in them. I really liked the aim direction parameter ( and the rest). As long as we have a controllable particle movement in any object specially polygons, I guess a lot of people would be happy toying around with this software.
If any among you cgtalk particle experts have something to add to this, feel free to do so 'coz a lot of people are looking into this problem.
Thanks again, guys!
wireFrame
06-10-2006, 12:31 PM
Finally, I was able to solve this problem about crawling particles. PointOnSurface command and research on mel scripting on ways to convert the particles' directional vector and an up vector to degrees(and to radians eventually)-- these make it possible to crawl these instanced particles along the nurbs surface with their up vector pointing to the surface's normals.
ashishdantu
08-07-2006, 07:45 AM
hi wireframe,
its been a while i've touched particles.. but heres my say..
can u share / explain what and how exactly you arrived at the workflow ?
wud appreciate your inputs,
rgds,
-heavy-
08-28-2006, 09:19 AM
Hey 8$
everything here sais itīs simple ...
create nurbs surface <- ready
create omni Emitter <- ready
create goalU/goalV per addDynamics/general <- ready
create ramp on goalU and an expression on goalV<- ready ....
but the Particles are moveing to the center of the surface, where the Pivot
is ?????
it seems to be simple and i thing that it is, really, but i cant get it work.
to my own clear0niss i have not more in my scene than the emitter and
the nurbs.
can smbdy elp me?
deHeavy
wireFrame
08-28-2006, 10:46 AM
Ok guys I'll show you how I got to solve this complex problem A.S.A.P.
Quick tips:
1. Familiarize yourself with particle attributes (goalU, goalV and multipliers)
2. Understand MEL and expressions (mostly runtime)
3. Impotant mel commands to use (pointOnSurface)
4. Direction of travel, up vector
5. Mathematical formula for converting points on 3d space
It's a ong explanation which might turn out like a tutorial so I'll collect all my files (and thoughts) and post them here soon.
ashishdantu
08-28-2006, 03:21 PM
hi wireFrame,
i did try the run time expressions.. i'll post the code tomorrow...
but i got the particles to radiate out from U/V > from .5 to the corners out of the goal mesh..now to get them move radially out, i use a random function, but its messy..meaning , they dont smoothly change course..
i'd peeel out my eyes, for your tutorial.... wireFrame !
-rgds,
CGTalk Moderation
08-28-2006, 03:21 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.
vBulletin v3.0.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.