Потренируйтесь на двух NURBS-плоскостях, применяя к ним операцию Attach Surfaces (включите Keep Originals, чтобы изменять исходные поверхности и тут же видеть результат).

Если вы соедините две плоскости, у которых количество сегментов вдоль границы, например 3 и 7, то на результирующей поверхности их будет 9, то есть возникают дополнительные ряды контрольных вершин, поверхность усложняется, и при этом новые изопармы расположены не самым удачным образом.

Если же количество сегментов на второй поверхности будет равным шести, то результат будет более «красивый» и будет иметь также шесть сегментов.

Выводы делайте сами. Могу лишь посоветовать: перед стыковкой поверхностей надо позаботиться о том, чтобы количество сегментов на объектах было хотя бы кратным одному и тому же числу.

Но это - самое простое, но далеко не последнее условие для успешного объединения поверхностей! Параметризация - ваш ночной кошмар - должна быть проверена перед стыковкой и должна быть согласована на обеих поверхностях, даже если количество сегментов одинаково.

Совместимая параметризация

Даже если на обеих поверхностях задана параметризация одного типа (Uniform), но на одной их них диапазон параметра определен от нуля до единицы, а на другой от нуля до количества сегментов (0 to #Spans), то вас поджидают различные неприятности (о том, что происходит при попытке объединить поверхности с Uniform и Chord Length параметризациями, можете посмотреть в упражнении ближе к концу этой главы).

Создайте две одинаковые (!) плоскости и перестройте одну из них так (с помощью Rebuild Surfaces), чтобы задать Uniform-параметризацию типа 0 to #Spans. (По умолчанию диапазон параметра на примитивной плоскости изменяется от нуля до единицы).

Затем примените операцию Attach Surfaces. То, что изопармы немного «съедут» (если использовался метод Blend), не так страшно.

Попробуйте наложить текстуру типа Checker на поверхность - вы увидите, что она ляжет, мягко говоря, неравномерно.

Дело в том, что параметр совершенно неравномерно распределен вдоль поверхности. В одной половине поверхности, унаследованной от первой плоскости, параметр изменяется от нуля до единицы, а во второй половине начинает быстро изменяться от сегмента к сегменту. Выберите несколько изопарм и посмотрите в заголовке окна MAYA (или в Script Editor), какие значения параметра соответствуют им.

Таким образом, перед применением операции Attach Surfaces (и не только ее, а и многих других) всегда надо приводить поверхности к одному типу параметризации. Я советую использовать параметризацию по количеству сегментов - 0 to #Spans. Это всегда можно сделать перестроив нужные поверхности с помощью операции Rebuild Surfaces с опциями Rebuild Type=Uniform, Parameter Range=0 to #Spans, Keep=CV.

Напомню, что определить тип параметризации и диапазон изменения параметра можно в Attribute Editor раздела NURBS Surface History.

В идеале максимальные значения атрибутов Min Max Range U/V должны совпадать с количеством сегментов SpansUV, а минимальные равняться нулю.

Примечание. После операции Detach Surfaces диапазон изменения параметра может начинаться не с нуля, что тоже может быть источником проблем. Это же относится и к кривым.


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