Sculpted Prims: FAQ

From Second Life Wiki
Revision as of 08:33, 17 August 2009 by Wiki Scribe (talk | contribs) (Robot: fixing common SL terms)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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 complex shapes that are not currently possible with Second Life's prim system.
  • Sculpted prims were originally intended by Linden Lab to support only soft organic shapes with imprecise surface definition, but by popular demand were later extended to support the creation of complex, hard-edged objects with precise surface definition, similar to traditional 3D surface meshes used in other 3D software.


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.


Q. Why use textures (images) to encode shapes?
  • An image is just an array of numeric triples, which is what you need for a sculpty, so why not? Also, using image formats to encode shapes comes in very handy because there are many existing tools for handling them. 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.
  • The original Linden Lab implementation of sculpted prims used a lossy texture compression method to store the shape in Second Life's asset storage system. This resulted in an object created with hard edges being softened when uploaded into the world, creating only rough approximations since the upload necessarily discarded some of the texture detail.
  • By popular demand, an option was added to permit the use of lossless compression when the sculpt texture is uploaded, to preserve the texture detail and the original object shape, at a cost of greater texture storage requirements in the Second Life asset system.


Q. Where can I go to obtain or share Sculpt Maps and Textures?


Q. How can I make a Sculpt Texture?

One way is to create a 3D model in an external 3D software package, and then export a SculptMap for uploading to Second Life.

Members of the SL community have written several tutorials for Blender, an open-source 3D modeling platform. Qarl Linden has written an exporter for the Maya modeling program (code available here, installation instructions below). There is a tutorial for using AC3D to export any pre-existing 3D model. Exporters for 3D Studio Max and ZBrush are available. There is also import/export for Wings 3D. Daz3d has also made a tab in Hexagon 2.5 devoted to Sculpted prims.

Linden Lab has plans to provide a sculpt editor within the Second Life viewer. Check the Sculpted Prims: 3D Software Guide wiki page for more the latest developments; there's an ongoing discussion Sculpted Prims:Talk page.

A second way is to calculate the texture directly using a programming language and the mathematics of the shape. For examples, see Tatara or nand Nerd's Sculpt Texture Generator.

A third way: A number of Residents have created in-world tools with LSL and web code - you can select a number of parameters or edit a array of normal prims from which the program calculates the points of the sculpt texture.

An extensive list of resident-created tools both inworld and out can be found here: Sculpted Prims: Resident-made Tools .


Q. How do I create a Sculpted Prim from a texture?
  • First create a regular prim (any type). Then edit it, and in the object tab change the prim type to sculpted. You'll then be able to select the sculpt texture on that tab. The "Texture" tab will allow you to change the surface texture.


Q. How do i use the Maya exporter?
  • 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).


Q. Can Polygon Models be exported as Sculpt Textures (Sculpt Maps)?


Q. Can my 3D program do NURBS models?
  • 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 32x32 grid of vertices, which drops to 16x16 or 8x8 as the prim moves away from camera.


Q. How big should my Sculpt Textures/Sculpt Maps be?


Q. Are there any size or distance restrictions on Sculpted Prims?
  • Sculpted Prims use the same position, rotation, and size parameters that a normal prim has. For example, this means that the maximum distance from the center of a sculpted prim is 5m as prims can be no more than 10m from side to side.


Q. Can "huge prims" be used to make "huge sculpties"?


Q. The demonstration video shows a lot of smooth shapes. Can I use Sculpted Prims to make sharp corners and angles? What if I want to create more complex shapes?
  • Since the introduction of lossless compression for sculptie maps, 8 bit precision is now possible. The name "sculpted prim" was chosen to convey the idea of "approximate" shapes — but as you can see from the plate in the image above, "approximate" is pretty close to "exact". Depending on the techniques used to produce the map, a sculpted prim can have a very defined edge. At maximum resolution, a 32x32 pixel Sculpt Map would describe up to 1024 vertices (with each pixel representing a single vertex). The recommended sculpt map resolution is 64x64 pixels but in practice the highest level of detail for sculpted prims in Second Life is a grid of 32x32 vertices (larger images are downsampled), and the lower level of detail uses 16x16 or 8x8 vertices. 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. With image pixels defining the position of the prim's vertices, will jpeg compression artifacts not skew the vertex positions?
  • This can be avoided using the "Lossless Compression" option when loading your sculptie texture. Support for 16bit textures might be added in the future to allow even greater precision.


Q. After making a Sculpt Texture (Sculpt Map), it seems to be 'inside out', when applied on a prim. What can I do to fix that?
  • This means the 'U' of the UV map needs to be reversed. Check the "inside-out" checkbox in the object tab of Build window. Or, open the Sculpt Texture in any image editor and 'flip' it horizontally.


Q. Can I make flexi sculpted prims?
  • Not at present but it is planned for a future revision.


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


Q. Can I preview Sculpt Maps in the Texture Upload window?
  • Yes, the texture upload preview has a "sculpted prim" mode.


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 about the UV mapping of the Sculpted Prim's single texture?
  • You can use the texture scale/rotate/offset controls to position the texture on the sculpted prim. In terms of UV mapping, the sculpt map defines the texture space — the sculpted prim will have the same UV space as the object in your modeling program.

Users are discovering various ways to create UV-maps to aid in the creation of image textures.


Q. What happens if I use a normal texture instead of a sculpt map as the sculpt texture?
  • The result is affectionately called "vertex vomit" — ... and no, it's not pretty.


Q. What will be the associated LSL functions and PrimitiveParams arguments?
llSetPrimitiveParams([PRIM_TYPE, PRIM_TYPE_SCULPT, "uuid", PRIM_SCULPT_TYPE_SPHERE]);
llSetPrimitiveParams([PRIM_TYPE, PRIM_TYPE_SCULPT, "uuid", PRIM_SCULPT_TYPE_TORUS]);
llSetPrimitiveParams([PRIM_TYPE, PRIM_TYPE_SCULPT, "uuid", PRIM_SCULPT_TYPE_PLANE]);
llSetPrimitiveParams([PRIM_TYPE, PRIM_TYPE_SCULPT, "uuid", PRIM_SCULPT_TYPE_CYLINDER]);


Q. How do sculpted prims work in the physics engine?
  • At present, sculpted prims are approximated by a lopsided sphere that is roughly the same size as the sculpted prim.

If you stand or sit on one, you might sink in, or you might levitate. 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. When I edit a sculpted prim, the sculpt map is perfectly visible in the editor window. Someone can easily steal it with a screen capture.
  • Just like regular prims, when you have modify permission to a sculpted prim, you may view/edit all of the shape parameters of that prim. So if you do not wish for others to see the sculpt map, you'll want to set the permissions of the prim to no modify.
  • BUT - there is a cute trick which can be used to prevent others from seeing your sculpt map even when they have full permissions to the prim: use the alpha channel of the sculpt map to obscure it from view. However if you have full premissions and you load the texture into an editor and resave it, it will lose the alpha channel and the protection.


Q. Sculpted prims are limited to 32x32 vertices at their highest resolution. If I've uploaded a 256x256 sculpt map, how can I get the sculpted prim to show that detail?
  • You cannot. Currently in Second Life, we use the "prim economy" to prevent builders from "stealing" rendering resources from each other. Each region is allowed 15,000 prims, each of which may have 1024 vertices. These resources are divided proportionally amongst the region's landowners. This balance works well with the current state of rendering hardware. There are no plans to increase these numbers in the near future.

See also

External Links