

It is just very evident in this case because the mesh is thin on one axis. If a mesh were to fill more of the cubic volume then SL doesn't have to stretch it as much, so the issue with the vertex normals is less pronounced. If SL computes the normals at this stage, this is how you end up with the result in the 2nd frame. You can see that the mesh is stretched to fit inside the volume of a cube. This is the mesh from SL, but instead of applying the transforms I have just reset the scale (Alt+S while in object mode). At this point the mesh basically looks like the one we first exported from Blender. If I apply object transforms to the mesh, it fixes any shading issues as the process re-averages the normals. This will cause problems with normal maps like I showed in my original post. You can see the scale transform parameters have changed, and the shading on the mesh is different as the vertex normals are pointing in a different direction. The 2nd frame is the mesh after I uploaded it to SL, saved a collada from SL, then imported it back into Blender. The parameters were already how you see them, but I applied the object transform anyway just to rule anything out. The 1st frame in the image below I have the mesh in Blender. I've switched to using blender so that there won't be any discrepancies. You wouldn't encounter any issues if you were looking at a sphere or a cube as the bounding dimensions are already equal.Īgain though, Blender does its own thing so you won't be able to see the problem. The mesh on the right which was saved from SL has a smaller scale transform on the Y axis, so SL must being scaling the mesh such that the vertices fill the bounds of a box before it calculates the normals. You can see the mesh on the left that has had no interaction with SL has correct scale transforms and the normals are fine.


But if I imported the mesh into SL then saved a collada from there I ran into problems. That being said, I exported a collada file from max and reimported it, the normals remained consistent. I also couldn't reproduce the issue in Blender, it seems to always calculate correct averaged normals regardless of object transformations. Whether or not the object was scaled or not, the normals would always show identical. (I used a cube with a slightly-concave side.) Edit: For what it's worth, I wasn't able to reproduce this with Blender.
