Contents

Sculpted Prims: Frequently Asked Questions

Q. What is a Sculpted Prim?

A Sculpted Prim is a prim whose shape is determined by a texture. These textures are called Sculpt Textures. You can use sculpted prims to create more complex, organic shapes that are not currently possible with Second Life's prim system.

Q. What is a Sculpt Texture?

A Sculpt Texture or Sculpt Map is a standard RGB texture where the R (red), G (green) and B (blue) channels are mapped onto X, Y, and Z space. Sculpt Textures are similar to so-called "normal maps", but instead of encoding surface normals we encode surface positions. They are also similar to displacement maps, but instead of a single scalar distance we have three values — one each for the X, Y, and Z coordinates. Sculpt Textures are also very similar to parametric (e.g. nurbs) surfaces. See Sculpted Prims: Under the Hood for details.

Q. Why use textures (images) to encode shapes?

Using images to encode shapes comes in very handy because there are a myriad of existing tools for handling images. Image compression, streaming, progressive loading, and animation are all well-explored problems. For example, we could create a Quicktime stream which fades from one sculpt texture (sculpt map) to another. When attached to a sculpted prim, the prim would "morph" from one shape to the other. Another example: it would be easy to have a flash animation generate a sculpted prim — when a resident touches a spot on its surface, the shape could wiggle and ripple appropriately. This is the direction we are headed.

Go to this page and copy the contents of the script. Paste it into your Maya script editor and save it. (Optionally, drag it into a button on your tool bar.) When you run the exporter script, it will pop up a dialog box with exporting options. Select which shapes you wish to export and press the "Export" button. The ideal candidate for export is a NURBS surface with no more than 16 isoparms per direction. You may also export polygon meshes — but you must first ensure that the poly-mesh has a perfect UV space (it must cover the entire surface and the space must have no holes).

[ NURBS] used to be the feature that separated professional-quality 3D modeling software from the rest, but the gap is narrowing. 3D Studio Max, Maya and Blender offer both NURBS and polygon modeling. Many other "free"/low cost programs like Google Sketchup, Milkshape, Wings3D and gMax do not. Rhino3d is a commercial program (though considerably cheaper than 3D Studio Max or Maya) that specializes in NURBS modeling. See the Sculpted Prims: 3D Software Guide page for an in-depth discussion of applicable 3D modeling software.

Q. How detailed can a Sculpted Prim be?

The current implementation samples the Sculpt Texture (or Sculpt Map) by different amounts depending on the "Level of Detail" or LOD. Prims which are close to the viewer camera have a 32 by 32 grid of vertices, which drops to 16 by 16 as the prim moves away from camera.

Q. The demonstration video shows a lot of smooth shapes. Can I use Sculpted Prims to make sharp corners and angles?

In this respect, Sculpted Prims are similar to NURBS surfaces: A Sculpted Prim can have a more defined edge by dedicating more control points (vertices) to that area. At maximum resolution, a 64x64 pixel Sculpt Map would describe up to 1024 vertices (with each pixel representing a single vertex). If you need more vertices, split your model up into multiple prims. For reference, a torus-shaped prim in SL has about 1000 vertices.

Q. Can I make flexi sculpted prims?

Not in this version but it is planned future work.

Q. Can I make Sculpt Textures (Sculpt Maps) in Photoshop or other paint programs?

Not easily, but with a technical understanding of sculpt textures it is possible to manipulate them. Check out the ongoing talk page discussions here and here.

Q. Can I texture a sculpted prim just like a regular one?

Yes. Each sculpted prim has one texture face. The texture space of a sculpted prim is defined by the sculpt texture.

Q. What will be the associated LSL functions and PrimitiveParams arguments?

Sculpted prims can be defined via LSL using the llSetPrimitiveParams() call like this:

At present, sculpted prims are approximated by a lopsided sphere that is roughly the same size as the sculpted prim. In the future, a more exact representation to the physics engine may be provided, thereby offering more realistic movement/collisions for sculpted prims.

Q. This sounds like it might take some extra processing power — will there be limits or can I have 15,000 sculpted prims per sim?

At a maximum of approximately 1000 vertices, sculpted prims have about the same "rendering weight" as a hollow torus prim. So no, they aren't more "expensive" to render, and you'll be able to fill your sim if you like.

Q. Is this technology available in the viewer now? If so.. how can I play with this feature? I can't find it!

Q. When will Sculpted Prims be available on the Main Grid, using the Standard Viewer?

We sincerely hope to have sculpted prims on the main grid within the next two months — but ultimately this will depend on the number of bugs we find and other external factors. The tentative release date is Wednesday, May 23rd.