Развёртка низкополигональной модели для последующей текстуризации
Disclaimer
Лангуст решил создать свою модель.
Для частного пользования в Quake3A и как тренировку. Создаётся она как PPM (Plugin Playr Model) для Q3A, отсюда и некоторые нюансы. Например, кол-во текстур и разбиение на голову, торс, ноги этк.
Мы договорились, что он моделит насколько может, потом приносит мне для оптимизации. Вышло немного не так - я практически перемоделил ЗГ, руководствуясь его корявым скетчем и путанными объяснениями ;)
Лангуст хотел, чтоб текстура была несимметричной.
- Я хочу чтоб здесь была, дырочка, а тут не было.
При отзеркаливании координат, этого не удастся. Значит будет нессиметричный.
Потом, когда я засел за анврапинье, решил написать этот туториал в помощь ему и всем кому это понадобится. Обучалок, уроков и прочей инфы по моделинью-анимированию более чем достаточно, а вот про анврап почти не пишут.
Это не единственный и, может быть, не лучший способ разворачивания мэша. Это способ которым я пользуюсь. Кстати, в хэлпах иногда тоже интересные вещи встречаются ;).
В первую очередь, этот туториал расчитан на пользователей 5-ой версии МАКС, но все описанные действия могут быть осуществлены и в более ранних. Немного другими методами, но могут.
Про ОЧЕНЬ ранние ничего сказать не могу, но начиная с 3.1 - точно.
Возможно в каких-то местах я слишком подробно описываю действия или наоборот - что-то непонятное - как само собой разумеющееся... В таком случае не спеши мне писать, мол, что ж ты ... за ... склепал?! Почитай хэлп, испробуй метод Научного Тыка и дочитай до конца - возможно дальше встречается ответ.
Как-никак это мой первый туториал.
Ах да, и ещё...
Через какое-то время я выложу модель, используемую в этом туториале (с разрешения Лангуста).
Ссылка будет указана тут же.
Intro
Итак, вот модель которую мы собираемся анврапить.
Кодовое имя: ЗадницеГоловый.
994 - треугольника
Разворачивать будем всего одну сторону модели. Потом её можно отразить и приклеить к первой. Так что, если ваша модель симметрична - смело удаляйте одну её половину!
На этом наверно стоит остановиться подробней. Сначала нужно войти в редактирование под-объекта (Sub-Object) и выбрать оперирование на вершинах. Потом выделить вершины, составляющие ненужную сторону и удалить их. Дальше я буду подобные действия описывать так:
Command Panel/Sub-Object/Vertex
Хммм, на картинке выделен полигон, но мы все поняли о чём я говорил, да и запускать МАКС и ФотоШоп только для того, чтоб сделать новую, мне сейчас лень :)
Start
Для начала наложим на всю модель текстуру с разметкой.
Это поможет увидеть искажения и визуально контролировать соответствие UVW-координат вершинам модели.
Дальше будет встречаться выражение grid или grid lines, это линии, составляющие данную разметку. Grid - это не только текстурные полосочки, есть он и в виевпортах, и в окне Edit UVWs... в этих случаях грид помогает поддерживать правильную геометрическую форму или сохранять симметрию.
В любом случае, грид - всего лишь <клеточка>.
В принципе, вместо неё можно использовать материал Checker, но по-моему он слишком контрастный. Кроме того, не будем забывать о том, что из-за оптического обмана, белый квадрат кажется больше чёрного. Так что я настаиваю на гриде.
Выделяем все объекты. Открываем Material Editor
Rendering/Material Editor
Обычно он назначен на клавишу <M> В Diffuse выбери Bitmap и укажи путь к нужному файлу. Назначь выбранную текстуру выделению и нажми Show Map in Viewport
Чтобы облегчить себе работу мы подготовим модель к последующей экзекуции, разбив её поверхность на группы, назначив каждой из них уникальный идентификатор материала (material_ID).
Потом можно будет выбрать каждую группу по отдельности вместо того, чтоб пытаться распутать координаты всего объекта.
Голову пока пропускаем. Переходим к торсу, форма его достаточно сложная, поэтому он нуждается в некоторой предварительной обработке.
Для назначения material_ID, нужно войти в редактирование под-объектов, выделить необходимое кол-во полигонов и в Surface Properties указать желаемый идентификатор.
Command Panel/Sub-Object/Polygon/Surface Properties
Я разбил торс на:
внутреннюю поверхность капюшона - ID 2:
грудину - ID 3:
внутреннюю(межрёберную) часть - ID 4:
плечевую дырку - ID 5:
спину-капюшон - ID 6:
спино-боковую часть - ID 7:
то, что осталось :) - ID 1.
На этом этапе может оказаться полезным ignore backfacing, что находится в Selection. Если включить этот режим, то ты не сможешь выделить полигоны находящиеся на задней (по отношению к наблюдателю) стороне объекта.
Теперь очередь ног.
Сначала упростим их геометрию, разбив на несколько отдельных объектов: таз, нога, ботинок.
Перейди в редактирование под-объектов
Command Panel/Modify/Sub-Object/Polygon
Выделяем полигоны, составляющие ногу от таза до ступни и жмём Detach.
Edit Geometry/Detach
То же проделываем с ботинком.
Теперь когда у нас есть 3 разрозненные части, пришло время указать для них способ наложения материала. Это делается модификатором UVW Map.
Mapping
Применяем к тазу UVW Map из списка модификаторов
Command Panel/Modifiers List/UVW Map
На всякий случай, уточню где он.
и в Parameters/Mapping выбираем цилиндрический метод проекции (Cylindrical).
Если появившийся оранжевый цилиндр лежит не в той оси, то жми X, Y или Z чтобы исправить его направление. Чтобы более точно подогнать его под форму объекта, нажми Fit.
UVW Map/Alignment/Fit
Для любителей всё делать ручками есть способ более точной настройки.
Войди в Sub-Object модификатора и перемещай, вращай и масштабируй гизмо, сколько душе угодно. :)
Войди в под-объект модификатора и убедись, что зелёная линия находится в "пустой" части модели. Эта линия - своеобразный шов, на котором поверхность условно разрывается для плоскостного представления.
Если же она указывает в другом направлении - просто поверни гизмо, чтобы направить её в нужную сторону.
Всё то же для средней части ноги и руки.
У руки шов должен быть снизу, т.к. эта часть реже всего просматривается при анимации.
Для ботинка больше подойдёт кубический метод наложения (Box):
Для головы можно использовать и Cylindrical и Spherical, я выбрал Spherical, т.к. он больше напоминает форму реального объекта.
UVW Map/Parameters/Mapping/Spherical
проверь направленность шва.
Для торса всё тот же Cylindrical.
Я пробовал использовать Spherical, но развёртка мне показалась слишком корявой. С Cylindrical гораздо лучше просматривается форма мэша (модели).