How to convert a prim-based object in Second Life or Opensim into a mesh object on your hard drive using the Singularity viewer

prim cube

ye olde prim

This is pretty cool.

The most recent version of the Singularity viewer (version 1.8.1) adds a particularly interesting feature:

  • Wavefront (.obj) and Collada (.dae) Export by Apelsin, Inusaito, and Latif Khalifa – Allows export of your creations into Blender, Unity3D and other modeling applications and game engines

This means you can now take a prim-based object from within Second Life or Opensim and export it to your hard drive as a mesh object (either .obj or .dae file format).

Here’s a short video showing exactly how it works.   Watch me create a prim-based lamp in Opensim, export it as an .obj mesh file to my desktop, drag it into the Unity3d editor, and then publish it on the web in ReactionGrid’s multiuser Jibe world.

This is great for folks (like me) who still love to build with ye olde prims yet need to create models that work in mesh-based environments.  I can’t wait for the texture mapping feature to be completed (UPDATE: As of today, TEXTURE MAPPING WORKS!  You just have to save your object as .DAE.  Scroll down for more info.)

Nicely done, Singularity and Opensim developers.  Very nicely done.

Visit my Prim Lamp in Jibe

Click on this pic to visit my Prim Lamp in Jibe

Take care,
-John “Pathfinder” Lester

UPDATE 8/15/2013 @4:45pm EDT

Latif Khalifa just gave me more details about texture mapping:

I’m working on improving the Collada exporter by adding texture import. I have already implemented it in Radegast which I will use as a prototype for what it will look like in Singularity.

If you want to to check it out, download Radegast nightly build.

Then once logged click on the Objects menu which will bring up a list of objects nearby. Right clicking on an object there will give the option to save as .DAE. You will see the window like this (the left part):


After importing to Unity3D it will look like this (textures and all):


Thank you Latif for this great info and amazing dev work.
UPDATE 9/19/2013:

Texture Exporting now works in the latest release of Singularity!

  • Much improved Collada exporter, which now has the ability to export textures, apply texture parameters such as repeats, offset and others to the exported UV map, combine prim faces with the same texture and color into one submesh and optionally skip transparent faces (Latif)

For more details on how texture exporting works, see this very helpful guide.

UPDATE 8/1/2014:

You can now do all this with the Firestorm viewer.  Just Export your prim object using the Collada format.  Details here on the Firestorm wiki.

22 thoughts on “How to convert a prim-based object in Second Life or Opensim into a mesh object on your hard drive using the Singularity viewer

  1. Pingback: How to convert a prim-based object in Second Life or Opensim into a mesh object on yo - SLUniverse Forums

  2. i successfully exported a 7,153 prim object to .obj and .dae, then imported the .obj into Blender. is there a jibe world where my object could live?

  3. Pingback: Singularity 1.8.1: MOAP, Voice Morph, Object & Shape Import / Export, and More | Living in the Modem World

  4. I wonder whether an exported .dae and textures from the Radegast nightly build version can be reimported to an OpenSim world and still have the textures intact without much manual adjustment to fix them?

  5. Pingback: Singularity 1:8:3: Export textures with your Collada files | Living in the Modem World

  6. I was wondering, if the collada-files of the objects, once imported in Unity, will be converted into one single mesh-file, so they would be meshs, and not linked prims, when you reexport them to Second Life.

  7. Ok, so at first I thought this was awesome (well, it still is) but then I had a rather frustrating day. I built a gun turret in SL with the intention of bolting it to my ship in Unity for my game. It worked, I got it in there, but after import, every individual prim is there inside unity. I understand why this is, and why it has created multiple materials etc for each texture I used in SL, but the result is, my 10 prim turret equates to 7 draw calls per turret in Unity (some faces shared the same texture). They do at least dynamically batch, but what I’ve been trying to find all day is a reasonable simple workflow for merging these sub-meshes into a single mesh, and simultaneously merging all their texture info into a single material, so I end up with 1 draw call per turret. For the life of me I can’t find out how to do this without having to take a month away from my game to finally learn some 3d modelling! Any tips?


  8. Pingback: August 7, 2014: Tips for Building | Virtual Worlds Education Roundtable

  9. Reblogged this on Blenderizad@ and commented:
    Como exportar de Second Life u OpenSim objetos-prim a objetos-mesh para importar a Blender, Unity, Zbrush, Maya… Se pueden guardar como .obj o .dae

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s