Jump to content

Best Practice for pruning a lot of vertices with 3D text. (Blender)


Guest
 Share

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

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

Recommended Posts

Hello all!

My other half has asked me to do her sign in 3d.  Which would be very easy if she had a simple font.  But this fon has a lot of curves and embelishments, so I need to purne it down a bit.  Make the UV flow a bit easier, and in general, get a simple 3D text from 47 prims down to something more manigable.

So far, the only advice I have, was to type it in black, and use that as a reference in Blender to put individual vertices, so I can cleanly wrap it.   So I am in the process of doing that, but am looking for feed back on if there is an easier way to remap vericies and trim geomatry while still mostly maintaining it's look.  The font, if anyone has heard of it before, or wants to look it up is Carmencita.   Beautiful font, but rough to work with in 3D.

 

Thanks in advance for any help you can post.  I am so new to mesh, that even I am trying to learn to do my own work and this one favor she asked.  No time limit, luckily. :D

Link to comment
Share on other sites

 

Hi :)

The following is theoretical, meaning I haven't done any test uploads into SL,but this is how I would go about creating such a sign:

 

Once you have the Carmencita font somewhere on your hard drive:

Open a new file in Blender and in Object mode instead of adding the usual mesh primitive choose to Add Text.

Then you need change from the default Blender Text to the Carmencita font.



 

This Text next needs to be converted into a mesh object : Alt C  choose the  Mesh from Curve............Text option.

In this example the text mesh now contains 3.800 vertices. To reduce this to lower number use the Decimate modifier.



Change to Planar and then play with the Angle Limit setting. The higher the angle the less vertices will be used in the decimated mesh. Approximately 15° seems ok for this Font. In Object mode apply the Modifier and the vertice count is now 600.

Next extrude to add thickness. Give this mesh a material (Material_1) and then UV unwrap.

If the back of th sign will never be seen then don't forget to delete all those unnecessary faces.

Important note: This will be the high LOD mesh. To achieve a low LI cost for the sign the lower LOD meshes (Medium, Low and Lowest) will be only a simple box shape.The same box shape mesh for all 3 lower LODs. This box shape will use an "Imposter" texture.

Instead of using mesh detail the lower Lods will be a box mesh with a texture applied to the front and back faces. This texture is called an "Imposter" or Billboard" texture. This Lower LOD box needs to have its own material. As all LOD meshes must contain the same materials as each other so you will need to add a little triangle somewhere in the High LOD mesh and assign it the same material as you will give the Lower Lod box (material_2).



Next to create the "Imposter" texture. You can do this within Blender by rendering out a top view of the sign with a transparent background or Import the sign as it is into SL and take a screen-shot or photo of it then remove the background in Gimp or Photoshop.      To do it in Blender :

Set up a camera and a light above the sign as in the image below:



Then set up the Render > Shading panel and Output as below,

Hit F12 to render and then save the rendered image somewhere you can find it again. Open this image in Gimp and crop it to fit the text. Thiis Image needs to be saved with its Alpha channel.



Next step is to make the mesh object for the Lower Lods. This is, as mentioned before, a simple box shape the same dimensions as the High LOD mesh. This mesh object needs to be given its own material (material_2) and UV unwrapped.



Don't forget to add an extra triangle to hold the material of the High LOD mesh.

Open the UV map of the Lower LOD mesh in Gimp/PS and map the imposter texture/image to the front and back faces. Then save this new image as a png file (with alpha channel). This new Imposter texture will only be seen at a distance (depending on the dimensions of the sign) so doesn't need to be very big. 256x256 or 512 x512 should be plenty.



Make a copy of the Lower LOD mesh box and this can be used for the Physics mesh for the sign.

When uploading , for the medium LOD mesh slot choose the Lower LOD mesh box we created earlier. Then for the Low  and Lowest Lod slots choose the option "as above" (or something like that i can't remember the correct wording  :)  ) .

Upload the Imposter texture that was mapped to the Lower LOD mesh box.

Then zoom out from the sign and when you see the LOD mesh switching from High to Medium select that and apply the Imposter texture to it . 

Afterthought : For an even lower LI cost perhaps think about deleting the faces that make up the thin sides of the Lower Lod box.

 

 

 

 

 

 

  • Like 2
Link to comment
Share on other sites

As an alternative for the first part of Aquila's method, you can use settings in the Font tab of the Properties panel to do the decimatiuon and the extrusion. Here is where the settings are (yellow).



The F selects the font tab. The Resolution/Preview setting (set to 2 here) controls the detail. The Modification/Etrude adds the thickness. You can also remove bottom and/or top faces with the Fill setting (blue). Then you just convert to mesh in Object mode with Object->Convert->To mesh. Here are Three versions.



Top is the default Resolution/Preview of 12, which gave 15268/15256 Vertices/Triangles for this text. Middle is Resolution/Preview set to 2, which gave 2628/2616. Setting to 1, at the bottom, gave 1364/1352, but it begins to look pretty bad. I think 2 is fine for most purposes, but that triangle count will still need imposter lower LODs,as Aquila describes (even a single rectangular plane if you are only ever going to see one side of it).  One other thing that might help is to set the camera to orthographic when you make the picture for the impostor, depoending on exactly what you want it to look like..

 ETA: On closer inspection (trying to add bevels to get proper specular highlights along edges), there are some problems with the extrusion done with the Font Properties. The faces and the edges don't have all vertices matching. This is OK if you are goint to use it as it is, but if you want to do further modifications, there are problems. So in that case it may be better to use only the Resolution property, and do the extrusion after converting to mesh. There are still problems applying bevels, but there are with the product of the decimate modifier too. Either way, these prevent you making a bevel of sufficient depth without doing some tedious editing first.

ETA: It also seems to work better if you convert text to curve, then curve to mesh, both before extruding, rather than directly from text to mesh. There are some artefacts in the direct conversion that this avoids.

Link to comment
Share on other sites

I thought I had better test out what I was saying, as I haven't actually made ant letters before. So here is a letter 'E'. It was made by setting the resolution of the text object to 3, then converting to mesh and then extruding. Before extrusion it was 298 vertices. I found that I could bevel the extruded mesh without problems as long as the bevel was small enough. So that gave me the chance to go on again about the importance of rounded edges for getting highlights on normal lighting. First, I made a bevel with two segments and profile set to 1.0. This gives the smoothly rounded edges while keeping the sides flat shaded, but it has a sharp edge geometrically which restricts the angles where you can see the highlights. Then I made a copy, dissolved the edges along the sharp corners, and used the data transfer modifier to transfer the normals from the first model. The two models are shown on the bottom right. The normals are transferred from the two-segment bevel, on the left, top the one-segment bevel left after the deletion, on the right. Now we have proper rounded edges as well as normals that keep the adjacent faces flat. (The deletion of the edge also reduces the geometry substantially.



The picture on the left is inworld. It's in normal 3pm daylight, with no extra lighting and no baked texture. Shininess is set to zero, so that only specular highlights are present (blank specular map, glossiness at 15). There's a sand-grain-based normal map to give a bit of roughness. You can see the prominent highlighting of the rounded edges that is an essential requirement for of the realistic appearance of the object. The same model without the rounded edges looks much worse. Of course, all this is dependent on using advanced lighting. So it's a good idea to add a bit of baked lighting if people not using advanced lighting are going to be looking at it.

 

At 1m height, using the impostor for all low LODs, this letter had a download weight of 0.065*. The high LOD had vertex/triangle counts of 885/1473. Even using an un-bevelled and manually decimated version (274/413) for the medium LOD, it was 0.095. So you should be able to get ten or more letters like this per unit LI, as long as they are in the same model. Separately, they will be at least 0.5 because of server weight. The LI will increase dramatically as the letters get bigger.

*Its back face is absent - viewable from one side only - supposed to be mounted on a board.

Link to comment
Share on other sites

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

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...