How to correctly upload mesh
Posted: Fri Jan 29, 2016 6:01 pm
There seem to be a number of threads relating to uploading mesh and various issues attached to it. So I thought I would offer some best practices for people.
This is a big issue with a number of facets. I will try to cover them all one at a time.
DISCLAMER - While I know more than a thing or two about this topic, I reserve the right to be wrong. We are all students and teachers. What is shared below is my workflow and what my customers receive when they shop at my store. These best practices are applicable to Kitely. I cannot speak for other grids who might have implemented their own system.
1. YOUR MODEL
This is aimed mostly at people finding things on the internet and trying to upload them. You must understand that a huge amount of objects you will find available for free are not suitable for virtual environments. They are designed for "rendering" or CAD (computer assisted design) and are "high poly". These objects take a long time for your CPU to calculate and are not intended for "real time" environments such as Opensim.
Polycount/Tricount is always context sensitive but a rough guide would look something like.
A rock - 20-300 tris
A basic chair - 20-100 tris
A cliff face - 500-2,000 tris
A house - 1,000-9,000 tris
A tree - 750- 8,000 tris
A castle or mansion - 6,000-20,000 tris.
Note the upper thresholds are rather generous. Most of these objects can be accomplished to a high standard while staying in the low end of the ranges I give. The golden rule is ALWAYS use as few tris as possible.
There really is nothing you should be uploading into virtual worlds over 20,000 tris. 99% of the time much, much less.
Your objects should ALWAYS be joined into the smallest number of pieces possible. A mesh can have 8 texturable faces (materials). Similarly your textures should be coalesced into as few texture maps as possible, or re-used where possible. Preferably both.
2.LOD
LOD (meaning Level of Detail) is a massive topic that I cant possible cover in its entirety. The concept you need to understand is that as you or your cam move away from an object, its LOD decreases, from highest to lowest. This is effected by the objects size. So a small object will require more LOD stages than a large one. It is also effected by your viewers "object and sculpts LOD" slider found in "preferences" under "graphics".
A LOD stage is basically a separate version of the model. You can make up to three of them. Usually, I only make one. So you have the original model and a "LOD" version, which is lower detail and in most cases lower poly count. You can use the auto generated ones provided by the uploader, but they tend to be a mess of triangles. You can play with the tri values of each, then click the adjacent numbers (under the "trinagles" and "vertices" headings) to view the model. But its best to upload your own.
So for instance, a large cliff would only need two LOD stages (original and LOD1), but an Apple would probably benefit from 2 LOD stages. I NEVER use the last LOD stage. Ever. Its pretty useless in all cases IMHO and in SL, it significantly increases Land Impact. So I avoid it. Nobody has ever complained in 4+ years.
3. GENERATE NORMALS
Normal mapping is a technique for faking lighting. You can make a low poly model look much smoother by checking the box and increasing the value to 90 or 180. If you notice your mesh has sharp, unpleasant lines under certain windlight conditions, re-upload it and try this.
4. PHYSICS
The dreaded physics. It is important to understand a big difference between SL and OS here. In SL if you choose no physics model, the item will upload as essentially "phantom" with no physics. This is NOT how it works here. In OS, the uploader will take your ORIGINAL model as the physics model. Which means you will have full physics by default, but unless your object is low poly to begin with, this will punish your computer in the long term. You might not notice with one item, but a region full of items uploaded in this way is a one way ticket to lag city.
The first question you should ask yourself with any item is do I need physics AT ALL? Unless your object will be directly walked on or bumped into, it does not need physics. So things like bowls, swords, picture frames, grass all require no physics. You can set no physics by setting your final LOD stage to 0 (as suggested earlier) and then selecting "lowest" in the physics menu. You will maybe get a few tris as the model, but thats ok because any object without physics should also be set to phantom.
Most objects can use a simple box. Which you can export from the blender open screen as a DAE. You then choose "upload from file..." in the physics menu.
Last I checked, the "analyse" button does not work in OS.
So now your all set. When you hit "calculate" it should take no more than 15-20 seconds for the "upload" button to appear. For small items, it should be almost instant. If it is not then either your original model is too high poly or your LOD stages and physics are not optimised.
So I hope that sets you on the right path and I welcome any questions or comments.
This is a big issue with a number of facets. I will try to cover them all one at a time.
DISCLAMER - While I know more than a thing or two about this topic, I reserve the right to be wrong. We are all students and teachers. What is shared below is my workflow and what my customers receive when they shop at my store. These best practices are applicable to Kitely. I cannot speak for other grids who might have implemented their own system.
1. YOUR MODEL
This is aimed mostly at people finding things on the internet and trying to upload them. You must understand that a huge amount of objects you will find available for free are not suitable for virtual environments. They are designed for "rendering" or CAD (computer assisted design) and are "high poly". These objects take a long time for your CPU to calculate and are not intended for "real time" environments such as Opensim.
Polycount/Tricount is always context sensitive but a rough guide would look something like.
A rock - 20-300 tris
A basic chair - 20-100 tris
A cliff face - 500-2,000 tris
A house - 1,000-9,000 tris
A tree - 750- 8,000 tris
A castle or mansion - 6,000-20,000 tris.
Note the upper thresholds are rather generous. Most of these objects can be accomplished to a high standard while staying in the low end of the ranges I give. The golden rule is ALWAYS use as few tris as possible.
There really is nothing you should be uploading into virtual worlds over 20,000 tris. 99% of the time much, much less.
Your objects should ALWAYS be joined into the smallest number of pieces possible. A mesh can have 8 texturable faces (materials). Similarly your textures should be coalesced into as few texture maps as possible, or re-used where possible. Preferably both.
2.LOD
LOD (meaning Level of Detail) is a massive topic that I cant possible cover in its entirety. The concept you need to understand is that as you or your cam move away from an object, its LOD decreases, from highest to lowest. This is effected by the objects size. So a small object will require more LOD stages than a large one. It is also effected by your viewers "object and sculpts LOD" slider found in "preferences" under "graphics".
A LOD stage is basically a separate version of the model. You can make up to three of them. Usually, I only make one. So you have the original model and a "LOD" version, which is lower detail and in most cases lower poly count. You can use the auto generated ones provided by the uploader, but they tend to be a mess of triangles. You can play with the tri values of each, then click the adjacent numbers (under the "trinagles" and "vertices" headings) to view the model. But its best to upload your own.
So for instance, a large cliff would only need two LOD stages (original and LOD1), but an Apple would probably benefit from 2 LOD stages. I NEVER use the last LOD stage. Ever. Its pretty useless in all cases IMHO and in SL, it significantly increases Land Impact. So I avoid it. Nobody has ever complained in 4+ years.
3. GENERATE NORMALS
Normal mapping is a technique for faking lighting. You can make a low poly model look much smoother by checking the box and increasing the value to 90 or 180. If you notice your mesh has sharp, unpleasant lines under certain windlight conditions, re-upload it and try this.
4. PHYSICS
The dreaded physics. It is important to understand a big difference between SL and OS here. In SL if you choose no physics model, the item will upload as essentially "phantom" with no physics. This is NOT how it works here. In OS, the uploader will take your ORIGINAL model as the physics model. Which means you will have full physics by default, but unless your object is low poly to begin with, this will punish your computer in the long term. You might not notice with one item, but a region full of items uploaded in this way is a one way ticket to lag city.
The first question you should ask yourself with any item is do I need physics AT ALL? Unless your object will be directly walked on or bumped into, it does not need physics. So things like bowls, swords, picture frames, grass all require no physics. You can set no physics by setting your final LOD stage to 0 (as suggested earlier) and then selecting "lowest" in the physics menu. You will maybe get a few tris as the model, but thats ok because any object without physics should also be set to phantom.
Most objects can use a simple box. Which you can export from the blender open screen as a DAE. You then choose "upload from file..." in the physics menu.
Last I checked, the "analyse" button does not work in OS.
So now your all set. When you hit "calculate" it should take no more than 15-20 seconds for the "upload" button to appear. For small items, it should be almost instant. If it is not then either your original model is too high poly or your LOD stages and physics are not optimised.
So I hope that sets you on the right path and I welcome any questions or comments.