Артефакты, различимые на нижней границе «уголков», связаны с математической точностью построения поверхности Square, которой недостаточно для точного совпадения границ поверхностей. В этом можно убедиться, включив режим отображения контрольных точек и сильно «наехав» на границу между поверхностями.

Очевидно, что контрольные точки не совпадают, следовательно не совпадают и края поверхностей. Операция Square не идеальна и тоже имеет свои маленькие слабости.

Дело в том, что по умолчанию края соседних поверхностей подгоняются друг к другу так, чтобы касательные к поверхности на этих краях совпадали. Если вы откроете Attribute Editor, то в закладке для squareSrfl, вы можете найти раздел Continuity (непрерывность, гладкость), в котором задаются условия гладкой стыковки краев поверхности.

По умолчанию, метод вычисления гладкости стыковки (Continuity Туре) определен как Tangent. Этот метод «честно» пытается гладко состыковать края поверхностей, причем ему это не всегда удается, так как условие гладкости на стыках является довольно сильным. Об этом свидетельствуют галки в разделе Continuity Passed (Выполнениеусловия гладкости), показывающие, на каких краях поверхности Square удалось добиться выполнения гладкой стыковки. В нашем случае галка напротив Continuity Passed 2 отсутствует, что означает: на второй (нижней) границе MAYA не смогла (ну, не смогла, и все тут!..) идеально точно состыковать края поверхностей. Можно дополнительно увеличить точность вычислений вдоль границ путем увеличения атрибута Curve Fit Checkpoints, однако добиться полного успеха все равно не удастся, и кроме того, это повлечет за собой появление дополнительных изопарм, повлияет на тесселяцию и пр.

В данном случае имеет смысл изменить метод стыковки на более простой и установить для всех трех границ Continuity Туре = Implied Tangent (неявный тангенс). Этот метод более прост и стыкует поверхности не так математически строго, как метод Tangent, но визуально вполне приемлемо. Кроме того, он позволяет избежать разъезжания границ и появления артефактов.

Примечание. Если вы собираетесь использовать Renderman for Maya для просчета сцены, то вам не надо заботиться о тесселяции, так как последний не использует полигоны при просчете сплайновых поверхностей. Однако точность прилегания краев поверхностей друг к другу необходимо обеспечивать, поэтому для бесшовной картинки придется применять метод Continuity Туре = Implied Tangent.

В большинстве практических случаев на все эти мелкозернистые детали можно закрыть глаза. И поэтому можно подвести промежуточный итог, и сказать, что практически идеальный куб построен, Construction History по-прежнему позволяет менять зазор, масштабируя первоначальные стенки куба, теселяция на швах выбрана адекватным образом.

Проверяем. В Outliner выбираем первоначальные грани куба и неистово масштабируем их. Кубик не должен разъезжаться. Рендерим. Если дырок нет, сохраняем файл (результат в rounded-Cube2.ma). Если дырки есть, моем руки и делаем все заново.

Осталось подготовить файл для будущего использования.


⇐ вернуться назад | | далее ⇒