I've prepared a little document about importance of normal vectors in game engines. Even ISI made some errors in their tracks It happens, but I've noticed some modders are not really aware of what they may overlook in their own work. Normal vectors are pretty low level stuff from 3D artist's point of view. What 3D artists work with are usually smoothing groups. Unfortunately I've noticed, that it's not uncommon for people to make entire object smooth when it shouldn't be, or even use "pointy" normals on some objects like pitwall. Better understanding leads to better quality in the end, so I'm putting together this little .pdf, hoping we would all benefit from it.
To take it a step further and to introduce normal mapping combined with smoothing: http://www.svartberg.com/tutorials/article_normalmaps/normalmaps.html (for MUCH more information on normal maps see: http://wiki.polycount.com/NormalMap)
so the protection strip should be used anywhere you're making a transition? or just for rounding transitions?
Well, it's not related to transition itself - it's related to shape. It means everywhere you want a smooth edge you will probably end up with having to add one extra strip of polygons. In case of a road, when you make edge of the road fall down at 45 degrees or something, then you will need that extra strip, but not when you just make a flat road with some transition texture on edges. In general - when making models for games you need to be aware that you actually prepare "two 3D models" without even knowing it. One is what you see and what shadow algorithm sees - polygons. The other one is what lighting algorithm works on - normal vectors - and it's prepared by software based on first model. If you don't take some precautions to keep these two models close enough to each other, you may end up with weird lighting and shadow aliasing in game. This tutorial tries to make you aware how 3D modelling software calculates these normal vectors, but not by going through math, but by going through examples. I have updated the PDF in first post - pages 8 to 12 are new. They basically describe the same thing - smoothing at edges, but I made some examples with corner of a pipe and then played around with various ways of making cube with smooth edges. Maybe not exactly round two - rather version 2.0 of round one
Thanks for your feedback - especially for sharing your way of adjusting normals. I hope people will find it usefull. Personally I use Blender. Perhaps we could get good exporters for it - if yes then there would be a chance to have such options there Especially "weighted average" and "largest face". One more thing (I will update this in pdf later) - I mentioned using smoothing groups, but that is something not supported by GMT exporter. You can use smoothing groups wile working on your models but when you're done you should detach your smoothing groups into separate elements. This is related to exporting and my tutorial was only about modelling itself, but this is definitely something I should have mentioned.
I was wondering when you were going to mention this Detach to elements it's called, (separated elements within a mesh). Also, there is a few scripts out there that will detach all smoothing groups to elements with 1 click. Have you seen the 'making of nismo' tutorial? I wont post a link here as it will distract people from your guide, but google it if you like and have a look, it's what taught me all about this sort of stuff in the beginning.
When you say to put objects with different smoothing groups into separate meshes, do you mean just detach them and re-attach them to export as a single gmt or export every smoothing group as their own gmt? That would probably explode the number of my gmts from 1000 to 10.000. Bink, I might have a great example for that kind of object and I'm entirely not happy with it so maybe it would be both educational to everyone and helpful for me.
You detach as a 'element'. It means that they are still part of the same model but are different "elements". So no need for different GMTs for different smoothing groups
Good, so basically we split the vertices at the seems to have two different normals at that vertex instead of one normal + smoothing groups, right?