WarCraft 3: Текстурирование

Лягушка-Царевна (о работе с моделями в MDLVis)
Процесс текстурирования модели можно разделить на 2 основных вида:
  1. создание текстуры «с нуля», когда на вновь созданную модель необходимо сделать текстуру
  2. натягивание какой-либо понравившейся текстуры на модель
Есть еще «подвид» - перекрашивание готовой текстуры, но его я рассматривать не буду, т.к. этим занимаются и хорошо знают практически все начинающие моделлеры.

Создание текстуры «с нуля»

Прежде всего, этот процесс напрямую связан с созданием геометрии модели, т.е. модель надо строить, уже зная, какую форму будет иметь текстура. Я рассмотрю несколько типов текстур для «человекоподобных» моделей:
  1. самые простые текстуры (для моделей? имеющих в сечении рук, ног треугольную форму и уж очень малополигональное тело и голову) имеют соответственно и самую простую текстуру - как правило вид спереди с отдельно вырисованным в фас лицом, отдельно волосами в профиль, реже областью спины (вид сзади). Пример – текстура работника, у которой выделена область спины. Такую модель проще делать, но вот с текстурой придется повозиться. Натягивать ее в Vis'е довольно сложно, будут «растянутые» места
  2. более проработанные текстуры – имеют вид спереди , вид сзади, и вид спереди, вид сзади головы (или вид сбоку). Как вариант – половина вида спереди – половина вида сзади. Пример – текстура огра. Тут уже существуют некоторые требования к построению модели – для первого случая модель должна четко разделяться границами полигонов в виде сбоку, если модель делалась в Vis'е, то придется делить на 2 поверхности – переднюю и заднюю. Для второго случая кроме этого модель также должна четко разделяться границами полигонов на симметричные правую и левую части (хотя выделять отдельные поверхности не надо), кроме передней и задней. Здесь текстурировать гораздо проще, хотя для первого случая текстура имеет большой размер.
  3. «Комбинированные» текстуры – например? текстуры из ВОВ или моделей юнитов из загрузочных экранов кампаний ВАРа. Есть, например, такой вариант: тело – вид сбоку, на таком виде сразу изображены и спина и передняя часть, ноги от пояса и руки – вид спереди и сзади, голова – фас, волосы отдельной общей текстурой.
Я же предлагаю такой вариант: тело – вид сбоку, ноги от пояса до колен и руки – вид спереди и сзади, голова в фас (лицо), ноги от колен – вид сбоку, похожий вариант – текстура Mедива, позволяет сэкономить место на UV-карте и разместить доп. текстуры, например оружия, плаща и т.д., не теряя качества текстуры и удобства её «рисования». Натягивать чуть посложнее, чем во втором случае, т.к. текстурируется не вся модель сразу, а отдельные ее части.
Я разберу 3 случай, как наиболее подходящий и наглядный.
Беру готовую модель, о создании геометрии которой рассказал выше, причем не всю модель, а только правую ее часть. Выделяю в отдельные поверхности руку, ногу от пояса до колена, ногу от колена и ниже, голову, тело. Ногу от пояса и руку делю еще на 2 поверхности каждую, на переднюю и заднюю. Всего получилось 9 поверхностей. Сохраняем модель, закрываем Vis.
Все эти деления на поверхности можно было бы не делать, если есть желание выделять нужные вершины этих поверхностей на цельной модели, что в Vis'е очень проблематично в точках соприкосновения стыкующихся поверхностей, например, тела и ног в области пояса, т.к. можно случайно выделить точку из ног, когда нужна точка от тела.
Все операции по текстурированию советую проводить до создания скелета модели, потому что привязка точек к костям при выделении поверхностей в отдельные теряется, и приходится снова привязывать точки в стыкующихся областях модели.
Далее берем какой-нибудь графический редактор (желательно Photoshop), создаем в нем пустую картинку любого графического формата, который можно конвертироать в blp (желательно TGA), обрамленную по краю тонкой контрастной линией, размером 256х256 пиксел. Перегоняем ее в формат blp, допустим texture.blp (т.е. мы создали «пустую» текстуру, обрамленную по краю рамкой).
Открываем половинку модели в war3ME, в менеджере текстур импортируем texture.blp, в редакторе материалов создаем материал (советую двусторонний, чтобы не было проблем с видимостью), прописываем в нем texture.blp, далее в редакторе поверхностей присваиваем каждой поверхности созданный материал.
Снова открываем модель с прописанной текстурой в Vis'е, и начинаем процесс создания текстуры:
  1. открываем в редакторе вершин «вид справа», выбираем поверхность 4 (тело) (рис. 1), выделяем все вершины поверхности и кликаем по кнопке «UV-карты». Открывается наша пустая текстура, а на ней спроецирован параллелепипед так как модель делалась из параллелепипедов, выделяем все его тачки и кликаем по кнопке «проецировать». Теперь на текстуре отразилась UV-карта поверхности тела.
Здесь на рисунке UV-карта волос, вид сбоку, видна рамка текстуры, размер 256х256
  1. Теперь какой либо программой (я использовал просмотрщик IrfanView) снимаем скриншот редактора текстур с нашей проекцией тела, в каком либо графическом редакторе (я использовал IrfanView) вырезаем будущую текстуру по рамке, с помощью опции Replace «вгоняем» ее в размер 256х256 и сохраняем в любом графическом формате. (рис 2 и 3)
  1. Повторяем действия из пунктов 1 и 2 для каждой поверхности модельки. Перспективу нужно устанавливать в тот вид, какой будет на текстуре, т.е. тело – вид сбоку, лицо – вид спереди, волосы – вид сбоку , передние части руки и ноги – вид спереди, «сапог» вид сбоку, задние части руки и ноги – вид сзади.
  2. Теперь в нормальном графическом редакторе (лучше в Фотошопе) открываем все наши заготовки текстур, и путем вырезки-вставки компонуем все раскладки на одну картинку, а затем раскрашиваем (что у меня лично совсем не получается =)).(рис 4 и 5)
  3. Конвертируем раскрашенную картинку в texture.blp
  4. Предпоследняя операция – открываем нашу половинку модели в Vis'е (рис 6, текстура еще сидит не на месте), для каждой поверхности проверяем UV-карты, передвигая точки поверхности на нужную часть текстуры, и корректируя (слегка) положение точек , которые не вписались в размер. Должен сказать, что на текстуре–примере я все сделал довольно неточно, и мне пришлось корректировать, тому же, кто нарисует текстуру точно по спроецированным точкам, корректировать придется только масштаб, если при компоновке текстуры он менял масштаб.
  5. Ну и последняя операция: в виде сбоку выделяем ВСЕ поверхности , копируем (CTRL+C), вставляем (CTRL+V), осторожно совмещаем точки в виде сбоку, нажимаем клавишу «отразить в рабочей плоскости» (синяя с крестиком), переходим в вид спереди, и видим две зеркальные половинки модели, совмещаем их, «сшиваем» их (кнопкой сжать) по центральной линии, и любуемся готовой моделью (рис 7, 8, 9)... Ну и МОНСТР, зато свое, родное, выстраданное =)
Можно переходить к созданию скелета и анимированию.

Просмотров: 8 870

Gray #1 - 7 лет назад 2
Большое спасибо, если честно как делал по статье, немного не вышло... Но она натолкнула меня так сказать на путь истинный!
KABLE #2 - 7 лет назад 1
как прикрепить к стандартной модели текстуру?
DanteVioliny14 #3 - 3 года назад 0
Очень важный вопрос. Что делать, если текстура в Model Editor и Mdlvis отображается нормально, а в игре и в редакторе только если очень близко подвести камеру? Что влияет на отображение текстуры в редакторе и в игре?
прикреплены файлы
darkowlom #4 - 3 года назад 1
DanteVioliny14, сделай больше мипмапов при конвертировании
штук 10
DanteVioliny14 #5 - 3 года назад 0
Спасибо. Только объясни что такое мипмапы. Думаю я не один, который не знает что это.
DanteVioliny14 #7 - 3 года назад 0
Разобрался. darkowlom, спасибо.
Это сообщение удалено