Growing leaves

Started by bigben, October 25, 2008, 01:00:43 AM

Previous topic - Next topic

bigben

I've had this idea for a while, so it's about time I finished it off.

I've started rendering a short animation that will simulate the growht of leaves on a tree.  The method is realtively crude, but it should work reasonably well at medium distances from trees.  It's fairly simple to implement, using a greyscale image map and a colour adjust shader used as an opacity function in addition to the existing leaf's opacity image.  The tricky part is creating the "growth map".  My first trial uses a crude combination of radial fills, scaled and masked to the leaves, and combined to accomodate overlapping leaves.  I'll see how this one looks before even thinking of trying a more sophistacted growth map, as the extra effort may not be worth it.

[attachimg=#3]

The mask includes 3 growth sequences controlled by the greyscale values of the growth map.

  • Final branch segment extends
  • Leaf petioles extend
  • Leaf expands from the tip of the petiole

Fingers crossed

gregsandor

A variant of this might be able to randomize the growth stages in populations. 

bigben

That could easily be done by multiplying the Age node by an additional mask controlling the variation in age. This mask would also have to be animated to produce an end result of 100% coverage. In theory it's quite feasible. Rendering a few small key frames first before starting a proper series.

gregsandor

#3
At the moment I'm populating my glen with forests.  I'm thinking of ways to get a good mix of young, mature, dying, and dead trees.  Could we use a fractal mask to blend a population among them for stills, that is, not animated but a one time calculation?

bigben

You may want to look at my post on creating multiple masks from a single image map.  You can take the same approach with a PF as well.

One possible approach is to create a PF mask for the overall distribution distribution of trees/ clearings.  From here you then need to make a number of different versions of the same mask using colour adjust nodes to isolate different ranges values and combine these using multiply/add/subtract scalars to build up density masks for each population.

Take it slowly...  ;)

Younger trees are at a higher denity at the edges of the forest (lower values of mask)
Oldest trees are at a higher density at centre of the forest (high values of the mask)
Middle aged trees are in between these two populations.

I'll try and make up a simple demo mask for you.

Here are some intermediate keyframes of my leaf growth. The next series will be even closer to the tree to show a bit more of the detail changes.

bigben

Quote from: gregsandor on October 25, 2008, 02:55:17 AM
At the moment I'm populating my glen with forests.  I'm thinking of ways to get a good mix of young, mature, dying, and dead trees.  Could we use a fractal mask to blend a population among them for stills, that is, not animated but a one time calculation?

OK, here's a quick demo of a possible masking solution. I've fed them into surface layers to preview the distribution.  One advantage of this setup is that it's highly configurable using the black and white levels and gamma adjustments.

gregsandor

Thanks!  I'll test it now.

bigben

Could you post an image of your test.  I haven't actually applied this to a population set yet  ;)

gregsandor

#8
Sure.

gregsandor

#9
Result

gregsandor

#10
Zoomed in to the 5m terrain

bigben


bigben

#12
A little closer and higher quality. Detail 1, AA6.

The partial leaf shape is good enough for animation purposes at this distance.  :)

Zooming in a bit more for the final sequence so you can see exactly what's going on. (Detail 0.5, AA3 in the sample below)

gregsandor

With trees?  The renders I posted are the forest mask, now I'll put the trees on.  By the way those shots you posted look good.  I especially like the progression at top of thread.

Mohawk20

Very interesting test!

I'd like to use this for my Genesis Project anim I'm working on currently.
Now I animate the size of the whole tree, first only hight and then width, with a litlle bounce, resulting in a sort of comical effect. I'll post an animated gif here when the anim is done rendering.
Howgh!