Hello everyone. I'm writing a new update as I have some thinking patterns to jot down.
For the shirt, I have been thinking what the different LOD levels to choose for it would be. As I already said before, it has a good amount of extra polygons compared to the long sleeved T-shirt. Because of this, I was wondering whether the low poly version would cut it for real low poly use, or that it would be better if I went and retopoed (or reduced) it a bit to make a lower poly version.
Let's have a look at the current situation so far.
- Polygon detail comparison between different LODs
As you can see the lowest version weighs in on 398 quads (796 tris) which might be or not be a bit much on lower end platform or for a huge mass of persons seen from a distance.
This is 138 quads (276 tris) more than the long sleeved tshirt.
So where did the extra geometry go into? Well, for one: the collar area. More precisely the back of the collar. The T-shirt actually had some problems there because I didn't have enough geometry to fit it around the back of the neck nicely. This made it stick a bit through the model. Although it became better when subdividing, you would sometimes still have to edit it a bit manually to fit well. Of course, masking the underlying mesh would also solve the problem.
- The back of the T-shirt collar sticking through the neck of the basemesh.
The reason I left it at this is because fixing it would require at least 1 or 2 extra edgeloops running across the back of the shirt all to the bottom. This would account for quite a lot of extra polygons.
Because the collar area is more important for a shirt, I made the extra edgeloops at the back which solves the aforementioned problem.
- Topology of the back-of-neck area for the shirt
As you can see, I introduced two extra edgeloops of faces by splitting the middle two polygon rings in two.
A second reason for the polygon increase is the added collar itself, which consists of 42 faces. This might be a good candidate to easily reduce for a lower poly version. There are a lot of polygons you can remove that will otherwise only be noticeable when looking at the model from extreme angles, thus not such a big problem. Maybe I just make it a closed simplified mesh like I've seen some others do it.
- The collar at original LOD, one and two subdivisions
Then finally, the third reason for the increase is at the end of the sleeves.
- Closing the gap at the end of the sleeves
As you can see on this picture (and on the general wireframe picture) I've made edges with thickness on the sleeves, and made one edgeloop go inward the sleeve, right up to a point where it will certainly intersect the arm. This makes sure that the mesh is closed and you cannot look into the sleeves and get a strange see-through effect (because polygons usually have only one side). On a game model I would probably delete the non-visible part of the arm and try to connect this inward-going piece of sleeve to the remaining arm vertices. This was not a big problem with the T-shirt since the sleeves were a lot tighter to the body.
Additionally, giving some thickness to the end of the sleeves accentuates the typical type of sleeves that a shirt has better.
So far for the analysis of the topo of the shirt. When thinking about what polycounts would do and what would be too much, I went back to the three proxy meshes that come with MH and made a more detailed comparison. I made some pictures for myself to make it easier to compare (I like making this kind of pictures because somehow I find it much easier to evaluate things). I will share these with the rest of you, as well as my thoughts on them. For anyone of the MH documentation team or otherwise, feel free to use them if you think they are good.
The pictures are in order of increasing polygon counts:
- Rorkimaru proxy. The lightest of them all.
Rorkimaru's proxy is a wonderful mesh for use when you have to save agressively on polygons. It fits well if you want to render 100s of character on the same screen, especially if these characters are further away from the camera. It can also serve well to make a lower resolution version of a character to which you can transition to dynamically when it gets further away from the camera. Being such a minimalistic version, I think it does very well at keeping a convincing human form.
Up until now, I tried to imagine this model as a reference for the polycount I want for my low resolution clothes.
Even though the clothes (at least the jeans and the example clothes that are in MH at this time) are based on the wonderful all-quads topology of ascottk's proxy.
- Ascottk's proxy model. My personal favourite.
This is personally my favourite of the three. It comes in at second place in the polycount rank because it has slightly less polygons than forsaken's proxy. Yet, that does not mean forsaken's proxy is a better or more detailed model. I'd argue that on the contrary, ascottk's is the best attempt of mimicking the topology and detail of the MH basemesh at a lower detail level. It is all quads with evenly spaced polygons, making it a very suitable candidate for subdividing and sculpting using Z-brush. The flow of topology lines is also very good, and is comparable (though less detailed) to that of MH. This makes it extremely suitable for animating, because deformations at joint areas like shoulders and hips won't result in strange behaviour in extreme poses. It's because of that very good topology that it got chosen as a base for the original clothes. This attempt also has to be applauded for its efficient use of polygons. For example the face and hand areas have more polygons than other areas. Especially of note is the nose, that thanks to enough polygonal detail is still sharp and detailed. The topology of the hands also is a real work of art. They just look so smooth and organic, even though they contain less polygons than forsaken's mesh.
This model is my first choice for use in realtime applications and games. It offers a very good base to create game characters that fit today's standards in polygon counts. (being character models of between 2000 and 5000 polygons) Because most of the times you will want to clothe this model before you use it, you still have a lot of control over what the final detail will be.
Then we have the proxy with the highest poly count, being forsaken's.
- Forsaken's proxy model. At 1832 polygons it contains most geometry, however it is a mix of tris and quads.
Weighing only 48 faces more than ascottk's, it's fair to say that the difference in detail level is minimal. The catch is in how this geometry is used. Unfortunately I'm a bit dissapointed in this attempt. That is to say, it's certainly not a bad model, it's just that there is a much better alternative (being ascottk's). Looking at the images you just can't deny that it looks a lot less smooth than it's competitor. Take note of the difference in the nose geometry, it's an interesting case. Most important is that the edgeflow or topology of this model is just not that good. It contains a lot of areas where the lines just get lost, like under the breast area and the middle of the back. This could give trouble when the model has to form some extreme body types, as you could get messy overlapping triangles. Another important fault is the joint areas between hips and legs and at the armpit areas. There are no smooth lines transitioning from the body to the arm and instead a lot vertices of vertices converge there and form a rat's nest, which will give you problems when animating or posing the arms and legs. The hands are just not as smooth as the alternative, and their topology has some strange areas, which serve no purpose other than to make it look weird when animated.
One additional interesting comparison is that of the mouth and eyes area of both ascottk and forsaken's proxies.
- The mouth and eyes areas of forsaken and ascottk's proxies
There's an interesting difference between the two where forsaken keeps the upper and lower parts of the inner mouth area, while ascottk doesn't. Both have teeth and a tongue. Ascottk's model has cleaner lines on the teeth and a smoother tongue, while forsaken's is a bit jagged and messy. I don't know which of the two would give the most realistic effect or be easiest to work with.
These parts can be fairly simple for realtime use, and they are in fact only important when doing talking and lipsync animations. You can't open the mouth unless there are at least teeth and a tongue, or it will look weird. Those tongue and teeth, however, do not need to be too detailed. I am not sure whether the insides of the mouth are visible or not. Maybe only when opening the mouth wide open?
Forsaken's maybe has too pointy eyes, as the eyes look somewhat weird on the face.
So, my choice rests with ascottk's model for regular use, although forsaken's mouth area might give some suggestions on how to improve it (if it would be visible). For creating reduced LOD meshes I love the work rorkimaru has done. These two will serve as subjects to be clothed with respectively my "low" and "game" versions of the clothes meshes. I will aim their polycount to be more or less in sync with the polycounts of those models.
To put some more numbers to this: since in almost all realtime renderers meshes are converted entirely to tris, the sizes of the proxies in such an engine are:
rorkimaru: 1476 tris
ascottk: 3534 tris
forsaken: 3662
I want to add an extra remark on forsaken's mesh: I told you that it had mixed quads and tris. It actually used to have more tris, but the MH crew requested that he did it all in quads. Therefore he converted his model to quads, and it was supposed to be all-quads. Except for 2 little triangles that he forgot on the feet. So those 2 polygons from the 1832 in total is the reason why forsaken's proxy is not considered "all-quads".
- The party poopers
Lastly I'm going to end with saying that a decision was made together with Manuel about which versions of my clothes will be distributed with MH. We are going to make packages for the low, game and medium sizes. The high versions will not, as they are rather too large to be practical. Because of this, in the future I will probably be renaming game into medium and medium into high, so low - game - medium becomes low - medium - high (hope you can still follow
).
Since the sculpts are really only well visible on the highest detail level, we will have to resort to some hacks to get that detail back in again. I will compensate for this by supplying normal and displacement maps for them.
The render setup should thus support normal and displacement mapping. I'm also hoping we can get some realtime normal mapping and displacement mapping shaders into the makehuman program.
Work is under way to create a clothes library on the website where clothes can be downloaded and uploaded by users. The "medium" version of my clothes will probably go into the main MH distribution so everyone who updates to the latest version will have them by default. The other versions can be downloaded from the website.