More that once I have been asked how I managed to get several kites flying near one another to move in similar directions. Of course the answer is that the kites are just following the wind, but it has dawned on me that many people don’t realize that Second Life has Wind. It’s actually a very windy place.
I shouldn’t be surprised that some of us are strangers to the SL wind. After all, our avatars can’t feel it directly. Generally, it takes a script to detect the wind and react to it, although flexy prims and LL trees are special cases. I can still remember being a newbie avatar on Help Island watching the palm trees sway in the breeze and wondering how they did that.
Here in New Babbage, where there are few trees, the most common manifestation of wind is through particle systems. Particle systems are the scripts which produce the steam from our sewer covers and the smoke from our chimneys.
Observe the series of photographs taken a few minutes apart in Babbage Square.
The changes in wind speed and direction are clear from the position of the smoke particles. But wait, you say! The rendering of a particle system is a client side activity. (You know this because you can turn off particles in your viewer.) How does my SL viewer know what direction the wind is blowing? Clearly it has to get that information from the simulator. And there is a lot of information to get.
According to Andrew Linden, SL uses a modeling technique that was described in Jos Stam’s seminal paper, Stable Fluids, published in SIGGRAPH 99. (It’s here if you’d like to read it.) Dr. Stam’s method involves dividing the simulator space up with a grid and computing the wind velocity at the center of each cell using a set partial differential equations (the Navier–Stokes equations) which describe the motion of fluid substances. Every cell is affected by its adjacent cells, like a giant game of Life.
(As an aside, the Navier-Stokes equations have never been proven to work in 3 dimensions, and a $1,000,000 Millennium prize awaits the person who can supply the proof. I’m sure this is something that our Mr. Tenk ponders late at night after all the clocks are wound. But this means that the wind in SL is limited to two dimensions. There is no such thing as an “updraft” in SL.)
The point is that the simulator has to compute the wind vector (a vector is a set of numbers that define speed and direction) for every cell in the region. I haven’t found documentation on the cell size, but I know from my own experiments that the wind vector can be different at positions only a few meters apart. If you have your draw distance cranked up, you can see smoke stacks clear across the sim. You can see a very large volume of space, i.e. a lot of cells. And the wind vector in each one of those cells is constantly changing. And all those vectors must be downloaded from the simulator to your viewer, probably several times a second.
So you see, a considerable chunk of your downstream bandwidth is consumed by wind vector information being loaded into your viewer. All so you can see flexy skirts and flags fluttering in the breeze, and the New Babbage factories belching smoke into the sky where my kites bob and sway in the sooty air.
Miss Almia Thaler passed me a link to a build that demands to be shared. Miss comet Morigi has put up a display that covers 4 entire regions! Called the Wind Observatory, it is an exhibition of Second Life wind.
At an altitude of about 3700 meters, comet has deployed 1024 particle emitters arrayed over the four regions belonging to the European wireless telecom company Orange. The link below takes you to the observation platform where you will be given instructions on how to set your viewer.
From the observation platform you can watch the winds moving and shifting in real time. Cyclones and anti-cyclones form and dissolve. The effect is quite hypnotic.
Interestingly, the macro patterns cross sim boundaries. Large scale structures can be discerned. It’s like watching the smoke from an array of 32 by 32 chimneys.