- Print Statistics. For each selected mesh, print the number of vertices, edges, and faces in the terminal window.
- Apply Morphs. Quick Low-polys can only be made of meshes without shapekeys, so this is convenient to quickly be able to apply all shapekeys.
- Make Quick Low-poly. Make a quick low-poly versions of all selected meshes. The low-poly mesh will be called mesh name + "_Lodn", where n is the number of iterations..
- Make Faithful Low-poly. Make a faithful low-poly versions of all selected meshes. The low-poly mesh will be called mesh name + "_Lodn", where n is the number of iterations..
- Split n-gons. A faithful low-poly typically contains n-gons, which may be undesirable. This button converts all n-gons to triangles.
- Quadify Triangles. Attempt to join adjascent triangles into quadrangles.
- Add Push: Add a Push shapekey to the selected meshes. This shapekey move all vertices outwards 1 cm in the normal direction.
- Make Deflection: Make a deflection mesh.
Print Statistics
The Print Statistics button displays the number of vertices of all selected meshes in a dialog window. This is useful for deciding which meshes to decimate; it is usually no idea to decimate very small meshes.
Here is the dialog when Aiko and all clothes were selected.
The same information is also printed in the terminal window.
Quick Low-poly
The DAZ Importer uses two different algorithms to decimate meshes. The Quick Low-poly utilizes Blender's decimate modifier, whereas the Faithful Low-poly uses an algorithm written entirely in Python. The main drawback with the quick low-poly is that UV seams are not always preserved, which can lead to ugly streaks in renders.
When we press the button we must specify the number of iterations. The Quick Low-poly uses Blender's Decimate modifier, set to Unsubdivide, and this number of iterations in that. The default is 2. An even number of iterations generally works better.
The original Aiko weighs in at
Verts: 16556, Edges: 32882, Faces: 16368
The Make Quick Low-poly button reduces her footprint to
Verts: 5424, Edges: 12723, Faces: 7341
i.e. the number of vertices is reduced to a about third.
However, there are a number of problems, e.g. the white spots in the shoulder and neck areas. The quick low-poly uses Blender's Decimate modifier, which does not respect UV seams. A decimated face can contain vertices in different UV islands, making the middle of the face stretch over random parts of the texture.This is most easily seen in the UV editor.
Moreover, since the quick low-poly applies a modifier, the mesh must not have any shapekeys. This is not such a big problem for Genesis 3 and 8, where facial expressions are implemented with bones, but for Genesis and Genesis 2 this means no face expressions. The Apply Morphs button is duplicated in this section to get rid of any shapekeys before making a quick low-poly.
Faithful Low-poly
To deal with these problems, a second algorithm has been implemented, the faithful low-poly. It is faithful in the sense that UV seams are respected, so there are no faces stretching over unknown parts of the texture. This can be checked in the UV editor.
The footprint of the faithful low-poly is
Verts: 8323, Edges: 15054, Faces: 6773
This is slightly higher than the quick low-poly, but still a nice reduction.
There are still some problems. In the illustration the shoulders become very jagged if we turn the Subsurf modifier off.
Split n-gons
Another problem is that the algorithm produces n-gons, which sometimes leads to bad results, and may not work if you intend to export the character to some other application. This can be fixed by the Split n-gons button.
After triangulating n-gons the character weighs
Verts: 8323, Edges: 20051, Faces: 11770
The number of edges and faces has gone up considerably, but I'm not sure that this affects performance, since complicated n-gons have been replaced by simple triangles. The number of vertices stays the same, which is what I think is most important for performance.
Quadify Triangles
This tool converts triangles to quads, using Blender's built-in triangle-to-quad tool. As with the Quick Low-poly, it is not guaranteed to maintain UV islands, but the problem is smaller and may be acceptable for some characters.
Hair
Hair can be particularly problematic for performance. The Aldora hair, which came with some earlier version of Daz Studio, has the impressive footprint
Verts: 123506, Edges: 240687, Faces: 117264
Reducing the weight of a 21,000 verts character makes little sense if we leave her with 123,000 verts worth of hair.
Making a faithful low-poly of the hair reduces the footprint to
Verts: 32574, Edges: 61862, Faces: 29370
without any notable reduction of quality.
A second iteration of the Faithful Low-poly button reduces the hair further
Verts: 9281, Edges: 16743, Faces: 7544
Compared to the original 123,000 verts, the footprint has gone down with more than a factor of ten!
We now start to see some bald spots on the head, but it should not be too difficult to fix them in edit mode.
If we instead made a quick low-poly in the last step, the footprint became
Verts: 10081, Edges: 20047, Faces: 10048
The baldness problem is perhaps a little less pronounced, but some manual editing is still needed.
Another way to reduce the poly-count for some hair types is provided by the Select Random Strands button in the Hair section. Here is another hair with an impressive footprint:
Verts: 114074, Edges: 167685, Faces: 55553
Not all of the strands are really needed, but it would difficult to select a suitable set manually.
We don't want the skull cap to be selected, so we hide it (select one vertex on the skull, use ctrl-L to select connected vertices, and H to hide).
Select Random Strands to make the selection, and then press X to delete the vertices. The Keep Fraction slider in the pop-up dialog was set to the default 50% in this case. There is some tendency to baldness in edit mode, but that is because the skull cap is still hidden. The render looks quite ok but the footprint has been reduced to
Verts: 56116, Edges: 82748, Faces: 27574
Add Push
Replacing meshes with low-poly versions can sometimes give problems. Since the low-poly faces are larger the skin can poke through. The Add Push offers a quick fix for this. It adds a shapekey named Push which moves the vertices along the vertex normals.
Since the problem is more pronounced with tight-fitting clothes, Aiko has changed clothes to the basic wear, and we have made a quick low-poly with eight iterations of the top. There is clearly a problem with skin poking through.
Use the Add Push tool to add a Push shapekey which moves vertices in the normal direction.
Crank up the value a bit. The value 1.0 corresponds to moving the mesh 1.0 cm along the vertex normals, so in this case we pushed the top out 5.9 mm from the body. The problem with skin poking through has been reduced.
Another way to keep the clothes outside the body is the Add Shrinkwrap tool, which was introduced in Daz Importer 1.5.1. It can be found in the Morphs section. Here is a comparison:
Make Deflection
This tool creates a low-poly mesh that fits the character mesh and has the same armature modifier. It can be used e.g. as a collision object for simulations. For Genesis 8, the deflection mesh has 506 vertices, 1512 edges, and 1008 faces.
The creation of the deflection mesh relies on vertex numbers, so if those have been changed, e.g. by merging geografts, there may be problems. However, if you only have added vertices to the original mesh, e.g. by joining the eyelashes, the deflection mesh is created correctly.
There is an option in the Global Settings to create deflection meshes during import, if the duf file contains simulations.