Jump to content

Is a Blender-class program really needed?


arabellajones
 Share

You are about to reply to a thread that has been inactive for 1077 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

Today I saw an experienced SL user referring to using prims, because mesh apparently needed Blender, which was frightening.

I would argue that Blender, and similar paid-for programs, are not necessary for non-rigged meshes, the sorts of things that prims were used for.

There are things which you need to take into account to make a good mesh, but for the basics, what do you need?

1: The object shape, the part we usually think of as mesh.

2: The physics shape, making this right lets you walk through a doorway.

3: LOD models. These can be generated in the import process, which may be good enough. For some things a very simple mesh may be enough for the lowest LOD. Maybe an inside wall for a house. Who is ever going to see it, through other walls, at the lowest LOD? It's still needed, but it needs to have the same number of texture faces.

4: UV mapping: how the usually non-flat surface of the model is split up and fitted onto 1 or more flat textures. Compare how a spherical prim is UV mapped to what the flexibility of mesh can give you, something like a Goode Homolosine projection.640px-Goode_homolosine_projection_SW.jpg.fc9861682d4f69979ccde329bf146b3d.jpg

I don't think the standard spherical prim uses a Mercator projection but the difference is getting a bit picky. There's a huge amount of stretching at the poles. This may be the most complicated part of making a mesh. But, when it is done well, it can let you use bump maps for detail.

None of this needs Blender-level tools.

  • Haha 1
Link to comment
Share on other sites

1 hour ago, arabellajones said:

I would argue that Blender, and similar paid-for programs, are not necessary for non-rigged meshes, the sorts of things that prims were used for.

That's a very good point. It is possible to make quite decent meshes with Mesh Studio or Mesh Generator but it's not a straight forward process and you are of course limited to the shapes that are possible to make with prims.

Firestorm's dae export function is not useable prim-to-mesh converter in itself. Unless you can edit the mesh in Blender or such before you re-import, you are always better off keeping your build as prims.

 

1 hour ago, arabellajones said:

3: LOD models. These can be generated in the import process, which may be good enough.

No, no, no, NOOOOOOOOOOO!!!

It is' however usually possible to make very good LoD models with Mesh Studio/Mesh Generator. It just takes a little bit of lateral thinking. Here's a window I made seven years ago, before I even started to learn Blender:

bilde.png.714a953cd51e7c550d62fec49e8163c3.png

LoD models - all done with Mesh Studio:

bilde.thumb.png.cd14cb0fc7ec11748d2682183d1c4281.png

128, 76, 22 and 7 tris respectively. I probably wouldn't have reduced the lowest model quite as agressively today but it's still perfectly good LoD, better than 99.9% of the Blender and Maya created and 100% of the Sketchup created mesh we see in SL.

 

1 hour ago, arabellajones said:

I don't think the standard spherical prim uses a Mercator projection but the difference is getting a bit picky.

It doesn't use Mercator projection but that is actually an interesting idea. A prim sphere is UV mapped as a grid with evenly spaced vertices. This is actually a far better solution than anything Blender can do automatically so if I need a sphere, I usually make a prim and export it rather than leave it to Blender.

 

Edited by ChinRey
Link to comment
Share on other sites

3 hours ago, ChinRey said:

A prim sphere is UV mapped as a grid with evenly spaced vertices. This is actually a far better solution than anything Blender can do automatically

Hmmmmmmmmmmm ........."far better"     I don't agree with that.

Since Blender 2.80 when you add a mesh primitive the auto generated UV's are quite good.

Below is an example of the generated UV's for a UV Sphere :

Blender_Sphere-min.thumb.png.69382ab5263909aa6d0116ca9b891538.png

 

Using Firestorm to export a SL Sphere and import into Blender the "tris" at the poles are mapped as quads (which increases the tri count) and there is a problem of split edges :

SL_Sphere-min.thumb.png.f26b4077e80b3ced88a1a52dc8512e1f.png

 

When correcting the split edges by using the Merge by Distance tool the result was ........ well not as good as the Blender generated unwrap :

SL_Sphere_merge-min.thumb.png.e54062c24bea835cf2c5c94cb71949c3.png

🙂

  • Like 2
Link to comment
Share on other sites

Just now, Aquila Kytori said:

Hmmmmmmmmmmm ........."far better"     I don't agree with that.

Since Blender 2.80 when you add a mesh primitive the auto generated UV's are quite good.

Below is an example of the generated UV's for a UV Sphere :

Blender_Sphere-min.thumb.png.69382ab5263909aa6d0116ca9b891538.png

Oh, they've changed that then, that's good!

For comparasion, here's how "Sphere projection" UV on a plain sphere look with Blender 2.79:

bilde.png.c17dc009ab7c8548c9a7cc1177eebbcc.png

There are other options of course but most of them are just as bad.

 

4 minutes ago, Aquila Kytori said:

Using Firestorm to export a SL Sphere and import into Blender the "tris" at the poles are mapped as quads (which increases the tri count) and there is a problem of split edges

Yes but a single click on the Remove Doubles button (not merge - it messes up the poles as your illustration shows!) fixes both those issues so that's no big deal.

Still, if Blender can do proper sphere UV mapping now, I suppose either method is equally good in this respect.

  • Like 1
Link to comment
Share on other sites

29 minutes ago, ChinRey said:

Oh, they've changed that then, that's good!

For comparasion, here's how "Sphere projection" UV on a plain sphere look with Blender 2.79:

That is a very similar result we get with 2.80+ when using the UV Mapping > Sphere Projection.

The mapping I was referring to (in my first image) is the default UV's created  when adding a new UV Sphere to the scene. Equivalent to the

UV mapping on a SL prim sphere.

 

29 minutes ago, ChinRey said:

Yes but a single click on the Remove Doubles button (not merge - it messes up the poles as your illustration shows!) fixes both those issues so that's no big deal.

Remove Doubles has been replaced ...... 😲

............. Remove Doubles is now Merge by Distance !      Mesh > Merge > By Distance and then you can set the merge distance in the pop-up.

I tried Unwrapping a few more times and now for some reason the poles are looking better after using the Merge by Distance  :

1777581524_uvmap_merged2.thumb.png.5e21fd30d89626e6e3f7ebbce2064dd5.png

 

Edited by Aquila Kytori
Link to comment
Share on other sites

5 minutes ago, Wulfie Reanimator said:
1 hour ago, Ada Radius said:

Blender is not paid-for software. It's free and open source.  

You know they knows this. You know that's not what they're saying.

How do you know he knows this?

Link to comment
Share on other sites

9 hours ago, arabellajones said:

3: LOD models. These can be generated in the import process, which may be good enough. For some things a very simple mesh may be enough for the lowest LOD. Maybe an inside wall for a house. Who is ever going to see it, through other walls, at the lowest LOD? It's still needed, but it needs to have the same number of texture faces.

This is an area I have recently started to try and actively improve upon, I've used Nanao Watanabe's Mesh generator for years now and initially played with the import-default but found I had to go to quite high levels at the middle two distances to stop degeneration at anything over 5 metres. I've recently started adopting the method Chin has shown and tried making own intermediate LoD models. I'm still getting to grips with that.

Texture mapping is where right from the beginning I would make a single texture with sub-details on and map those onto different faces of the prims, and Mesh Generator works well with that approach. The one gotcha is if you decide to have some faces transparent in the finished model you mustn't do so in the assembly otherwise mesh generator optimises such faces away. Strangely, I've not yet had to do any texturing on a sphere as you have described.

In general I agree with everything you say, I think users should be encouraged to use in-world building tools again, but as many have pointed out, it's possible to make bad mesh with such tools with remarkable ease. (Like Blender users never ever ever make such howlers, though :)

Link to comment
Share on other sites

3 hours ago, Profaitchikenz Haiku said:

I've recently started adopting the method Chin has shown and tried making own intermediate LoD models. I'm still getting to grips with that.

I haven't done it for years now so my skills are probably a bit too rusty to give detailed advice. But the general principle is the same as making LoD models in Blender: hide the parts that aren't needed and of course, adjust the curve resolution.

Those special shapes Mesh Generator come with can be trickier but usually you can use a suitable prim as a substitute.

 

3 hours ago, Profaitchikenz Haiku said:

In general I agree with everything you say, I think users should be encouraged to use in-world building tools again, but as many have pointed out, it's possible to make bad mesh with such tools with remarkable ease.

Nothing is easy if you don't know how to do it of coruse and my main objection to Mesh Generator isn't the program itself but the total lack of support. Mesh Studio used to have some quite good beginners' tutorials (not sure if they're still online) and also a very active and helpful support group.

Link to comment
Share on other sites

On 5/11/2021 at 7:30 AM, arabellajones said:

 

3: LOD models. These can be generated in the import process, which may be good enough. For some things a very simple mesh may be enough for the lowest LOD. Maybe an inside wall for a house. Who is ever going to see it, through other walls, at the lowest LOD? It's still needed, but it needs to have the same number of texture faces.

4: UV mapping: how the usually non-flat surface of the model is split up and fitted onto 1 or more flat textures. Compare how a spherical prim is UV mapped to what the flexibility of mesh can give you, something like a Goode Homolosine projection.640px-Goode_homolosine_projection_SW.jpg.fc9861682d4f69979ccde329bf146b3d.jpg

I don't think the standard spherical prim uses a Mercator projection but the difference is getting a bit picky. There's a huge amount of stretching at the poles. This may be the most complicated part of making a mesh. But, when it is done well, it can let you use bump maps for detail.

None of this needs Blender-level tools.

The Homolosine projection is not well designed for UVs. The reason why this is not used for any sort of UV projection is that there's a lot of wasted texture space in the image. Notice how much of that image is just negative space? Where a typical UV sphere will cover the entire image. An efficient UV will not only make better use of space, it can let you reduce the size of the image file (Thus the strain on people's computers), as well as increase the texel density allowing more details to be seen the closer you get without increasing the image's size.

The purpose of the homolosine projection is that it normalizes the shapes of the landmasses based on their distances, where the normal projection of the globe to a UV sphere will streatch and distort the continental landmasses. Unoticiable if on an actual 3D model, but useless for scientific purposes.

Quote

The Goode homolosine projection is a pseudocylindrical, equal-area, composite map projection used for world maps. Normally it is presented with multiple interruptions. Its equal-area property makes it useful for presenting spatial distribution of phenomena.




So the ability to make your own UVs is actually incredibly important in the world of CG. I suppose there could be an argument of writing it by hand if you truely want to.

As for LOD models. This is not wrong, but this is also not always correct. The issue behind generated UVs from SL is that it does not actually try to preserve your shape. Paid tools often do a much better job at this at estimating what polygons or looks can be reduced at various camera distances based on the area of triangles. Additionally... generating UVs directly from SL is not always the best depending on what it is for.

For example. If you were to try and reduce the end cap of a sphere... it will look like a cube when you try LODing it through SL. If you hand edit it, you can actually reduce the polycount by 80% more than SL can, and still retain the look of roundness from all angles.

Lastly, there's the issue with animated meshes. Animated meshes generally cannot go through generation methods, because generation methods do not respect the origional topology of the model that allowed the mesh to bend and contort evenly over the bones. If you read some of the topology for animation articles, you can see that there's typically special topology patterns used for joints, the spines, rib cages, places that needs to keep their general shape while bending, and even smaller things like dimples that becomes visible when you smile.

Edited by Cyrule Adder
  • Like 1
Link to comment
Share on other sites

4 hours ago, Cyrule Adder said:

As for LOD models. This is not wrong, but this is also not always correct. The issue behind generated UVs from SL is that it does not actually try to preserve your shape. Paid tools often do a much better job at this at estimating what polygons or looks can be reduced at various camera distances based on the area of triangles. Additionally... generating UVs directly from SL is not always the best depending on what it is for.

I think one of the problems here is that many content creators in SL doesn't grasp the inherent difference between prims and sculpts/mesh. Prims are procedural meshes, that is they are generated from a description of the shape. Sculpts and "mesh" are polylist meshes, generated from a list of values.

Here is part of a "mesh" with 24 vertices. To keep it simple, I've only included the x,yz, coordinates for the vertices. An actual mesh will also need u and v coordinates, normal rotations and an identifier for each and of course also some data for the tris.:

<0,2,0>,<0.2588191,1.965926,0>,<0.5,1.866025,0>,<0.7071068,1.707107,0>,<0.8660255,1.5,0>,<0.9659258,1.258819,0>,<1,1,0>,<0.9659259,0.7411812,0>,<0.8660255,0.5000002,0>,<0.707107,0.2928935,0>,<0.5000002,0.1339748,0>,<0.2588194,0.03407436,0>,<3.89414e-7,1.19209e-7,0>,<-0.2588186,0.03407418,0>,<-0.4999996,0.1339744,0>,<-0.7071064,0.2928929,0>,<-0.8660252,0.4999998,0>,<-0.9659257,0.7411807,0>,<-1,0.9999997,0>,<-0.9659259,1.258819,0>,<-0.8660257,1.5,0>,<-0.7071073,1.707106,0>,<-0.5000006,1.866025,0>,<-0.2588198,1.965926,0>

Let's do a 75% reduction for the next LoD level, cut it down to 18 vertices without changing the overall shape.

ummm...

err..

Can you do it?

---

Let's try the same shape the procedural ("prim style") way:

  • Circular disk
  • Flat on the z axis
  • Center at <0,1,0>
  • 1 m radius
  • 24 vertices

Now, how do we change this definition to say 18 rather than 24 vertices?

---

Whether you're a human or a computer, the second task is dead easy, the first takes some serious thought. I assume you are human and have eyes to see with so you can just look at it and say: "oh yes, it's a circle!"

bilde.png.e37a766d846ae6d105dae04e6d2b1093.png

The computer is blind though.

If you want to be nice to your computer, feed it as much procedural objects and as few polylist ones as possible. Even if it means it'll have to draw a few extra tris on the screen, it will still thank you for it.

But more to the point in this context:

  • Do not expect a computer program of any kind to be able to generate LoD models for meshes and sculpts as well as it can for prims.
  • Do not expect a computer program of any kind to be able to generate LoD models for meshes and sculpts as well as a human can.

Another problem, specifically with GLOD, the algorithm used by the uploader, is that it was buildt for speed, not precision. It was specially made for the situations where the computer only has a fraction of a second to come up with a workable solution. So it cuts corner and does a rush job.

Edited by ChinRey
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 1077 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...