Изогнутое крыло автомобиля
Как создать крыло автомобиля из нескольких хороших NURBS-кривых?
Тема:
Моделирование.
Используемые техники и инструменты:
Loft (Построение поверхности по сечениям), Square (Квадрат), Birail (Построение поверхности по двум направляющим).
Когда разрабатывается дизайн автомашины, крыло (часть, которая огибает колесо) лишь в очень редких случаях проектируется отдельно. Форма крыла должна соответствовать внешнему виду автомобиля, поэтому обычно включается в процесс разработки дизайна. Тем не менее крыло автомобиля - это хороший пример для упражнения в моделировании весьма специфичных форм с использованием специальных кривых.
В этом уроке мы будем непрерывно создавать и модифицировать кривые, затем строить по ним поверхности, оценивать результат и удалять промежуточные построения. Начнем только с двух кривых, которые образуют Loft (поверхность, построенную по сечениям). Затем будем использовать инструмент Square (Квадрат) и закончим работу инструментом Birail3+ Tool. С помощью этих инструментов будет построена поверхность по двум направляющим кривым (кривым Rail) и нескольким профильным кривым. Это будет та поверхность, которую мы сохраним. Для начала работы вовсе не обязательно использовать сложные инструменты. Начнем с обычного Loft (Построение поверхности по сечениям) - он даст нам отличные кривые для создания более совершенных поверхностей.
В окне Front View (Вид Спереди) с помощью инструмента ЕР Curve Tool (Построение кривой по редактируемым точкам) восемью щелчками мышки создайте прямую линию вдоль оси X. Сдублируйте кривую и переместите дубликат вверх. Нажмите F3, выберите Surfaces / Loft (Поверхности / Построение поверхности по сечениям) для создания лофтированной поверхности по двум кривым. В меню Pick Mask (Выбор Маски) уберите флажок с surfaces. Теперь вы можете применить выделение только к кривым (см. рис. 11.1). Разумеется, выделить поверхность можно в окне Outliner (Схема Сцены). Выберите Modify / Transformation Tools / Proportional Modification Tool (Модифицировать / Трансформация / Пропорциональная Модификация), для того чтобы переместить вверх средние контрольные вершины нижней кривой. Они образуют нишу для колеса (см. рис. 11.2).Рис. 11.1. Это лофтированная поверхность, построенная между двумя параллельными кривыми. В меню Pick Mask (Маска Выбора) в верхней части экрана дезактивирована пиктограмма с изображением поверхности. В этом режиме работы с кривыми возможность случайного выделения поверхности исключена
Рис. 11.2. Колесо отлично входит в нишу, созданную инструментом Proportional Modification Tool (Пропорциональная Модификация). Действие Proportional Modification Tool на контрольные вершины пропорционально расстоянию от середины выделенного множества. Чем дальше располагается контрольная вершина от середины, тем эффект модификации меньше выражен
-
Смасштабируйте контрольные вершины обеих кривых слева и справа ниши колеса внутрь для уменьшения размера этой площади (см. рис. 11.3). При этом помните: нельзя допускать, чтобы контрольные вершины «перепрыгивали» друг через друга.
Рис. 11.3. Инструмент Proportional Modification Tool (Пропорциональная Модификация) хорош не только для перемещения контрольных вершин, но и для их масштабирования. Мы сделаем нишу для колеса меньше и округлее. Соответствующие контрольные вершины верхних кривых следует масштабировать пропорционально, для того чтобы соблюсти точность геометрии поверхности
-
Переместите передние контрольные вершины обеих кривых в направлении оси Z, для того чтобы придать крылу небольшое закругление в сторону (несуществующей) решетки на радиаторе на передней части машины (рис. 11.4).
Рис. 11.4. Обе передние контрольные вершины передвинуты вправо, для того чтобы изобразить изгиб крыла в направлении решетки радиатора
-
Немного сдвиньте верхние контрольные вершины (кроме тех, которые вы только что передвинули) в направлении оси Z, для того чтобы изогнуть крыло к корпусу машины (рис. 11.5).
Рис. 11.5. Для того чтобы изогнуть край крыла в направлении корпуса машины, немного сместите оставшиеся верхние контрольные вершины
-
Переместите передние контрольные вершины верхней
кривой немного назад, для того чтобы обозначить наклон передней части машины
(рис. 11.6).
Рис. 11.6. Верхние передние контрольные вершины смещены назад для придания передней части машины требуемого наклона
Крыло не выглядит идеально. Имейте, однако, в виду, что вы затратили очень мало времени на его создание! Крыло уже похоже на крыло и ни на что другое. Однако после манипуляций с кривыми вы обнаружите ограничения в использовании лофтированной поверхности (поверхности, полученной лофтом). Горизонтальные кривые дают вам хороший контроль над формой в целом, но у вас нет вертикального контроля. Вам нужны кривые, которые позволят добавить детали, например заостренное ребро ниши колеса. Кроме того, оба вертикальных края поверхности абсолютно прямые, а ведь и они должны быть немного закругленными. Вы могли бы вставить третью кривую между двумя уже существующими и создать новую лофтированную поверхность для получения требуемого закругления. Но это будет очень неудобный способ. Вы можете получить абсолютный вертикальный контроль над поверхностью только с помощью вертикальных кривых.
В следующей части мы используем Square tool (инструмент Квадрат), с помощью которого создадим поверхность по четырем соприкасающимся или пересекающимся граничным кривым. Если этот инструмент отсутствует в вашей версии Мауа, используйте инструмент Birail 2 Tool.
Перед тем как удалить лофтированную поверхность, выделите ее и в последний раз взгляните на ее структуру и параметризацию. Лофтированная поверхность содержит две горизонтальные и несколько почти параллельных вертикальных кривых. Если какие-то из изопарм (кривые, образующие поверхность) пересекаются, то что-то не так с исходными кривыми и их (кривые, по которым строилась поверхность) нужно перестроить (рис. 11.7).
Рис. 11.7. Базисная форма крыла, состоящая из нескольких вертикальных и двух горизонтальных кривых
Удалите лофтированную поверхность. С помощью инструмента ЕР Curve Tool (Построение кривой по редактируемым точкам) и всего лишь двух щелчков мыши (для каждой из кривых) создайте две новые кривые, соединяющие две горизонтальные кривые (см. рис. 11.8).Рис.11.8. Две новые кривые двумя щелчками мыши. Они соединяют концевые вершины предыдущих кривых
Очень важно использовать Curve Snapping (Прилипание к Кривой) (нажмите и держите клавишу с) при создании новых вертикальных кривых. Это единственный способ проконтролировать, что кривые действительно будут соприкасаться. По два щелчка мыши на каждую кривую (один вверху, один снизу) вполне достаточно. Обратите внимание на направление кривых. Оно должно быть идентичным.
-
Выделите четыре кривые по часовой стрелке либо против часовой стрелки и выполните команду Surfaces / Square (Поверхности / Квадрат) для создания новой поверхности. Построение поверхности не получится, если крайние точки кривых не соприкасаются.
Новая поверхность выглядит так же, как удаленная лофтированная поверхность. Однако на этом этапе вы можете управлять формой крыла по вертикали.
-
Передвиньте обе центральные контрольные вершины
боковой кривой (той, которая позади машины) в горизонтальном направлении для
закругления края крыла.
Передвиньте обе центральные контрольные вершины
передней кривой (той, которая ближе к радиатору) немного вперед, для того
чтобы придать уже наклоненной передней части крыла небольшое закругление (см.
рис. 11.9).
Рис. 11.9. Новая поверхность, построенная по четырем кривым. Перемещение двух центральных контрольных вершин передней кривой придает округлую форму передней части машины
Заметьте, насколько могущественны эти крошечные изменения кривизны и как они влияют на всю структуру поверхности. Если вам захочется передвинуть крайние контрольные вершины какой-нибудь из кривых, убедитесь, что вы также выделили и двигаете соответствующую контрольную вершину соприкасающейся кривой. В противном случае Square tool не будет создавать результирующую поверхность. Неплохо было бы одновременно передвигать соответствующие контрольные вершины противоположных кривых, поскольку односторонние изменения могут оказать самый неожиданный эффект на форму изопарм. После удаления нашей поверхности четыре оставшиеся кривые описывают форму крыла гораздо точнее, чем кривые, оставшиеся после лофтированной поверхности (рис. 11.10).
Рис. 11.10. Завершение второй фазы разработки дизайна крыла: поверхность, построенная инструментом Квадрат, перед удалением
Удалите поверхность, построенную Square tool. Переключитесь на окно Front View (Вид Спереди). Создайте две новые вертикальные кривые, берущие начало в нише колеса и направленные к верхней кривой (рис. 11.11). Используйте Curve snapping снова и лишь два щелчка мыши на каждую из кривых.Рис. 11.11. Две новые вертикальные кривые, созданные инструментами ЕР Curve Tool (Построение кривой по редактируемым точкам) и Curve Snapping (Прилипание к Кривой)
-
Переключитесь на окно Perspective View (Вид Перспективы). Передвиньте две центральные контрольные вершины новых кривых по оси Z, для того чтобы выровнять их с другими вертикальными кривыми (рис. 11.12).
Рис. 11.12. Переместите центральные контрольные вершины в горизонтальном направлении (влево) для придания середине крыла округлой формы
-
Снимите выделение со всех кривых.
Вызовите инструмент Birail 3+ Tool. Для этого выберите Surfaces / Birail / Birail 3+ Tool (Поверхности / инструмент Birail / инструмент Birail 3+ Tool).
Как вы, вероятно, уже догадались по названию инструмента, он создает поверхность из двух (bi) кривых (Rail). Часть 3+ означает, что мы используем три и более профильных кривых между направляющими. В нашем случае направляющие - это две первые горизонтальные кривые, соединенные четырьмя вертикальными кривыми (профилями). Строка помощи в нижней левой части экрана подсказывает вам порядок действий. Вас попросят сначала выделить профильные кривые.
-
Выделите четыре вертикальные кривые и нажмите Enter.
Выделите две горизонтальные кривые и нажмите Enter.
Таким образом мы создали новую поверхность - последнюю в этом уроке (рис. 11.13). Она очень отличается от всех предыдущих поверхностей. Рядом с новыми вертикальными кривыми можно увидеть несколько дополнительных изопарм, которые немного портят внешний вид поверхности. Однако вскоре мы это исправим.
Рис. 11.13. Поверхность, построенная с помощью Birail 3+ Tool, выглядит менее аккуратно, чем предыдущие поверхности, поскольку ей приходится дополнительно учитывать кривые в центре
Мы добавили средние профильные кривые, для того чтобы более детально проработать верхнюю часть ниши колеса. Использования имеющихся контрольных вершин вертикальных кривых на этом этапе явно недостаточно для детализации формы крыла. Если вы откроете Attribute Editor (Редактор Атрибутов) для кривых, вы увидите, что каждая из них состоит только из одного интервала (span), полученного двумя щелчками мыши, с двумя контрольными вершинами в середине. Нам нужно перестроить (команда Rebuild) кривые, для того чтобы
увеличить количество контрольных вершин. Для сохранения аккуратности геометрической формы крыла мы перестроим все четыре вертикальные кривые, используя одинаковые установки операции rebuild.
Выделите все вертикальные кривые. Выберите Edit Curves / Rebuild Curve Option box (Редактирование Кривых / Перестроить Кривую Окно Настроек), для того чтобы открыть окно настроек. Установите Number of Spans (Количество Интервалов) на 4 (рис. 11.14). Выполните команду, нажав Rebuild (Перестроить).Рис. 11.14. Перестроив все профильные кривые, мы теперь можем добавить дополнительные детали на верхнюю часть ниши колеса и получить характерный жесткий излом
Когда все вертикальные кривые перестроены, увеличивается концентрация горизонтальных патчей на поверхности Birail (поверхность, построенная по двум направляющим). Заметьте, что поверхность перестраивать не нужно, она автоматически адаптируется к новым атрибутам кривых.
-
В режиме Component mode (Компонентный режим (клавиша F8) сделайте видимыми все контрольные вершины обеих средних вертикальных кривых (последних из созданных вами).
В обеих кривых выделите четвертую контрольную
вершину, если считать снизу (см. рис. 11.15).
Передвиньте эти контрольные вершины немного вниз.
Волшебный момент: еле заметное перемещение контрольных вершин создает желаемый острый выступ ниши колеса. Особенность этого выступа заключается в том, что он плавно сходит на нет к концам крыла, прямо как у настоящей машины. Эта плавность обязана взаимодействию между соседними вертикальными кривыми.
Увеличив-плотность геометрии, вы можете добавить детали в верхнюю часть всех вертикальных кривых (см. рис. 11.16). Старайтесь, если это возможно,
двигать соответствующие контрольные вершины вместе. Проверьте - может быть, в другом окне и в другом режиме отображения (Shading mode), - как влияют на расположение изопарм и патчей на поверхности различные манипуляции с кривыми.
Рис. 11.15. Перемещение выделенных контрольных вершин обеих кривых немного вниз создает характерный выступ над нишей колеса. Этот выступ плавно сходит на нет к концам крыла, поскольку контрольные вершины передней и задней кривых распределены равномерно
Рис. 11.16. Добавление изопараметрических кривых позволяет добиться более точной формы перестроенной поверхности
Если окажется, что для получения желаемого результата вам все-таки недостаточно контрольных вершин, перестройте кривые снова. Когда результат вас удовлетворит, перестройте всю поверхность. Так вы сможете более равномерно распределить изопармы на поверхности.
Откройте Attribute Editor (Редактор Атрибутов) для поверхности и запомните оба значения (по U и по V) для Number of Spans (Количество Интервалов).Допустим, это будут значения 17 и 4: 17 - для вертикальных и 4 - для горизонтальных изопарм. Для сложной поверхности 4 - это слишком малое число, и уменьшать его не стоит. Однако 17 - это больше, чем нам требуется на данном этапе моделирования, и его можно уменьшить на половину.
-
Откройте окно настроек команды перестраивания поверхностей: выберите Edit NURBS / Rebuild Surfaces Option box (Редактирование NURBS / Перестроить Поверхности) (рис. 11.17).
Рис. 11.17. Окно перестраивания поверхностей идентично окну перестраивания кривых. С установками по умолчанию команда создает более простую и равномерную поверхность
-
Смените значение Number of Spans (Количество Интервалов) в направлениях U и V. (В нашем случае смените значение U на 8 и оставьте V на 4.)
Завершите команду, нажав Rebuild (Перестроить).
Теперь поверхность перестроена с более простым и равномерным распределением изопараметрических кривых. Если какие-то детали из созданных ранее отсутствуют, отмените предыдущий шаг и перестройте поверхность снова, увеличив значения по U и по V.
Кривые теперь совершенно не нужны, и вы можете удалить их. Если вы хотите продолжить работу с кривыми для внесения каких-либо изменений или добавления деталей, выделите четыре изопармы по краям поверхности и используйте инструмент Square (Квадрат) или Birail 2 Tool для построения новой поверхности по этим четырем кривым. После этого можете удалить старую поверхность. Главная цель этого упражнения - это научиться использовать наименьшее количество возможно более простых кривых для построения выразительных поверхностей.
Прежде чем вы приступите к рендерингу, увеличьте значения Tesselation (Тесселяции) в окне Attribute Editor (Редактор Атрибутов) поверхности для получения действительно гладкой формы крыла. Поищите шейдер металла в библиотеке шейдеров либо создайте собственный многослойный шейдер с полупрозрачным слоем лака сверху.
Рис. 11.18. Красиво смоделированное крыло автомобиля ждет дверь, корпус и решетку радиатора
А теперь кое-что новенькое. Приходилось ли вам использовать Поиск Меню? [Здесь идет речь о MEL-команде findMenuItem, позволяющей отыскать пункты меню с желаемым названием (если помните, как примерно называется пункт меню, но забыли, где его искать). - Примеч. ред. ]