In this series of entries I’ve been talking about my experiences in Second Life as I try to use it professionally and explore its capabilities personally. That is, I see it as both a business tool and a personal hobby now. Some of the entries will relate more to its abilities to allow new forms of collaboration in the business space. I told my team last week that if it improves team unity or efficiency just 5%, then I’m sold on its value.
Let me correct a misconception that I noticed in another person’s blog entry regarding my earlier piece on meetings. The land and building in which my team operates is paid for by IBM, not me, though I have spent my personal Linden money for a couple of the furnishings and many texture uploads. I have other land elsewhere and it is on that real estate that I have built some houses. My land and my buildings come under the hobby portion of my Second Life experience.
That said, just as a software engineer might read technical books or magazines in his spare time and thus improve his ability to do his job, I find that it is important to immerse myself in an emerging technology like this. This gives me firsthand technical experience and I am able to reason about it more authoritatively, see connections with other IT and market trends, and thus potentially do my job better. Since IBM has already done quite a bit with second life, that’s the theory anyway! I also must admit that I tend to dismiss commentaries about a new technology that begin “I’ve never used it, but I think …”. Finally, SL is fun, 3D, and visual.
Now on to the subject at hand: building. You can construct many things in SL: clothes, body attachments, plants, furniture, buildings, compounds and neighborhoods of buildings, water features, and many other items that somehow creatively jump off from those I have mentioned. I’m not going to give a tutorial here but there are various resources available on the SL website that can give you details. What follows are my perceptions, conclusions, and a bit of advice. I’m going to focus on the construction of buildings and a little bit about furniture here.
A prim is a primitive object that you use to construct a portion of an object. As I mentioned earlier, land has a prim limit and so you have to be fairly clever sometimes to build what you want and still stay inside your limit. It makes no sense to use all your prims on a house and not have any left for the furniture, for example.
Likewise, if you are building furniture and expect to sell it, then very high prim pieces will only be bought by people with a lot of land (and therefore a high prim limit).
Prim objects are cubes, spheres, cones, cylinders, plus trees and grasses. The geometric shapes can be hollowed out in one dimension and cut away in pie shaped pieces centered on one of the axes. They can stretched and shrunk, tapered and twisted. These are three dimensional objects and so have widths, breadths, and heights. SL uses the X, Y, and Z dimensions and each can be as small as .01 meter and as large as 10 meters.
Imagine a simple table with 4 legs. You could use 4 long skinny boxes for the legs and then one large flat box for the top. You can stretch the pieces into the sizes you want and then use the cursor to position them. You’ll soon find, however, that it will be easier to use the edit dialog box to enter the exact dimensions and placements of these objects. This means that you will have to do a little math to put things where you want them. Even though you can use a grid to help with alignment via mouse, the accuracy of this is very dependent on your angle, lag time, and your dexterity. I usually roughly shape or position things via the mouse and then put in the final coordinates or sizes by hand.
All positioning is with respect to the center of an object. When you increase or decrease a dimension in, say, the vertical or Z dimension, the object will be stretched or shrunk equally on both sides of the center. The center point will remain the same unless you then move the object. In particular, if the object was sitting on the floor, if you increase Z then some of the object will extend into the floor. If you decrease Z, the object will be floating in the air.
You really, really want to build something first in a place where the object is parallel to the usual axes. The first house I built was like this and placement was pretty straightforward. I then moved a copy of the house to a plot that was set at a 45 degree angle and placement became much more difficult. Bear this in mind when you are obtaining land or placing furniture. If not, I hope you are good at trigonometry!
That table I mentioned with the 4 legs and top is composed of 5 prims. You need to be able to connect them all together so that the table can be moved as one piece. This is called linking. Link by right clicking on one piece and choosing Edit. Then press down the Shift key and left click each piece you want included. Press Ctrl-L to link them. You then have a multi-prim object. You should immediately Edit the object and give it a description name on the General tab.
For safe housekeeping, right click on the object, choose More …, and Take a Copy to put a copy in your Inventory. The default name of a new object is … Object. Having a lot of things in your Inventory called Object is pretty useless. If you are naming parts of a bigger object, call the pieces things like “Beachfront cottage – Front Wall.” This will make it easier to find things later. I did not do this at first but later went back and cleaned things up.
Let’s say you want to align two boxes that both have X-width 10 meters along the X axis. Given one box in place with center X1, what is the X coordinate of the second box’s center? It is either X1 + 10 or X1 – 10. For example, if one box has center X coordinate 210.25, the second should be at 200.25 or 220.25, depending on whether you are positioning the second box to the left or right of the first (or vice-versa, depending on your viewing angle).
In general, if the first box has center X1 with width W1 and the second has width W2, then the center X2 of the second box is either
X1 + (W1 + W2)/2
X1 – (W1 + W2)/2
Think about it. Ditto for the Y and Z directions.
Massaging and linking prims will give you the general shape of an object, but the real magic comes along when you apply textures. In general, a texture is a bitmap such as a JPEG file that is applied to the surface of an object. It can go on, say, one face of a box or all faces. If the texture is used as an image for a painting on a wall or a rug on the floor, you probably just want the texture to be used once and not repeated. If, however, we’re talking about bricks for a sidewalk, the texture may be repeated several times in both the X and Y directions. For this to look realistic, you will also want to texture the sides of the object.
Many of the things that look like finely detailed objects in SL are really links of basic prims with textures applied to them. The textures may include collars and buttons for clothes, bricks and windows for buildings, and woodgrain for floors and furniture. Textures that are meant to repeat have to line up on each side horizontally and vertically. This is non-trivial and I’ve really come to admire the skills of people who are good at image manipulation applications like Adobe Photoshop or the open source GIMP. You can buy really good textures at several places inworld. Those I like include:
- TEXTURES R US Est 2004 One Store, English Rose (148, 238, 30)
- Textures Unlimited – Lily Pad Lo, Clyde (69, 160, 41)
- PRO Texture Store – Hair Texture, Rock (148, 60, 25)
- Harbinger’s Haven – Builders san, Lozi (225, 71, 25) (hundreds of free textures)
Here’s a little texture math before I leave this topic today. I built a castle that has some large wall sections that are 10 m by 10 m in size. That is, these are as big as possible. I bought the wall textures inworld and determined that for these walls, it looked best if I repeated the texture twice in the horizontal or vertical direction. That is, within the Textures tab of the Edit menu, I set the “Repeats Per Face” for both Horizontal and Vertical to 2.0. Question: if I instead make the wall 5 m wide, what should the new repeats-per-face values be? Well it stays at 2.0 for the vertical, but gets halved to 1.0 for the horizontal because the new width is half of what it was. In this case, the general idea is that you multiply the size by .2 to get the right repeats-per-face value
Toward the top of this menu you will likely want to check both Edit linked parts and Select texture to finetune the repeats-per-face. For example, my walls are .25 m thick. The repeats-per-face is equal to .2 * .25 = .05. For rounded objects you will need to throw in some multiple of pi (approximately equal 3.1415926) in there. Play with it until it looks right and then figure out what you really did math-wise.
Remember that 5 prim table? We would use a woodgrain texture to make it look like real wood and adjust the textures on the different faces. Here is an exercise for the reader: build a table with just one prim that has a solid vertical section at each short end of the table, open on the other sides. Hint: use a box and play with hollowing it out and the path settings. Going from 5 prims to 1 prim is a really big deal and saves a lot. Of course, it just might not look like what you want. After you build a bit, walk around and do what I call “prim reduction.” Replace higher prim objects with lower prim ones or else use your ever enhancing builder skills to use fewer prims in the first place.
Well, I said this wasn’t going to be a tutorial and I’ve just touched on a few things to get you started. I’ve also tried to mention some things that you might have wondered about or discovered by trial and error. I’ll add more of my impressions about building in SL as I get more experience. In particular, I’ll talk about scripting in the future. This is some coding that can make your object move, rotate, change colors or textures, and just generally respond to changes in its environment.
In closing, here is a shot of the lower back center of my “winter castle” that shows a number of massaged prims and shaped textures. See if you can guess how I created each one.