Эти нарисованные текстуры часто напоминают разрезанные и уложенные на квадратный лист кусочки некоторой картинки. Когда текстура натянется на объект, эти кусочки лягут строго в нужные места.
Итак, как же создаются (лучше сказать: порождаются) UV-координаты на поверхности? (Я не буду рассматривать случаи использования готовых UV на примитивах.) Можно, конечно, создавать текстурные координаты вручную, вбивая цифры в клетки, а точнее в Script Editor. Но стандартный метод генерации UV-координат -спроецировать (или, что то же самое, спроектировать) их откуда-нибудь.
Представьте себе, что у вас есть сплайновая плоскость, на которой существуют идеальные текстурные координаты в виде сетки с диапазоном от нуля до единицы. Далее, вы берете эту плоскость и проектируете ее на ваш полигональный объект, как бы светите сквозь нее кинопроектором. Вся текстурная сетка спроектируется на полигональную поверхность, точнее, на ее вершины. Таким образом, в вершинах полигонального объекта появится новая информация
- текстурные координаты, или UV-координаты.
Конечно, если вы возьмете полигональную сферу и спроектируете на нее текстурные координаты с плоскости точно сверху, вершины на нижней полусфере и на верхней полусфере получат одинаковые UV-значения. Ведь проекция параллельная. Если вы положите текстуру на такую сферу, рисунок будет одинаковый и сверху и снизу.
Поэтому существует еще два типа проекционного маппинга текстурных координат. Можно создать вокруг объекта сферу и спроектировать ее текстурную сетку на поверхность в направлении к центру сферы. Точно так же можно поступить с цилиндром, проектируя UV-координаты в направлении оси цилиндра. Значения, которые спроектируются в вершины объекта, и будут UV-координатами.
Для начального варианта, естественно, разумно подобрать версию маппинга, наиболее подходящую форме вашей модели. Для головы, например, это цилиндрический маппинг (ведь голова, как известно, кубик, а кубик это цилиндр, только негладкий). Для конечностей - тоже. Для передней и задней части тела чаще используется планарный маппинг (проектирование с плоскости). Сферический маппинг не слишком популярен и используется для текстурирования, например, воздушных шаров или мыльных пузырей.
Здесь следует сделать важное уточнение. UV-координаты проектируются и создаются не в самих вершинах поверхности, а в углах граней, примыкающих к этим вершинам. Можно сказать, что UV-координаты создаются на гранях, но это будет не совсем корректно, ибо они находятся в углах граней. Точно так же, как вершинные нормали, по одной для каждой грани, примыкающей к вершине.
Например, в углах куба находятся сразу три пары текстурных координат, по одной для каждой грани. Эти пары могут быть сшиты (склеены, синхронизированы) в одну пару, а могут быть разрезаны на индивидуальные пары. (Тут полная аналогия с мягкими и жесткими ребрами.) К этому мы еще вернемся, а сейчас имейте в виду: выбирать грани поверхности и проектировать текстурные координаты можно только на них. На соседних гранях могут быть совсем другие UV-координаты, хотя у этих граней могут быть общие вершины. Сшивка и разрезание текстурных координат в вершинах наиболее частое занятие любого текстурного «закройщика». Забегая вперед, скажу, что текстурные координаты можно разделять на слои (UV-sets), и создавать несколько таких слоев, чтобы текстура цвета могла лежать в соответствии с одним набором координат, а текстура бампа - в соответствии с другим.