Sunday, April 28, 2013

Download, Server and Physics, Oh My!

So many people get flummoxed over the final LI of their mesh that I thought I would try to put into simple terms some things you can do to figure out how to get the best LI and that means understanding your mesh and the Second Life Upload window. This will be an amalgamation of information from various sources, so they can be accessed on one page and the information is accurate as I have understanding of it at the time of this writing in April of 2013. Once you create your mesh, whether with Mesh Studio or any other 3D program, it is time to upload it.


While working with your LODs and physics mesh is very important, once you upload, there are three things which determine the final cost and LI of your mesh:  the DOWNLOAD, PHYSICS, and SERVER calculations.  The highest of these three calculations becomes your LI.


•What is LI?

The terms land impact and land capacity replace prim count and prims parcel supports, but the numerical values remain the same for legacy objects made only of standard prims.  Therefore, a linked object composed of 42 normal prims with their physics type set to Prim has a land impact of 42.  (source)



•What is Download, Physics and Server?


For each object in the Second Life world, Second Life compares three important performance factors: download weightphysics weight, and server weight. It then chooses the highest of these weights and assigns it to the object as that object's land impact rating.
Here's a very quick overview of the different weights; for more information on each, follow the links below:
  • Download weight: Calculated by determining how much bandwidth is required to download and view the object. Larger and more visually complex objects have a higher download weight. You can reduce the download weight of complex objects by generating or uploading less complex meshes for differing levels of detail when you upload a model.
  • Physics weight: Calculated by determining the complexity of the object's physics model. You can reduce the complexity of a mesh's physics model by using the analysis and simplification tools in the Upload Model window, by uploading your own less-detailed physics model, or by choosing a different physics shape type, such as Convex Hull, on the Features tab of the Build Tools window. Vehicles must have a physics weight of 32 or lower, but may have higher download or server weights.
  • Server weight: Measures the impact an object has on Second Life's server resources. Objects that are composed of many prims and have physics enabled and/or contain scripts tend to have high server weights. (source)


•How can I offset these calculations to lower my LI?

If the high contributor is DOWNLOAD weight.  This has to do with your LODs.  

In MS, you control your LODs by using the Mesh Studio menu when generating your meshes as described in these articles:

http://meshstudiovirtual.blogspot.com/2013/02/a-beginners-workflow-guide-for-mesh.html?view=magazine

http://meshstudiovirtual.blogspot.com/2012/09/optical-optimization-options.html?view=magazine

The other way is to use physically modified copies of the prim linkset where you remove prims, or simplify forms by combining parts.  Remember that the LODs represent what you see as you cam away and you see less detail when you do that.  

Also remember, and take into consideration, that if anything you remove removes a part that was its own prim material face, at least one face on your linkset must survive that has that material on it.  (Example:  if your linkset is set up to have 4 prim material faces, then all the LOD mesh must contain the same 4 prim material faces on at least one face somewhere on the build.)

Look at your build carefully.  The larger the build will eventually be in SL, the more impact the types of prims you use will have on how quickly the LI jumps.  If the mesh uses cylindrical beams, for instance, you could change these to box beams in the lower LODs as boxes are the simplest form you can use.  Again, read the Optical Optimizations article for more insights. 

In Blender, similarly, it's a matter of simplifying the forms in your meshes:  cylinders to cylinders with fewer sides or down to square box shapes, etc.  You can take your high LOD mesh and copy it and use the "dissolve" function in the menu that appears when you press X in edit mode.  You can remove loops.  Dissolve is great since it preserves the UVs.  You want to watch your UVs as you work.

When you cam away from your mesh in SL, you want to retain the overall silhouette of your object, and lose detail as you back away.

If PHYSICS is the high contributor, you need to examine your physics mesh.  If you did not provide one, it likely used the number of triangles in your lowest LOD to make its calculation.  If that is the case, lowering that number will help resolve that issue.  If you provided the mesh, then you need to study how you made your physics mesh.  

Remember that the physics mesh is simply telling SL, "here is what I want to walk on, there is what I don't want to walk through, this is an opening through which I want to pass."  This implies that you can use planes to create the surfaces.  It has been shown that using boxes will be fine to use and not much of a contributor.  If you are dealing with very large builds, perhaps it would be wise to consider using planes with possible.  This article deals with Physics and shows how to create single planes from a box for use in Mesh Studio.

Remember to simplify your forms for phsyics.  If you have a wall with windows and a doorway, you don't need to walk through the windows, normally, you do through the doorway.  Simplify the wall as if it doesn't have windows.  If the door is round, simply to a square.  If the wall is thick enough that you think your customers will walk into them, then do a physics shape for each side without edges inbetween them.  For curved surfaces, such as a round balcony, use flat planes in the least amount that will help keep the balcony from being walked through.  Narrow faces create narrow triangles and these are not good for physics shapes and can throw errors.

This information will serve the same if you are making your meshes and physics shapes in Blender.

If SERVER is the high contributor, in Mesh Studio, this normally means you may have used the Object2Mesh script as opposed to the Object2JoinedMesh script since the server calculstion has to do with the complexity of the mesh which can be greatly affected by the number of unjoined meshes.

In Blender, joining the meshes will help you.


If I can find more info on this topic, I will update this article, but hopefully this bit will assist you in leaning out your meshes while keeping them pretty and efficient.

Happy Meshing!
~ele




No comments:

Post a Comment