Every Second Life player that has aspired to build their own grand project at some point has yearned for more powerful tools. Second Life has made a building and texturing toolset that is incredibly easy for the average user with no familiarity with 3D modeling, but lacking in ability compared to full-scale 3D software. There are also times when you want to build things without being connected to the grid, and import them later. To fill this niche, Jeffrey Gomez has created an excellent plugin for Blender called prim.blender. The plugin is open source Python code, released under the GPL license and reads and writes a simple xml format that stores Second Life “prim” (primitive, a building block object) information. This is a great piece of software that allowed the creation of the wonderful libsecondlife headquarters shown below.

To complete the circle, I’ve been working on an object exporter named primexport to get prim data out of Second Life and in to Blender. This will eventually allow you to build structures in-world, export them and do the texture mapping, then import the finished product to Second Life. For now it’s still in very early beta, once a couple more issues are worked out a public beta will be available from the libsecondlife website. Here’s an example of a motorcycle created in Second Life and exported in to Blender. This is different from just grabbing the raw OpenGL data because it’s stored in an xml format that describes the prim information, so it can be edited and imported back in to Second Life with an existing import script.

If you look closely you’ll see a cube on the middle of the seat, which is the invisible prim that avatars sit on when they ride the bike. Transparency isn’t handled so it’s fully visible in prim.blender, and you also might notice a part of the seat is missing, hence why the software is early beta and still being worked on heavily. The rough edges should be smoothed over soon enough, and this could be a fundamental change in how Second Life information is treated. Traditionally, data in the SL metaverse is thought of as being locked up in a black box, and bought and sold between agents. By putting prim information in to an xml format, it can be transferred between grids, stored in versioning systems, downloaded from websites or peer-to-peer software, and integrated in to the rest of the web in general. It also brings the intellectual property of builders to about the same level of security that webpages, where anyone is free to view and copy the html source code. Should security measures be built in to primexport to try and hold on to the SL permissions system? Should such artificial restrictions be thrown to the wind so the virtual wild west can be embraced? What implications will this have for the Second Life building process, the economy, and intellectual property in the metaverse?