How can I make trees blowing in the wind without dynamics?

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

THREAD CLOSED
 
Thread Tools Search this Thread Display Modes
Old 02 February 2013   #1
How can I make trees blowing in the wind without dynamics?

I'm gearing up to make a scene full of foliage and I want the trees and bushes to shift around like they are reacting to soft wind gusts. However, I want to avoid using soft bodies. I don't want to deal with running soft body or cloth sims on millions of instanced polys. Additionally, I don't think paintfx is a viable option here because I need to model very specific vegatation, and I don't think paintfx will let me get specific enough.

In other apps like Lightwave or Blender, I would use a the following technique:

I would assign a weight map with falloff to the tips of the branches, then I would then assign an animated 3d fractal noise displacement deformer to the object, having only the weight mapped area be affected by it. The end result gives you a soft swaying effect on the ends of the branches and can be very convincing.

I'm struggling to figure out how to do a similar approach in Maya, however. There are no easily accessible "weight maps" in maya that I know of (each vertex has a weight assigned to it, like a skin weight), and I don't know of a deformer that allows you to hook up a 3d fractal noise texture as a driver and only affect the area of the mesh that's defined by the weight map.

Can anyone help point me in the right direction here?

Thanks!
__________________
Chad Gleason
Creative Director
Outpost 12 Studios
 
Old 02 February 2013   #2
If I were to do it, I'd use a lattice deformer and, with soft selection on, I'd do a few keyframes to define the forward and back sway and then loop it. You could do it on all the trees as one unit, even.

You could go one step further and drive the lattice positions with a noise texture and time expression but that might be overkill.
 
Old 02 February 2013   #3
My studio use lattice as well. I had our particle guys create a few particle cache which I use to drive the lattice deformation. It's pretty fast. We even managed to fake a few attributes for the artist to adjust that give illusion of wind strength and direction.
 
Old 02 February 2013   #4
I would assign a weight map with falloff to the tips of the branches, then I would then assign an animated 3d fractal noise displacement deformer to the object, having only the weight mapped area be affected by it. The end result gives you a soft swaying effect on the ends of the branches and can be very convincing.


You could try using convert to displacement with history, then use an a multiply divide node, and multiply the weight map and fractal so you'd theoretically get the same effect. Haven't tried it though, but sounds like it would do the same thing.
__________________
Demo Reel 2012-13!
 
Old 02 February 2013   #5
I did something similar with a displaceD node and a noise texture, that was convincing for the leaves.

Here is the displaceD plugin: http://www.creativecrash.com/maya/d...ion/c/displaced

You might have to use maya 2012, I'm not sure the plugin will work with 2013 unfortunately
 
Old 02 February 2013   #6
I know you said you didn't want to do soft bodies but I've done this with lattices. Add a lattice and make the lattice a soft body. Then you can effect the lattice with fields such as turbulence. It seems to calculate quite fast since it's just the lattice that's the soft body and not the poly objects themselves.

edit: I forgot to mention that you can also duplicate the lattice and make it a particle goal to add more control to the deforming lattice.

Hope that helps.
 
Old 02 February 2013   #7
If I were to go about using a lattice on an individual tree, for example, how would I go about instancing that? Bake it to a geocache and then instance that? Can the generated vertex animation be easily offset in it's timing per particle or is that some kind of scripting hell (I'm not much of a scripter).

Thanks for the ideas everyone!
__________________
Chad Gleason
Creative Director
Outpost 12 Studios
 
Old 02 February 2013   #8
Originally Posted by fahr: If I were to go about using a lattice on an individual tree, for example, how would I go about instancing that? Bake it to a geocache and then instance that? Can the generated vertex animation be easily offset in it's timing per particle or is that some kind of scripting hell (I'm not much of a scripter).

Thanks for the ideas everyone!


I think this should work for you - You could make a geo cache then make several duplicates (Dulicate Special with Duplicate Input Graph checked) Then each duplicate will have it's own cache. Then you can offset them against each other in the Trax Editor. Then if you want you can merge the clips into one cache to dive all your duplicates and then instance those. That should give enough variation.

Good luck.
__________________
I think it was Francis Bacon that said there is 'no such thing as an original thought.' But I suspect he was quoting someone else.
 
Old 02 February 2013   #9
Soup has an option with the peak deformer. Apply the deformer to your mesh and input the outAlpha from a texture to a textureToArray node. Not sure how localized you could get it but you might be able to run it through a multiAttributeTransfer with bounding objects.
__________________
www.jeremyraven.co.nz
Vimeo
 
Old 02 February 2013   #10
Thread automatically closed

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.
 
Thread Closed share thread



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
CGSociety
Society of Digital Artists
www.cgsociety.org

Powered by vBulletin
Copyright 2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump
Miscellaneous

All times are GMT. The time now is 10:51 PM.


Powered by vBulletin
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.