Applications and Tools, Second Life

Second Life and OpenSim Achieve Near Seamless Integration with 3DS Max

Prim Composer, a new tool developed by Shack Dougall, accomplishes near seamless integration of 3DS Max with Second Life and Open Sim.

It’s nearly flawless. It takes care of all the uploading, including textures (AND their placement!). It lets you build and import builds fully composed and rendered in 3DS. And it’s free. (But I beg of you, make a donation!) I wasn’t sure it could deliver when I ran across what was promised – but it does, and more.

The 3D Pipeline
I’ve written in the past about rendering, about integration with outside tools – and while there are issues with embedding an open pipeline to outside applications (the economy being the major one, although there’s also an argument over whether mesh-based objects would contribute or help with lag), the reality is that if you were interested in creating content for virtual worlds, even casually, you’re more likely to fiddle with Poser or Modo or whatever than figure out prims.

Some have been advocating for importing of mesh objects, which would allow integration with a cross-range of platforms. And certainly the architectural community would like to take integration even further.

Now, I’m not a 3DS expert. In fact, before today I’d never used it. My experience with external programs is limited to some work with ZBrush (and I can only thank Shiny Life for making that the most useful sculpting tool around) and Maya.

Maya offers limited integration with Second Life through the Sim Tools application – but one of the major drawbacks is that even if you bake your textures, each needs to be individually uploaded. Plus, the plug-in doesn’t come cheap.

Shack has taken interoperability beyond anything of which I’m aware. And it’s powerful, intoxicating stuff.

I Want My Prims to Act Like Prims

OK – so for the 3DS purist, the biggest limitation with Prim Composer is that, well, you need to use prims. But there will always be compromises for how you build stuff – whether for games, for rendering, whatever – you make trade offs between polygons or texture sizes. So I’ll argue that while this is a limiting factor, it’s a small trade off for being able to work with all of the other feature sets.

So after you’ve downloaded Prim Composer you throw it into your plug-in folder, boot up the program, and get ready to build. The prim control panel is a drop-down selection.

You have all of the usual controls for a prim that you’re used to from Second Life. But being in 3DS you have all of the native tools that allow you to align, move, rotate and, of course…texture and light.

Prim Composer also has native support for creating sculpted prims. While I haven’t had a chance to play with the sculptys, it has a full range of options, including importing sculpt maps from other sources – allowing you to mix them into a build for full rendering and linking. Or, start out with one of the base maps provided, and get to work on an editable mesh.

More below the fold.

Texture, Light and Bake

Prim Composer lets you use all of the power of 3DS for assigning materials (textures) to your objects. It includes the ability to assign Second Life prim features like glow or full bright (although these aren’t “seen” natively while in 3DS). Click for larger image:

But where Prim Composer really shines is in bringing your textured build with all its radiosity, and shadows, and reflections INTO Second Life. And that’s a massive bonus – because while other programs can import prims (Sim Tools, mentioned above, comes to mind), in this case it not only brings in the build it ALSO brings in the textures and PLACES them.

And that’s no small feat – because we’re not talking a 30 prim build here having 30 textures. Because once you start rendering and baking, you can suddenly have a 30 prim build with 300 textures.

Think about it this way: a single box, one prim, if lit, ends up giving you 6 different textures – one for each side. Now, imagine it were hollow, or had a path cut. That’s up to 14 different textures on one prim – because although you may be placing one texture (wood, say), if it’s LIT, then each side could have a different exposure to light.

Now – that can also get VERY expensive because each texture upload, of course, costs Lindens. And Prim Composer very smartly lets you toggle on or off which sides you want to bake. So you can be selective about how much of a build you want to bake.

Plus, with full integration with OpenSim, Prim Composer lets you upload and test your builds over there and, if you still live in Second Life as well :) you can upload when you’re happy with the results.

Seamless Imports
Exporting is a breeze. I mean…this is it:

Importing is just as easy – (except for someone like me who doesn’t know where the command prompt is. But the FAQs on the site helped me to figure it out in no time).

The importing process logs you in to Second Life or OpenSim (your client doesn’t open, so it’s all happening “invisibly”), rezzes the build, uploads all of the textures, applies the textures to each side of each prim as needed, and logs you out again.

And that’s it. Log back in and your build is hovering a few feet above your head.

A Transformative Tool
I can’t understate how excited I am about Prim Composer. This is as seamless as it gets for interoperability with industrial-strength 3rd party applications. There have been a few minor bugs, but Shack is very active on his forums, is eager and willing to help, and has plans for future enhancements, which perhaps excite me as much if not more:

Shack’s long-term vision for Prim Composer?

“Ultimately, I want this to work on a large scale with thousands of prims. Think about building a sim. I want to be able to build things in 3ds Max, export them to a local copy of OpenSim, move them around in OpenSim, make changes in 3ds Max and have that update quickly to OpenSim.

Then, when I’m satisfied, I want to upload that whole thing to SL or a public OpenSim grid. If I discover a problem, I want to be able to go back to 3ds Max, fix it, test it in my local OpenSim and then push only the changes to the public grid.

For this to work. Prim Composer or maybe a separate product called Sim Composer is going to have to be terribly smart at every step in the process. Rendering, sculptmap generation, and texture uploads are way too slow to do this in real time without serious optimizations to eliminate unnecessary work. It will have to know what textures are in SL/OpenSim and what textures have changed in 3ds Max since the last synchronization.”

In the meantime, he has a few additions up his sleeve:

- Hooking up the physics, phantom, temp on rez, and checkboxes.
- Basic exporting from SL/OpenSim to 3ds Max.
- Integrating opensource LSL tools into 3dsMax to create mega domes and similar things.
- Inventory integration — Move textures and objects from your inventory to 3ds Max and back.
- Automated packaging — Extend maxport to package the things that it imports. On a large scale, this would be something like a sim in a box.

So What Does it LOOK Like?

As noted above, I’m not a builder, I’ve never used 3DS before, but I took a crack at a basic room to get an idea of how it worked, and how well it would rez the build in world. So this is based on, maybe, an hour of work (and 45 minutes of that was figuring out how to align stuff!)

I didn’t finish texturing the walls and so on – the idea here was to see whether shadows would “look right” when imported.

But this might give you a better idea, posted on the Prim Composer forum by “Fastrak”:

Or these images by Daikon Forge which are less about showing lighting and shadow than how precise the builds turn out:

Congratulations, Shack – you’ve taken a giant step here and this is a significant and monumental contribution to the Grid.


speak up

Add your comment below, or trackback from your own site.

Subscribe to these comments.

*Required Fields

Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.