On a rare excursion into the outdoors, I noticed that real plants seldom remain perfectly still. Even on a calm day, some tiny disturbance in the air will bring at least a few leaves to life. I sat down to animate the leaves in Overgrowth, and searched in vain for some decent reference footage online. Not to be foiled so easily, I broke out my trusty video camera and set out to record some of my own. Most of you probably don't have much use for it, but if you do, you may as well see it in HD!
Since I normally stay indoors, there were some aspects of plant movement that surprised me. Games usually have a uniform wind parameter that affects the entire scene in the same way, real wind is variable and unpredictable. Wind strength and direction can vary even over different parts of the same plant, and it can change from gusty to calm almost instantaneously. With this idea in mind, I created a vertex shader with pseudo-random wind motion. To apply it realistically to the plant models, I added support for a 'firmness' texture so that Aubrey could make leaves flutter and branches remain rigid. Here's a video of this effect in action -- the first couple seconds aren't very windy, but it picks up later on. Click here for HD!
I found that the wind-blown plants brought some much-needed life to the otherwise-static backgrounds, and the changing wind adds a bit of unpredictability. There's tons of more urgent work to do, but it's nice to take a break sometimes and add fun details. We can't make a game called "Overgrowth" without adding nicely-rendered plants! Can you think of any other environmental details we could add to make the game world feel more immersive?(permalink)