Sign in to follow this  
Followers 0

Uploading a mesh model

Jeremy Linden
KBnote.png Note: This is a basic walkthrough of how to upload a model. For full details on the parameters available for uploading a model, see Model Upload UI reference.
KBnote.png Update: Viewer version modified the mesh importer to (optionally) improve debug output, perform name-based LOD association, and handle models with many materials.  For additional information on this update, see the official Second Life Viewer release notes.



Before you can upload mesh objects, you must:

  • Have payment information on file. You can add payment information by visiting the Billing Information section of your Second Life account page.
  • Have at least one compatible COLLADA (.dae) file on your computer. You can create your own by using most popular 3D software packages, or, if you have the appropriate rights, you can download models created by other 3D artists from online repositories. Try our sample content page for a free model if you're just getting started.

You may check your mesh upload status at any time by visiting your account page on the Second Life website.


Cost to upload

There is a Linden dollar fee to upload a model; the fee depends on the model's complexity.

GETTING STARTED: Uploading your first model

If you're new to uploading mesh models to Second Life, here's a quick and easy set of instructions to get you started. Don't worry about the myriad of controls in the upload window for now; they're for Residents who want fine control over their model's appearance and physics. For a more detailed breakdown of the upload procedure, keep reading below.

To upload a mesh model:

  1. Choose a .dae file stored on your computer by choosing Build > Upload > Model. If you don't have any models on your computer, you may download some from the sample content page.
  2. Preview your model's automatically generated levels of detail on the Level of Detail tab by clicking High, Medium, Low, and Lowest. Notice how the object's complexity is reduced at each level.
  3. Click the Physics tab and choose Lowest from the dropdown menu in Step 1: Level of Detail.  Step 2 and Step 3 are not required.
  4. Click the Upload options tab and check the boxes for any additional features on your model, such as textures.
  5. Click Calculate weights & fee, then review the resource weights, land impact, and Linden dollar upload cost of your model.
  6. Click Upload to upload your model to Second Life.
KBtip.png Tip: To avoid spending Linden dollars while experimenting with uploading models, you may wish to use the Second Life Beta Grid (Aditi). The Beta Grid allows you to test new features and experiment with potentially costly designs in a safe environment, using a copy of your Second Life account. Actions taken on the preview grid cannot affect your inventory or L$ balance on Second Life's main grid.


Step 1: Choose a model to upload

Second Life accepts COLLADA (.dae) models, which can be edited and created in many popular 3D modeling packages. If you do not currently have any COLLADA models on your computer, you may download some from the sample content page.

To begin uploading a model:

  1. Choose Build > Upload > Model...
  2. Select the .dae file on your computer and click Open.
  3. In the Upload Model window, enter a suitable name for your model in the Model name field.
  4. If your model includes textures, check the Textures box underneath the Preview pane to make sure the textures are displayed properly.


Step 2: Define visual levels of detail

Upload Model - LOD.png

Levels of detail determine what your model looks like from various distances. As you get farther away from a model, it renders in less detail to boost visual performance. Second Life generates these lower detail models by default, but you may use this step to tweak each level or even upload your own lower detail models. You can preview your model at any level of detail by clicking High, Medium, Low, or Lowest.

While previewing your model at each level of detail, you may change the parameters used for simplifying it from your original model if you chose Generate from one of the Source dropdown menus. For full details on Triangle Limit and Error Threshold, see Upload Model UI reference.

Uploading your own LOD files

You may upload your own simplified models by choosing Load from file from the Source dropdown menus. You may wish to create your own lower-detail models in order to preserve critical details that may be lost during the automatic simplification process.

 The mesh uploader uses very strict naming rules for these custom LOD files:

  • File names ending with "_LOD2" must be used for Medium level of detail
  • File names ending with "_LOD1" must be used for Low level of detail
  • File names ending with "_LOD0" must be used for Lowest level of detail
  • File names ending with "_PHYS" must be used for the model's physics shape

Additionally, material names must match exactly between each level of detail.  Some 3D modeling programs such as Blender automatically change material names to prevent duplication when multiple versions of a model are loaded into the same scene.

Material names are sorted alphabetically upon importing a model from the 3D modeling program of your choice, and may not retain the order they had in the original model.  If material order is important to your model, you must name them accordingly.

For more detailed information on uploading mesh models with multiple materials, see Uploading a multi-face mesh on the Second Life Wiki.

KBnote.png Note: If you need to upload an old model that does not conform to these LOD naming rules, you may enable the debug setting called ImporterLegacyMatching in the Second Life Viewer.  Access the Debug Settings window by choosing Advanced > Debug Settings from the top menu bar.

Step 3: Define the model's physics shape

Upload Model - Physics.png

A model's physical shape, as interpreted by Second Life's physics engine for calculating collisions, can be different from its visual shape. For example, you may wish to simplify a very complex vehicle into a square physical box shape, which allows you to have a visually complex vehicle that requires comparatively little physics computation and does not overtax the region's ability to process moving physical objects. You may upload your own physics representation as a .dae file or you may use Second Life's analysis and simplification tools to generate a physics shape automatically.

The quickest way to generate a physics model for your object is to choose Use Level of Detail and select a level of detail from the dropdown menu. This creates a physics model based on one of your model's visual levels of detail. Remember that lower physics costs are desirable, so choose the lowest level of detail that reasonably represents the shape of your model.

You do not need to complete Step 2: Analyze or Step 3: Simplifiy unless your physics model is extremely complex or shows red lines in the preview window. For advanced information on usage of the physics analysis and simplification tools, see Upload Model UI reference.


Step 4: Upload options

Upload Model - Upload Options.png

Before you upload, make sure to include any necessary optional parameters on the Modifiers tab:

  • Scale: Changes the base size of your model. Increasing the scale increases the resource cost.
  • Include Textures: Includes any textures applied to the COLLADA model. The textures are automatically applied to the Second Life version of the model when it is uploaded.
  • Include Skin weight: Includes any skin weight information in the COLLADA model. This option only applies to models that are meant to move and flex with your avatar when worn as avatar attachments.
  • Include Joint positions: Includes joint position information from the COLLADA file. This option only applies to models that are meant to alter an avatar's joint positions when worn as an attachment.
  • Pelvis Z Offset: Changes the vertical positioning of a rigged model.


Step 5: Calculate weights & fee

When you click Calculate weights & fee, Second Life calculates the download, physics and server weights of your model in order to determine its land impact and Linden dollar upload cost. The base Linden dollar cost to upload is L$10 plus L$10 for each texture applied to the model, and an additional cost based on the complexity of the model.
For more information about weights and land impact, see Calculcating land impact.

Step 6: Upload

When you upload a model, it appears in the Objects folder in your inventory. As with all objects in Second Life, you can then drag it from your inventory to the ground, or you can wear it as an attachment.


Bonus section: Rigging options

Upload Model - Rigging.png

Rigged models allow you to represent your avatar skeleton as a mesh that conforms to your joints and motions. This means that you can wear a rigged model that changes the length and orientation of your avatar's limbs and animates accordingly.

If your COLLADA model contains joint position and skin weight information, you can preview how it will look with an avatar's default idle animation by checking the Skin weights box underneath the Preview pane.


Wearing a model with rigging

You may wear a rigged model by right-clicking it in your inventory and selecting Wear. You may often wish to pair a rigged model with an alpha mask to hide your avatar's normal shape.

Sign in to follow this  
Followers 0

User Feedback

Concerning the "strict naming" of "custom LOD files". This paragraph appears to be inaccurate and/or superceded by code changes* in two ways. First, I recall that it was the naming of the objects in the file that had the strict suffix requirements, not the naming of the files. Second, this requirement seems to have been relaxed, even with ImporterLegacyNaming set to False. Thus the file combinations listed in BUG-8996 are uploaded successfully whether ImporterLegacyNaming is True or False. Neither the file names, nor the object names in those files have the prescribed suffixes. This is presumably because something like the changes requested in that jira, which make life much easier, were made. This part of the documentation was probably written before those changes. {*tests in release viewer 3.8.4 (305119)}.

(Note however that this may change again with recent commits for 8.3.5)

Share this comment

Link to comment
Share on other sites