Иллюстрированный самоучитель по Maya 4.5 для начинающих

Пешеходный переход

Как в реальном времени из NURBS-плоскости сделать пешеходную "зебру", растворяющуюся в густом тумане?

Тема: Аппаратный Рендеринг.

Используемые техники и инструменты: Assign Material per Patch (Попатчевое присвоение материала), Hardware Fog (Аппаратный туман).


В отличие от полигональной NURBS-поверхность не имеет граней, поэтому она допускает наложение одной-единственной текстуры на всю поверхность целиком. Если вы, скажем, хотите приклеить логотип компании на NURBS-тостер, вы, скорее всего, используете метод Stencil (Трафарет). Но поскольку Stencil (Трафарет) фактически плавает над поверхностью (что иногда имеет свои преимущества), этот метод бесполезен, если вы хотите использовать параметризацию поверхности в качестве текстурных координат при наложении текстуры.

Скажем, у вас есть NURBS-улица и вы хотели бы добавить к ней осевую линию. Вам бы долго пришлось возиться с параметрами закладки place2dTexture окна Attribute Editor (Редактор Атрибутов), пока не получили бы требуемое, как на рис. 23.1. Но этот метод не абсолютно точен при интерактивной работе [Здесь имеется в виду, что при визуализации расположение текстуры может отличаться от того, что вы видите в окне моделирования.], и если вы дополнительно (еще) захотите добавить "зебру", то у вас ничего не получится.

Иллюстрированный самоучитель по Maya 4.5 для начинающих › Рендеринг › Пешеходный переход
Рис. 23.1. Утомительный метод назначения уличной разметки NURBS-поверхности использованием шахматной текстуры. Слева: шахматная текстура, наложенная на всю поверхность целиком. В середине: параметры расположения текстуры настроены так, чтобы получить разметку пешеходной "зебры". Справа: текстура, настроенная так, чтобы получить осевую линию. Используя такой подход, получить одновременно и осевую линию, и пешеходную "зебру" невозможно

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

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

Тем не менее это довольно заметный шаг вперед, поскольку многие художники используют Мауа в проектах реального режима времени. Но все-таки в процессе работы над этим уроком помните, что вы не сможете использовать этот метод (или новый инструмент Hardware Fog Tool (Аппаратный туман) в высококачественно визуализированной анимации. Однако я уверен, что вы оцените быстрый и простой способ текстурирования улицы осевой линией и пешеходной "зеброй". Кроме того, он по требует хороших навыков выделения отдельных патчей.

  1. Создайте NURBS-плоскость.
  2. В окне Channel Box (Окно Каналов) откройте секцию makeNurbsPlane и измените Width (Ширина) на 3, a Length Ratio (Соотношение сторон) на 10.
  3. Увеличьте количество патчей вдоль U до 21, а вдоль V до 11 (см. рис. 23.2).

    Мы получили плоскость следующего размера: ширина – 3 единицы, длина – в 10 раз больше, прямо как на настоящей дороге. Количество патчей – это шаблон для аппаратного текстурирования.

  4. Выберите Window › Rendering Editors (Окно › Редакторы Рендеринга), для того чтобы открыть Hypershade. Создайте материал для асфальта улицы и материал для белой разметки.
  5. Назначьте серый материал всей улице.

Этот – и только этот – материал будет использоваться при программном рендеринге. Все остальные цвета в этом уроке будут видимы только при аппаратном рендеринге.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.