Objects in Second Life
From Sl Wiki
Everything in Second Life is built from a combination of basic primitive shapes, or "prims", often augmented with LSL script-driven functions. The Second Life user interface includes an editor that you will use to construct objects.
The Second Life website describes object construction thus:
- In Second Life you can create anything you can imagine with powerful, highly flexible building tools, using geometric primitives and a simple, intuitive interface. Build live, in real-time, right in Second Life - no separate tools or applications to buy or learn and no hassles with importing your work. Building is easy to learn, yet robust enough to inspire your creativity.
- A powerful but fun-to-learn and use scripting language further enhances your creations by allowing you to add behaviors to the objects you build - sculpt a butterfly, then write a short chunk of code that lets it follow you around as you walk.
- And once you've built something, you can easily begin selling it to other residents, because you control the IP Rights of your creations.
However, the reality is a little (though perhaps only a little) more complicated; requiring a basic knowledge of mathematics, and a builder's toolkit that you will need to buy or scavenge from the many sites offering free objects.
Object Appearance: Shape, Colour and Texture
In considering an object's appearance let us consider a simple example, a basic cube. Any prim, when first created (or instantiated, for object-orientees), will be of a standard size and appear to be made of plywood. Thus a cube will appear as a small plywood box.
However, with the editor one can take this basic box shape and:
- Stetch it any (or indeed all) 3 dimensions, up to a maximum size of 10x10x10 metres;
- Hollow out the box;
- Shear the X and Y axes of the box;
- Cut the box;
- Rotate it in the X,Y and Z axes;
- Position the box as you require.
Then one can add colour and/or textures, either to the entire object or to a single face at a time. A texture is a graphics image, typically a JPEG or TGA file, that can painted on the surface of the object. Options exist to alter the number of times the graphic is repeated across a given area.
One this has been done, you might choose to add light to the object. This is only really useful when viewing the world in nighttime mode, and allows you to provide a pool of diffuse light around the object, enabling it to be seen at night.
Finally, some prims provide "flexibility", allowing them to bend under gravity, or wave in the wind.
The Linden Script Language, or LSL, is a java-like programming language for providing functionality to your objects. The language has a large library of available functions that, along with the basic formal syntax, can be used to animate an object and give it behaviour. A simple example is the rotation function which, given an appropriate set of parameters, will cause an object to rotate about a given plane.
Making Complex Objects
All objects are constructed from basic prims, coloured and modified as discussed about. For them to work together, they need to be linked together into a single object, using tools provided. Unfortunately there is no "snap to shape" feature to help you with linking and so you rely on building tools, and a bit of maths, to work out how and where objects should touch.
Adding a small complicating factor is the solidity or otherwise of the pieces being linked. By default, the prims are "phantoms" and can be slid through one another. On many occasions this flexbility is extremely useful, but it can be tricky when trying to link items together, as it is not a simple matter of pushing 2 objects together, since they can simply pass through each other!
Complexity can be achieved through the creation of objects comprising many prims. However, this form of complexity comes at a price. Any given area of land will only support a given number of prims, or prim count. For example, a small library on the Second Life Cybrary Island, only has provision for 256 prims, from which the entire building and its contents must be constructed. It is alarming how quickly this count can be reached. A large island will have a prim count of 4096.
A great deal of ingenuity and skill is therefore expended on achieving prim efficiency, implementing the smallest number of prims while retaining the required look-and-feel. For example, a window in a short length of wall could require the following components:
- Window - left and right panes
- Window Frame - left and right panes
- Window Ledge
Even this most basic example would require 6 prims. However, using textures with transparent patches could reduce this to just 1 prim:
- Wall (with tranparent patch)