Due to our recent “organizational changes,” I never got a chance to write a blog post about the fun and interesting community test event on January 28th, but you can see snapshots from the event on our new Project Wonderland Facebook page. At that event, we heard an update from University of Oregon researchers Kathryn Aten & Taryn Stanko, and we learned more about the scripting module from Morris Ford. Our last presenter, Ryan Babiuch, known as “jagwire” on the Wonderland forum, demonstrated a new particle capability. Ryan is a developer on the iSocial project and an undergraduate at the University of Missouri studying Computer Science and Information Technology. He has been a developer on the iSocial project since before the stable release of Wonderland 0.4. In today’s guest blog post, Ryan describes the Particle Capability that he created and shows some examples.
One of the aspects of computer graphics that I’ve always found interesting is the notion of special effects driven by particle systems. Upon test driving the Marbelous module, I immediately recognized the particle effects on the marble. The marble emitted a red glow as it traveled down the track towards its destination. I had to know how it worked, why it did what it did, and if I could do it differently. After a bit of trying, I discovered it was quite easy to add a particle system programatically to a cell, but that wasn’t enough. Why couldn’t one add it to any cell at runtime? I was able to develop a cell capability which would allow particle style effects to any rendered cell.
After installing the Particle System Capability module, the Particle Capability can be added to an object (cell) by opening the Object Editor window and clicking on the add (+) button found on the Capabilities panel. The default particle system automatically appears in the world and the user will be presented with a set of properties to manipulate and configure the visual effects for that particular object. Any other additional objects in a world can also take advantage of their own particle capabilities.
Let’s take a look at some examples. Here’s a particle effect that looks like snow:
And here are the approximate settings for the snow effect (click on the image to see enlarged):
Here’s an example of a particle effect that looks like fire. The effect has been applied to the telephone model:
To get this effect, you must change settings in three different panels.
All settings were tweaked a bit to make the effect look the way it should. The settings are a bit loose as every effect is different based on a certain amount of randomness. Believe it or not, I applied the snow to the phone as well. The idea with the snow is to invert the direction of emission from up to down (-1 on the y-axis) and then I raised the starting position sufficiently high enough above the avatar’s head, as depicted in the snow settings screenshot.
In its current state, the capability is rather primitive. The system as a whole has basic configurability including changing colors, timing, speed, as well as position, rotation, and size. The properties interface still needs some polish and better organization. Finally, the current shape of each particle is a plain circle.
As functionality progresses, the plan is to add more configurability to the module to include the following:
- Configurable shape of the particles.
- Configurable shape of the emitters, or source of the particles.
- Configurable layers of particles to give the illusion of multiple of effects at once.
- Configurable environmental influences such as swarming and gravity for better natural simulations.
- Built in environmental settings for a world as a whole for weather simulations.
- The ability to add particle effects to one’s avatar.
- Event triggers.
As you experiment with the Particle Capability, please send me feedback and be sure to post your screenshots on the Wonderland Facebook photos page along with the settings you used to create the effect.
Ryan Babiuch, aka jagwire