Warning: Don’t rely on meshes uploaded to OpenSim (just yet) May 13, 2011Posted by justincc in opensim, opensim-dev, opensim-news, secondlife, viewers, virtual-environments, virtual-worlds.
Hi folks. At the weekly OpenSim/OSGrid development meeting last Tuesday, Nalates Uriah relayed that Linden Lab are planning some fundamental changes to how mesh is handled in Second Life. Instead of uploading a mesh as an asset and applying it to an existing prim, it sounds like a mesh will be treated as a scene object in its own right. Aspects of the mesh data format will also change.
When Linden Lab releases new viewers with these changes they won’t be able to see any of the meshes previously uploaded to the Linden Lab beta grid. The same will be true for OpenSimulator.
OpenSimulator will need changes to work with the new mesh objects and data. As it is, OpenSimulator treats uploaded mesh data as an opaque blob which it simply stores as an asset. The asset id is placed in the SculptTexture property of the PrimitiveBaseShape of a SceneObject or in the assetID slot of an InventoryItemBase. When a client fetches such a scene object or inventory item, it separately requests the asset data through the GetMesh capability – OpenSim doesn’t parse the asset data at all.
This simplicity means that that old mesh data might continue to work with old mesh viewers (this is not a guarantee). But of course, if you use the old viewers then you won’t be able to see the newer mesh objects. It’s possible that a third party viewer could implement both the old mesh approach and the new approach. However, I think this is very unlikely, particularly if the new changes are due to deficiencies in the existing approach.
We won’t know what changes are required in OpenSimulator until the new mesh approach is public. In the best case, the asset data can be left opaque for now and some new properties added to scene objects. In the worst case, the asset data itself will require extensive parsing but I suspect that this will not be necessary.
So in short, I strongly recommend that you don’t rely on any mesh data that you upload to OpenSimulator until the new mesh changes are implemented. In fact, I would recommend waiting until mesh is in public use on the Linden Lab grid, in case further changes need to occur down the road.