ABSTRACT

In a virtual world your avatar can knock down buildings with a finger flick, build giant games full of rolling boulders, and fly vehicles that seem to defy the laws of gravity. However, in order to perform these incredible feats, the virtual world must have a way of translating the real-world laws of physics into the virtual environment. This job is done by a component (or plugin) known as the physics engine. The physics engines used in virtual worlds (BulletSim for OpenSim, Havok4 for Second Life) are components in the virtual world simulator code that apply a “library” of rules (algorithms) to a “physical model” that surrounds an object when its physical state is set to “on” in the Build or Edit menu. This physical model includes things like mass and velocity as well as motive attributes such as acceleration. These attributes allow the object to behave in an almost realistic manner when it is pushed, dropped, shot, kicked, or otherwise imbued with some kinetic energy. Physical qualities of your objects in a virtual environment and the physics engines that define the behavior of these objects are an integral part of a virtual environment. As a designer you should know how to work with them, and how to choose the appropriate physics shape type and physics material property of the object (making them behave like wood, glass, plastic, etc.) for the project. Here are some of the concepts that we will explore in this chapter:

• There are many types of physics engines being used in virtual environments, and their influence on how the objects in your virtual environment can be managed by using scripting in the object, making physical material choices, and optimizing the physics shape settings.