PDA

View Full Version : Streamers


Abigor
11-16-2006, 10:05 AM
well, ok, not realy streamers, but bumper stickers. thousands of them!! all falling out of a box from up on some building. problem... how to?

if these were small, it wouldnt be a problem, but these are those long bumper stickers, and apparently they need to bend and flex in the wind as they fall, like streamers in a parade.

so, this solution needs to be accurate and fast, because calculating dynamics on 3-400 objects wont do.

my initial idea was to use a particle emitter, and then somehow bind the sticker objects to the particle paths, but also have the stickers deform to the path, if this is possible... anyone see wat i mean here?

any suggestions on methods to achieve this, in any way, would b greatly appreciated. thanx everyone!

munky
11-16-2006, 02:55 PM
Hi,

I'm no expert on this but if it was me I'd look at

1/ FX LINKER
2/ Deforming the streamers with a displacement map and using a weight map to control the streaming tails.

something like that anyway.

hope this helps

paul

Celshader
11-16-2006, 04:03 PM
well, ok, not realy streamers, but bumper stickers. thousands of them!! all falling out of a box from up on some building. problem... how to?

if these were small, it wouldnt be a problem, but these are those long bumper stickers, and apparently they need to bend and flex in the wind as they fall, like streamers in a parade.

so, this solution needs to be accurate and fast, because calculating dynamics on 3-400 objects wont do.

my initial idea was to use a particle emitter, and then somehow bind the sticker objects to the particle paths, but also have the stickers deform to the path, if this is possible... anyone see wat i mean here?

any suggestions on methods to achieve this, in any way, would b greatly appreciated. thanx everyone!

I've got a "confetti" example on my Dynamics page:
http://www.celshader.com/gallery/md/

Are you using LW8.5 or LW9.0? You're welcome to download my confetti content, but I think it behaves differently in LW9.0 than it does in LW8.5. I can whip something up in LW9.0 if you're using LW9.0.

Also...how long are these bumper stickers?

Abigor
11-16-2006, 04:41 PM
cel, coming to my rescue again! haha

we are still using 8.5 here.

the bumper stickers are... approx 16cmx5cm. but its just an eyeballed model, it may change wen we get refrence in.

if you wanna whip something up in 8.5, that would be super duper!! but just remember this hasta handle thousands of these sticker objects and still not crash all the machines with rendering, or dynamics calculations, or anything like that. and i was told that they should behave as if they were the consistency of fax paper... so, a bit thinner than regular paper.

i have my fingers crossed for ur magic cell! thanx :)

Celshader
11-16-2006, 04:47 PM
cel, coming to my rescue again! haha

we are still using 8.5 here.

the bumper stickers are... approx 16cmx5cm. but its just an eyeballed model, it may change wen we get refrence in.

if you wanna whip something up in 8.5, that would be super duper!! but just remember this hasta handle thousands of these sticker objects and still not crash all the machines with rendering, or dynamics calculations, or anything like that. and i was told that they should behave as if they were the consistency of fax paper... so, a bit thinner than regular paper.

i have my fingers crossed for ur magic cell! thanx :)

I'll see what I can do.

For what it's worth, you don't have to calculate on thousands of stickers to get thousands of stickers. If you calculated dynamics for 100 stickers, then cloned the object 10 times and moved their XYZ and playback times around a bit, you'd have 1000 stickers in your final render for the cost of calcuating only 100 stickers.

Celshader
11-16-2006, 05:24 PM
Here's a quick-and-dirty example of calculating on 100 streamers, and using the same MDD data for 1000 streamers.

I used "bumperStickersCalculate.lws" to calculate "bumperStickers.mdd." The "bumperStickersPlayback.lws" scene clones the 100-sticker-stack object 10 times, and plays back the MDD data on each stack at different speeds and start frames.

The 100-sticker-stack contains only 808 points and 606 polygons, since it's all subpatches (with sharpened corners). This makes for a quick calculation, since so few points are involved.

Abigor
11-17-2006, 08:28 AM
omg cel, ur amazing. this is exactly what i needed. the motion is perfect!! im gonna poke around in this scene and try and see how you did this.

i assume for the variations you used your perl script to offset all the mdds? i believe we talked about this once before for my crowd project.

also, just out of curiosity/annoyance, is there a way to NOT have to choose the same mdd everytime it loads the same object when the scene is opening? i figure probably not, but thought id ask anyway.... you'd think it would be smart enought to realize that if its looking for a file of the same name, its in the same place it was 5 seconds ago, haha.

oh, and i was never realy intending on doing calculations for 1000s of stickers, haha... i was just kinda saying that for dramatic effect. my intention was always to use an mdd and offset procedure like you've done here... i think you'r just more adept at setting them up than i am.

once again, thanx so much. if i have more questions about these scenes, ill ask.

:bowdown:

Abigor
11-17-2006, 09:23 AM
wow, seems this is very simple and im just an idiot, haha. but seeing as i dont have much dynamics experience, you probably know what all these settings do, where as i would just aimlessly poke around and probably never arrive at the rite combination.

1 problem with your current setup: it uses a flat poly for the sticker. while this great for speed of calculations it leaves me in a bit of a bind for texturing, as 1 side of the sticker will need to have the graphic and the reverse side will need to be plain white. as far as i know, you cant texture 1 side of a poly with 1 surface, and the other with another surface.... unless therse a shader out there that im not aware of that does this?

my idea to solve this was just to put 2 of the sticker planes rite ontop of eachother and texture them differently, but then i quickly realized that they would b treated as individual stickers and fly off in different directions since nothing was holding them together. so, is there anyway i can avoid building a more poly heavy 2 sided sticker, because it will need all sorts of divisions to keep the edges sharp.

Celshader
11-17-2006, 12:25 PM
1 problem with your current setup: it uses a flat poly for the sticker. while this great for speed of calculations it leaves me in a bit of a bind for texturing, as 1 side of the sticker will need to have the graphic and the reverse side will need to be plain white.

Here's one way around that -- go to Modeler, flip the polys of the sticker-stack, and save it as "StickerBacks." The point order and point count of this new object will be identical to the original stack, since all you did was flip the polys. Clone the original stack in Layout, and replace the clone with the "StickerBacks" object. Give each object a single-sided surface and the exact same Render SubD Level. Then surface each object differently. Because both objects are playing back the same MDD file with the same playback timing, they should move as a single object.

LW9.0 lets you texture each side of a polygon with different surface settings (http://lightwiki.com/wiki/mediawiki-1.4.4/index.php?title=How_to_assign_different_properties _to_each_side_of_a_doublesided_surface), but you're on LW8.5, so that's why I'm giving you the above suggestion. :)

Celshader
11-17-2006, 12:39 PM
i assume for the variations you used your perl script to offset all the mdds? i believe we talked about this once before for my crowd project.

I just made nine clones and randomly moved 'em around. I also gave each clone different MDD playback speeds by choosing "Local" playback.

The key to the results of the calculation is that these polygons offer ten times the Resistance broadside as they do edge-on. This is accomplished by setting Resistance to 10.0, and Advanced Resistance to Polygon at 90%. This means that the broadside Resistance will be 10.0, the edge-on resistance will be 10% of 10.0 (1.0), and anything angled in-between will offer a Resistance in-between. So, the Resistance constantly changes as the polygons angle into or against their direction of movement.

If the air offered a completely uniform level of Wind, this variable-Resistance wouldn't mean a darn. So, I have a Turbulence texture on the Wind so that the stickers constantly encounter "pockets" of upwards-moving air. The Turbulence texture is set to a size smaller than the width of the stickers, so that each corner of each sticker has a greater chance of being lifted at a different rate than the other corners. The key to showing off variable-Resistance is to try to constantly change the angle of the polygons.

-+-

Everything else in the ClothFX setting is just enhancements on top of the above.

Lowering the Viscosity below 1.0 makes the material more "fluttery." Viscosity acts as a shock absorber for a material's Springs, so lowering the Viscosity increases the chance of these polygons changing their angles (and thus their Resistance).

I increased both the Spring and the SubStructure to 1000 to help maintain the distances between each pair of points. Leaving them at their respective defaults of 1000 and 0 would have resulted in a stretchy fish-net material instead of a stiffer material.

Abigor
11-17-2006, 12:47 PM
thanx for the feedback cel. i was actualy just about the write another post that i figured out the dbl sided thing, using the exact same method you outlined, haha. then i noticed your threads beat me to the punch! i have an idea of how to streamline it a bit once the shots actauly get into production, but for now i can show the boss that it will work, so thats a step in the rite direction.

i also figured out all the things you mentioned by disecting you scene and playing with the settings to see what they did, though i didnt realy understand the hows and whys of it all. but now that you explain the air resistance thing, it makes much more sense. the only thing i didnt notice was the small size on the turblence of the air feild. now that i know that ill keep it in mind when i hafta build my shot specific scenes, though, we dont get plates for a while... so i just hafta sit on this new knowledge for now.

thanx so much for you help on this one, and all the past times you've bailed me out! you'r like an unofficial secret member of my office, haha. keep up the great work helping out all us dynamics dummies!

Abigor
11-17-2006, 12:54 PM
just testing my signature... i wonder if it will work...

MacGregg
11-26-2006, 02:41 AM
Celshader, sounds like you should be charging for your work here! Maybe folks are taking advantage of your good nature.:)