Основные поставщики плохой геометрии - это немытые руки пользователя, хронический недосып, операции Extrude Edge, Normals=>Reverse, Delete Face, Collapse, Reduce.
Приведу еще один пример, часто встречающийся по первым двум причинам.
Создайте плоскость.
Скопируйте ее, как бы случайно, не заметив копирования.
Выберите обе плоскости и сделайте Combine.
Как примерные мальчики, выполните после этого Merge Vertices.
Теперь вы имеете визуально пристойную поверхность, у которой двойные грани. Причем обнаружить это довольно сложно. Таская за вершины, вы синхронно меняете эти двойные грани, у которых все ребра - общие. Такие грани называются lamina faces. Выбрав любую грань и потащив ее, вы одновременно потащите все ребра, и, как следствие, вторую грань. И только лишь выбрав грань не щелчком, а обведя ее центр рамкой, вы можете заметить (что маловероятно) в заголовке окна MAYA, что выбрано две грани.
Совет. Включайте отображение полигональной статистики на экране: Display=>Heads Up Display. Это позволит вам контролировать, сколько и каких компонент выбрано в каждый момент времени.
Лечение такого «ламинарного» вируса довольно затейливо.
Попытайтесь сконвертировать полученную плоскость в сабдив. Вы получите стандартное сообщение об ошибке (о том, что геометрия неманифолдная):
// Error: line 2: polyToSubdivI (Poly To Subdiv Node): One or more edges is nonmanifold.
// Nonmanifold geometry cannot be converted to a subdivision surface.
// To clean up nonmanifold edges, use Polygons->Cleanup with the nonmanifold option. //
Тут вы, конечно, позовете «антивирус», то есть в Option Box операции Cleanup включите галку Nonmanifold Geometry.
Однако в данном случае это не та опция, которую следует использовать. Впрочем, вы этого можете и не знать и поэтому, выбрав по умолчанию опцию Normal and Geometry и нажав кнопку Apply, получите довольно странный набор выбранных граней. Если вам повезет и вы догадаетесь показать нормали, вы увидите, что поверхность имеет нормали с обеих сторон!
Если не догадаетесь, то увидите: MAYA просто разрезала поверхность на отдельные грани. Если вы не будете окончательно обескуражены результатом, то наверняка подвигаете вершины или грани, чтобы узнать в чем дело, и наконец-то обнаружите, что поверхность - двойная!
Как только увидите двойную слоенную поверхность, жмите Undo нужное количество раз, чтобы вернуться к «непролеченной» поверхности.
Откройте снова Option Box операции Cleanup, снимите галку Nonmanifold Geometry и в самом низу включите галку Lamina Faces.
Теперь лечение будет более эффективным.
В разделе Remove Geometry также находятся опции, позволяющие удалять грани, которые меньше определенного порога по площади, или ребра, которые меньше по длине, чем заданная величина. Так как этот процесс будет полностью автоматическим, я бы советовал вам пользоваться им с большой осторожностью, ибо такое удаление может послужить поводом для еще одной чистки поверхности.
В разделе Tesselate Geometry находятся параметры, не относящиеся собственно к чистке и лечению поверхности. Они позволяют разбивать сетку на треугольники, и задают критерии, определяющие, какие грани нужно разбивать: четырехугольники, многоугольники, вогнутые грани, грани с дырками или неплоские грани. Это может быть полезно при импорте в игровой движок.