Sculpted Prims: Importing

From Second Life Wiki
Jump to navigation Jump to search

Currently there is a push to get the client to import models as sculpted prims from a variety of 3d modeling formats.

•  3dm Rhino & MoI VWR-858
•  3ds 3D Studio Max VWR-1111
•  obj Wavefront VWR-1110


The main method currently for doing this translation is to use UV mapping cordinants to retrieve positions on the surface of the mesh. There are three hurdles to this.

  1. UV mappings may be missing or not continuous.
  2. The objects may be made up of multiple surfaces.
    • Distributing the limited LOD appropriately.
    • Stitching surfaces together. The UV mapping along the edges may not align.


Current importers & converters get around these problems by ignoring them and only allowing the user to import one surface objects with continuous UV coordinates.


The correct approach to this is to refactor the mesh and UV coordinates into a single surface. To stitch two surfaces together without complex math, the derivatives of the UV coordinates need to match on each side of edge.


my concern here is that there is no one good way to convert an arbitrary mesh to a parametric surface. there are many partial solutions, which when used by hand and in conjunction with each other can do the job - but to automatically handle all OBJ files seems to be an impossible job. i guess i could be wrong - but i'm looking for proof in the pudding. my metric has been "if it can import 90% of the shapes present on [turbosquid.com turbosquid.com] without too much error, then it's ok." --Qarl Linden 16:13, 26 June 2007 (PDT)

for an example of these partial solutions - i've seen a paper on "simulated pelting" - where an objects skin is peeled off and attached to virtual springs and stretched to a flat square shape. this is the level of absurdity involved... :) --Qarl Linden 16:23, 26 June 2007 (PDT)

Hadn't thought to read any papers on the topic. My thought was to let the user pick two arbitrary points on the mesh, then have the areas of higher complexity have a higher number of vertecies. Then on top of that there would be a preview window which the user could color to give areas more or less detail. Hadn't thought of it in terms of pelting... the spring approach sounds like a good idea; reminds me of summer camp and scraping hides. The main reason why I don't think this should be part of the client is so it can output an object that can be then imported into another app for texturing. The current approaches don't deform and remap the UVs, but to do arbitrary mesh you would have to. I think the UVs currently on the objects can help in the process of square pelting. -- Strife Onizuka 00:13, 27 June 2007 (PDT)