Применение координат наложения карт
Координаты наложения текстур (mappingcoordinates) обеспечивают наложение текстуры на поверхность объекта. При назначении материала, содержащего текстуры, как объект, так и текстура должны обладать координатами наложения. Только в этом случае обеспечивается правильная визуализация текстуры.
При создании каркасных примитивов и составных объектов координаты наложения текстур присваиваются автоматически. Для прочих объектов координаты необходимо назначать.
Существует два способа назначения координат наложения текстур объекту: включить параметр объекта GenerateMappingCoordinates (Генерировать координаты наложения текстуры) или применить модификатор UVW Map (UWV-проекция текстуры).
Генерирование координат наложения -более простой способ, но применение модификатора UVW Map предоставляет дополнительные возможности. Во-первых, это позволяет создавать координаты наложения текстур для объектов, которые не могут их генерировать, например для редактируемых каркасов. Во-вторых, применение модификатора позволяет настраивать координаты наложения, что в свою очередь позволяет влиять на расположение текстуры. В-третьих, дает возможность менять каналы наложения текстур и тип координат наложения материала. И наконец, позволяет выбирать систему проецирования текстуры, используя контейнер (gizmo) модификатора UVW Map, который обычно называют контейнером наложения текстуры.
Форма контейнера наложения текстуры определяет метод проецирования: в плоских, цилиндрических, сферических, трехмерных прямоугольных координатах и т.д. (рис. 14.47). Кроме того, наложение текстуры определяется размещением, ориентацией и масштабом контейнера.
Например, плоский контейнер проецирует текстуру в одном направлении, как проектор слайдов (или кинопроектор, если карта анимируется). Если поверхности не параллельны плоскости поверхности контейнера, текстура вытягивается в зависимости от своей ориентации. Если вы хотите избежать деформации текстуры, выбирайте контейнер, форма которого близка к форме объекта.
Рис. 14.47. Свойства контейнера определяют способ наложения текстуры на объект. По умолчанию задаются плоские координаты проецирования
Модификатор UVW Map обладает тремя группами параметров для назначения координат наложения (рис. 14.48):
Рис. 14.48. В свитке UVW Map назначаются параметры наложения текстуры, но не материала
- Mapping (Наложение текстуры) задает тип и размеры контейнера, устанавливает параметры ориентации (flip) и укладки (tile) карт;
- Channel (Канал) позволяет задавать до 99 различных вариантов присвоения координат наложения объекту. Чтобы отобразить тот или иной вариант наложения, канал UVW-координат наложения объекта должен совпадать с каналом UVW-координат текстуры наложения;
- Alignment (Выравнивание) устанавливает согласование расположения, ориентации и масштаба контейнера наложения по отношению к текстурной карте, к объекту или к глобальной системе координат.
Доступны следующие команды выравнивания контейнера:
- переключатели X, Y, Z предназначены для выравнивания контейнера наложения по соответствующим осям глобальной системы координат;
- Fit (Подгонка) изменяет размер контейнера наложения так, что он соответствует размеру объекта. При этом пропорции текстуры могут искажаться;
- Center (Центрировать) выравнивает контейнер наложения по центру объекта (или выделения, в случае нескольких объектов);
- BitmapFit (Подгонка по изображению) изменяет размер контейнера наложения в соответствии с размером растрового изображения. При этом исключается искажение пропорций изображений, связанных с используемым материалом;
- NormalAlign (Выравнивание по нормалям) выравнивает контейнер наложения по нормалям граней объекта перетаскиванием курсора над поверхностью объекта;
- ViewAlign (Выравнивание по окну проекции) производит выравнивание контейнера наложения карты по текущему окну проекции;
- RegionFit (Выравнивание по области) позволяет изменять размер контейнера наложения перетаскиванием курсора;
- Reset (Сброс) сбрасывает изменение размеров контейнера и устанавливает размеры по умолчанию;
- Acquire (Взять) подгоняет контейнер наложения к координатам другого объекта.
Кроме этого, вы можете изменять расположение, ориентацию и масштаб контейнера наложения, выбирая его в стеке модификаторов и производя преобразования.
Параметр GenerateMappingCoordinates (Генерировать координаты наложения текстуры) - основной параметр, отвечающий за создание координат наложения. Он имеется в свитках создания сетчатых примитивов (meshprimitives), примитивов формы (shapeprimitives), редактируемых сплайнов (editablesplines), объектов вращения (lathedobjects) и выдавливания (extrudedobjects).