Sculpted Prims

From Second Life Wiki
Revision as of 18:40, 27 April 2007 by Qarl Linden (talk | contribs)
Jump to navigation Jump to search
Sculpted Fruit.jpg

FAQ

Q: What is a sculpted prim?

A: A "sculpted prim" is a prim whose shape is determined by a texture - its "sculpt texture". Sculpted prims can create organic shapes that are not currently possible with Second Life's prim system.


Q: What is a sculpt texture?

A: A sculpt texture is a standard RGB texture where the R, G, and B channels are mapped onto X, Y, and Z space. For those familiar with computer graphics - a sculpt texture is very similar to a normal map, 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 (for each of X, Y, and Z.) They are also very similar to parametric (e.g. nurbs) surfaces.


Q: How can I make a sculpt texture?

A: The easiest way is to create a model in an external 3d package and use an exporter. We provide an exporter for Maya, and hopefully exporters for 3ds Max, Blender, and ZBrush will be available soon. We also have plans to provide a sculpt editor within the Second Life viewer.


Q: How detailed can a sculpted prim be?

A: Our current implementation samples the sculpt texture by different amounts depending on level of detail (LOD.) Prims which are close to the camera get a 32x32 grid of vertices, which drops to 16x16 grid as the prim moves away from camera, and so on.


Q: But why use textures (images) to encode shapes?

A: 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 to another - attached to a sculpted prim, the prim would "morph" from one shape to the other. Or, as another example - it would be easy to have a flash animation generate a sculpted prim - and when a resident touches a spot on its surface, the shape could wiggle and ripple appropriately. This is the direction we are headed.


Q: How big should my sculpt textures be?

A: We recommend you use a 64 by 64 pixel image. More data is really unnecessary - less can result in bad sampling when the sculpted prim changes LOD.


Q: How do sculpted prims work in the physics engine?

A: Currently, sculpted prims are approximated by a lopsided sphere having roughly the same size as the sculpted prim. In the future we may provide a more exact representation to the physics engine - thereby providing more realistic movement/collisions for sculpted prims.


Q: How do i use the Maya exporter?

A: Go to this page and copy the text of the script. Paste it into your Maya script editor, and optionally drag it into a button on your tool bar. When the script is run, it will pop-up a dialog box of 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 the poly-mesh has a PERFECT uv space (it must cover the entire surface, and the space must have no holes.)


Q: The video shows a lot of smooth prims. Will we be able to make sharp corners and angles?

A: Similar to NURBS surfaces - a sculpted prim can have a defined edge by dedicating more control points to that area.


Q: Will we be able to make flexi sculpted prims?

A: Not in this version - this is planned future work.



Q: Will I still be able to texture a sculpted prim like a regular one?

A: Yes - each sculpted prim has one texture face. The texture space of a sculpted prim is defined by the sculpt texture.


Q: This sounds like it might take some extra processing power - will there be limits or can I have 15000 sculpted prims per sim?

A: Sculpted prims have 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!

A: We've been focused on recent deploy troubles - so no promises - but the sculpted prims should be available on the preview grid by the end of next week, or the beginning of the week after.


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

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

llSetPrimitiveParams([PRIM_TYPE, PRIM_TYPE_SCULPTED, "texture-name-or-uuid"]);