Difference between revisions of "Mesh/Technical Overview"

From Second Life Wiki
Jump to navigation Jump to search
(Created page with "Technical overview should include: * Summary of how mesh works * Summary of toolchain * Differences between existing prim system and mesh")
 
m (Added some footnotes)
 
(15 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{multi-lang}}
{{Navbox/Mesh|tech}}
{| style="vertical-align:top; background-color:#fff0cb" cellpadding="10" cellspacing="0" border="1"
|- style="font-weight:bold; color:green; background-color:#96c5af"
|colspan="2"|Fact Sheet
|-
|Textures per Prim
|up to 8 texture faces per Prim
|-
|Textures per <br>(model) face
|1
|-
|Materials per Prim
|Materials are currently synonym for texture faces
|-
|width=150|Vertices & Triangles
|65536 vertices per texture Face
21844 triangles per Texture Face.
'''Note: there is a caveat here:'''
Whenever the triangle count of a Texture Face exceeds the limit of 21844 triangles, then the SL Importer automatically creates a new texture face, thus it automatically fixes your mesh when the triangle count per face gets too high. Actually the Importer creates as many texture faces in chunks of of up to 21844 triangles as needed for your model.
Thus when your triangle count per Texture face (in Blender triangle count per material) exceeds the limits, you will have more Texture faces in your Second Life Object than you specified in your 3D tool. But due to the limit of 8 allowed Texture Faces per Object (see above) your mesh can not have more than 8*21844 = 174752 triangles. The SL Importer will cap the exceeding amount of triangles and force this upper triangle limit on your mesh.
|-
|Objects per Upload
|
* One Object containing an arbitrary amount of Mesh Prims. You will get a Linkset when rezzing the upload. You can separate the Prims within the linkset if you like (just like with any other Linkset).
* Note that a Mesh Prim can consist of multiple unconnected "sub" meshes. Since a Mesh Prim is the smallest rezzable entity, such a mesh prim is an equivalent to a fractional sculpty  from the visual impression, but has a cleanly defined Model.
* It is up to your tool how you distinguish between separate meshes in ONE object or separate Objects.
|-
|Alpha-textures
|yes, but take care of the Alpha Sorting issue returning back on meshes.In general alpha textures currently create a mess. However there are some exceptions where they work well.
|-
|Normal-textures
|Not in first release<ref name="yes-today">Available today (as of Nov. 2023)</ref>
|-
|Specularity-textures
|Not in first release<ref name="yes-today"/>
|-
|Environmap-textures
|Not in first release<ref>If this refers to what now is known as {{abbr|[[PBR]]|Physically based rendering}} materials, then it can be uploaded as of late Nov. 2023)</ref>
|-
|Custom Pivot
|(Change the center of a mesh): Not supported in first release
|-
|Mesh without physics
|not supported (every Object needs a physics definition). Best approach: Use simple physics meshes (A single triangle will do when you are sure that your mesh really never needs physics)<ref>Note that it's also possible to just define the bounding boxes as the physics mesh, which should be fine for most attachments. A good exception to this rule would be melee weapons, since, during combat, those require defining where the impact point actually is (to see if it struck the target or not). Chairs, sofas, etc. might be able to get away with sophisticated meshes, so long as there is a clearly defined space for the avatar to sit (then again, you can always use [[llSitTarget]] to position avatar(s) when sitting down...). But things like jewelry most definitely can just have the simplest of meshes.</ref>
|}
=== Notes ===
{{References}}
=== To-Do ===
Technical overview should include:
Technical overview should include:
* Summary of how mesh works
* Summary of how mesh works
* Summary of toolchain
* Summary of toolchain
* Differences between existing prim system and mesh
* Differences between existing prim system and mesh

Latest revision as of 06:29, 30 November 2023

Fact Sheet
Textures per Prim up to 8 texture faces per Prim
Textures per
(model) face
1
Materials per Prim Materials are currently synonym for texture faces
Vertices & Triangles 65536 vertices per texture Face

21844 triangles per Texture Face.

Note: there is a caveat here:

Whenever the triangle count of a Texture Face exceeds the limit of 21844 triangles, then the SL Importer automatically creates a new texture face, thus it automatically fixes your mesh when the triangle count per face gets too high. Actually the Importer creates as many texture faces in chunks of of up to 21844 triangles as needed for your model.

Thus when your triangle count per Texture face (in Blender triangle count per material) exceeds the limits, you will have more Texture faces in your Second Life Object than you specified in your 3D tool. But due to the limit of 8 allowed Texture Faces per Object (see above) your mesh can not have more than 8*21844 = 174752 triangles. The SL Importer will cap the exceeding amount of triangles and force this upper triangle limit on your mesh.

Objects per Upload
  • One Object containing an arbitrary amount of Mesh Prims. You will get a Linkset when rezzing the upload. You can separate the Prims within the linkset if you like (just like with any other Linkset).
  • Note that a Mesh Prim can consist of multiple unconnected "sub" meshes. Since a Mesh Prim is the smallest rezzable entity, such a mesh prim is an equivalent to a fractional sculpty from the visual impression, but has a cleanly defined Model.
  • It is up to your tool how you distinguish between separate meshes in ONE object or separate Objects.
Alpha-textures yes, but take care of the Alpha Sorting issue returning back on meshes.In general alpha textures currently create a mess. However there are some exceptions where they work well.
Normal-textures Not in first release[1]
Specularity-textures Not in first release[1]
Environmap-textures Not in first release[2]
Custom Pivot (Change the center of a mesh): Not supported in first release
Mesh without physics not supported (every Object needs a physics definition). Best approach: Use simple physics meshes (A single triangle will do when you are sure that your mesh really never needs physics)[3]

Notes

  1. 1.0 1.1 Available today (as of Nov. 2023)
  2. If this refers to what now is known as PBR materials, then it can be uploaded as of late Nov. 2023)
  3. Note that it's also possible to just define the bounding boxes as the physics mesh, which should be fine for most attachments. A good exception to this rule would be melee weapons, since, during combat, those require defining where the impact point actually is (to see if it struck the target or not). Chairs, sofas, etc. might be able to get away with sophisticated meshes, so long as there is a clearly defined space for the avatar to sit (then again, you can always use llSitTarget to position avatar(s) when sitting down...). But things like jewelry most definitely can just have the simplest of meshes.

To-Do

Technical overview should include:

  • Summary of how mesh works
  • Summary of toolchain
  • Differences between existing prim system and mesh