Moving and rotating OARs
…and some filtering too
Opensim Archives (OARs) are nowadays the standard tool to share and interchange full Opensim regions. Justin Clark-Casey, the core Opensim developer in charge of OARs, has lately added merge functionality to the loading of OARs. This means that you can merge (i.e., add) the contents of an OAR file to an existing region, without deleting its contents. This opens a plethora of interesting possibilities, but it also is the source of a lot of new problems. What if I’m very interested in merging an OAR with one of my existing regions, but I’d prefer the new contents to be placed differently from their original position? For example, I can be given an airboxed level at 1000 meters, but I might want to put it at 2000 m (for example, because I already have contents at 1000 m). Or I might be interested in an OAR with (say) some nice palace and gardens, but it’s located in the NE corner of the sim and I’d like to install it in the SW part of the sim.
At present, the “load oar” command does not allow for this kind of transformations. Indeed, it’s debatable whether Opensim should include code for this kind of application at all, or whether such manipulations should better be handled offline.
In this article I present a very simple (and highly experimental) OAR manipulation tool called ZOE (for Zonja’s Oar Editor :-)) that implements some very basic forms of filtering, relocation and rotation for OARs as a whole.
2889: Working with very large linksets in Opensim
[Update 20090721:] Added links to source code and a reference, corrected some typos.
[Update 20090723:] You can download an OAR with the sample bottle and the generator at rexxed.com: http://www.rexxed.com/2009/07/klein-bottle/
[Update 20090725:] OSGrid users: the sample bottle and the generator are now available at my store in OSGrid.
Introduction
Most objects in Opensim and Second Life are made of prims. Indeed, if we exceptuate avies, wearables (i.e., non-attachable clothes and body parts), Linden trees and particles, everything you see is made of prims. Prims are small, often uncomplicated geometrical shapes, like a cube, a sphere or a cylinder. By combining (“linking”) prims, builders create more complex objects like houses, vehicles, shoes, hair, jewellery, etc. When prims are linked, the resulting object remembers the order in which they were linked (which is important, for example when an object is scripted) and some other properties; the set comprised of the linked prims and these additional properties is called a link set or linkset.
Linksets in Second Life have several limitations: two prims can’t be linked if they are too far apart, and an object cannot contain more than 256 prims. This is the cause all kind of problems. For example, if you buy a big house, i.e., a house that has more than 256 prims or that it is very large (and therefore its prims are very far apart), the house can’t be assembled into a single object, because of the above rules. Then the house is normally packaged with a rezzer, a scripted assistant that helps you to position the house; once the house is positioned to your liking, you normally ask the rezzer to freeze the house in place, and then delete the rezzer.
Opensim (when used with an appropriate viewer, like the Hippo viewer) supports large linksets, i.e., objects comprising more than 256 prims. In this post I’ll describe some experiments I made with large and very large linksets. In one of these experiments, I created a single object consisting of 2889 prims. Such extremely large linksets are difficult to manage and create, but once you get them built they work wonderfully.
Grider: Prototypying the next generation Hypergrid
Hypergrid
I’ve already blogged (here and here) about hypergrid, a virtual world architecture that allows the federation of Opensim grids (or “worlds”), and in particular teleports between grids. Using hypergrid, you can teleport, for example, from OSGrid to my grid, the Condensation Land Grid, or between OSGrid and Sciencesim, or between Sciencesim and the Cyberlandia grid, etc. Wagner James Au reported in the New World Notes blog about a demo run by Tom Murphy at the Metaverse University in which hypergrid teleports were shown between grids located in different parts of the US. Hypergrid is developing very fast, and once it’s stabilized and distributed widely, it will implement the vision of a world-wide network of connected grids, where big corporate or educational grids will coexist with small, home-based grids. And thanks to the hypergrid teleport, all these grids will appear as a single world like Second Life is today — hence the name “hypergrid” :-)
Here’s a sample video showing hypergrid teleports in action:
In this article I’ll discuss some details of the current hypergrid architecture, some of the security risks involved, and how a new, more secure hypergrid architecture (sometimes called “safe hypergrid” or “hypergrid 2″) is being developed.
Dynamic hypergrid links: the new Metaverse
Would you like to have your own SL-like micro-world in-house, to be able to make backup copies of your islands and your inventory at will, to be able to clone your avatar with all your inventory into your friend’s micro-world when needed, to be able to pack a whole island and share it with friends or with the world, to be able to use fantastic buildings and landscapes others have created, to be able to add an island instantly, to decide how much computer power you’re going to allocate to your regions, to be able to run 10+ islands with 20+ avatars in a single computer, …?
“Sure,” you’ll say, “all these things are very nice, but this has to come at a price, right? Everybody will be isolated in their own micro-world, and what’s the fun of that?”
Up to recently, that was it. Either you were in a “big” world (Second Life, Open Life, OSGrid, etc), or you had your own micro-world, and then you were isolated in it. This started to change when Christa “Diva” Lopes, from the OpenSim dev team, implemented the first phase of the Hypergrid concept, what we can now call static hypergrid. I blogged about it one month ago; here’s an older article from Vint Falken; of course it all started with Justin Clark-Casey’s seminal post “Could there be a future without big grids?”.
With static hypergrid, grid owners decide whether their grids will be accesible from outside (i.e., if they’ll run their grid in hypergrid mode) and if so they inform other grids; other grid’ operators then use a simple command to link their grid to the first. This architecture gets complemented with the possibility to use prebuilt .xml files to link several (potentially thousands) of new regions at once with a single command.
That’s a great architecture, but it puts the power of jumping from one grid to another into the grid owner’s hands. And it’s good that it is so, because the foreign regions appear on the origin grid’s map, and if I were a grid operator I’d love to be able to control what appears on my map. However, it has several disadvantages for the end-user: it precludes the possibility to jump to an arbitrary grid; if grid A links to grid B and grid B links to grid C but grid A does not link to grid C, you have to jump to B to get to C, which is preposterous; in general, the major problem is that you’re limited in where you can teleport to by your grid owners. Of course SL works that way, but SL is not an open grid, at least for the moment. And if OpenSim has to become the 3D web, you have to be able to teleport, to jump, anywhere. The very same notion of your ISP determining which web pages you can visit and which you can’t visit is against the fundamental idea of the internet.
Ideally, what I’d love to be able to do would be something similar to the following: assume that I’m working in my soon-to-be-opened OpenSim Condensation grid, I get tired of building, and I decide to teleport to my friend’s Ludmilla grid (note: to another grid, not to an island inside my grid) to see whether she’s available to go exploring, so that I tp to her world, and, lo!, there she is; I greet her, and we both tp to OSGrid (the free OpenSim grid) and start exploring from there… Impossible? No! Here’s a video that demonstrates exactly that:











