Редактирование, добавление новых элементов и карта текстуры
Сейчас я постараюсь подробно рассказать, как редактирую исходный меш и добавляю к нему новые элементы. Эта задача более сложная, чем просто редактирование меша. Так что приступать к этому лучше, если уже не возникает проблем с извлечением меша из игры, простым редактированием и возвращением обратно в игру. Подробнее здесь.
Мы, как и прежде, используем Body Shop, Simpe (у меня версия 0.68.2.31354) и Milkshape (у меня 1.8.3). Приступим.
Мне заказали сделать вот такой костюмчик:
Как мы видим, нам понадобится «приклеить» к мешу новые элементы: воротник и бантик.
Для начала хочу объяснить схему. Для того чтоб наши новые части адекватно отобразились в игре, для них должно быть намечено место на текстурной карте. Так же должны быть назначены веса в точках, чтоб эти части правильно вели себя в анимации. Теперь обо всем этом подробно (не забываем изучать скриншоты, там помимо ключевых действий отмечены вспомогательные мелочи).
Часть 1. Редактируем модель
1. Подбираем в Body shop наиболее подходящую модель одежды.
Я выбрала это платье
2. Извлекаем из игры эту модель. (Подразумевается, что Вы уже умете это делать)
3. Импортируем меш в milkshape.
4. Итак посмотрим внимательно на фигуру. Сразу наметим себе, что нам не нравится, что непременно надо изменить.
Вот мне, например, кажется, что талия слишком завышена. Плюс нам необходимо, чтоб юбка стала короче, рукава шире, каблуки выше. Значит, будем делать по порядку.
5. Выделим точки, которые должны стать нашей талией
6. Теперь с помощью инструмента scale сузим талию. Указываем масштабирование от центра, задаем нужные оси (сейчас будем сужать по оси X и Z). Указываем значение на которое точки сдвинутся. Мне удобно взять 0.98.
7. Отлично. Мне такая талия больше нравится. Теперь можно чуть сузить линию ниже, а то формы немного пышноваты
8. У линией выше от талии должен быть напуск блузки. Так что тут наоборот расширим. Используем тот же scale, только теперь поставим значение 0.02 (к примеру)
9. Теперь немного опустим напуск и линию над ним
Блузка приняла нужный нам облик, если не считать, что рукава расширятся и еще появится воротник – самое главное, но об этом позже.
10. Займемся ногами. Из-за каблука все что выше щиколотки приподнимется.
Примерно так
11. Юбочку сделаем короче
12. И по такому принципу дальше с помощью move и scale добиваемся нужной формы юбки
13. У нас все еще некрасивые туфли – исправим это. Я все делала выделением и перетаскиванием нужных точек
Вот так лучше
14. Теми же приемами расширим рукава
На этом редактирование самой модели окончено. Пора приступить к добавлению воротничка с бантиком.
Часть 2. Добавление нового элемента
1. У нас готова модель, к которой хотим добавить новый элемент
Для начала проверим привязки к костям
Все на месте.
2. Новый элемент можно добавить несколькими способами. Можно сделать его прямо в Милке из предложенных простых форм, можно создать его в 3d max-е или любом другом редакторе и импортировать прямо в наш проект в формате obj. А можно вырезать кусочек из клона нашего же меша. Тогда на нем уже будут привязки и вообще мороки, как мне кажется, меньше. Пока так и сделаем. Импортируем еще раз исходный меш.
3. Начну выскакивать вот такие окна (отмечено что нажимать)
4. На вкладке groups пока что спрячем наш измененный меш и оставим только исходный, который только что импортировали. Удалим на нем все лишние точки и оставим только то, что будет нашим воротником
5. Придаем ему красивую форму
6. Можно вновь сделать видимым измененный ранее меш. Можно еще немного подправить воротник
7. Теперь сделаем бантик. Тоже любым удобным способом.
8. Все вместе у нас выглядит теперь так
9. Пора назначить привязки. У меня на воротнике практически все веса уже назначены, так как я его вырезала из клона моего меша. На бантике зададим вес одинаковый на все точки. Все на одну кость, на спину или грудь – как больше нравится.
Поговорим подробнее о привязках. Наш новый элемент будет анимироваться в игре, значит, каждая его точка должна быть привязана к одной или нескольким костям. Для того чтоб назначить точке привязку, нужно выбрать ее, затем из выпадающего списка(а) выбрать нужную кость. Затем бегунком(б) выбрать значение веса. Затем нажать fix(в). Можно выделять сразу несколько точек и присваивать сразу им всем. Можно выделить точку, у которой уже есть привязка, нажать show(г) и увидеть ее привязки, затем выделить вместе с ней еще несколько пустых точек без привязок и нажать assign(д), тогда для всех пустых точек скопируются привязки.
10. Если все привязки назначены и модель смотрится симпатично, можно заняться картой текстуры. Это такая сетка, которая состоит из точек нашего меша, разложенных на плоскости. Наша задача подровнять эту сетку так, чтоб было удобно перекрашивать и не возиться неделю, подгоняя текстуру. Так что для начала заготовим клетчатую картинку 1024Х1024. Для нашего же удобства
11. Сейчас мы временно назначим нашему мешу текстуру. Это нужно для того, чтоб мы могли отредактировать карту. Для этого на вкладке groups выберем любой элемент. Перейдем на вкладку materials. Нажимаем new. Затем none. В появившемся окне выбираем файл с нашей клетчатой текстурой. Жмем assign.
Если нужная часть меша не окрасилась, кликните по окну 3D вида правой кнопкой и выберите textured.
12. Далее выбираем остальные части меша и тоже жмем для них assign. Все должно стать клетчатым.
13. Теперь меню Window->Texture Coordinate Editor
14. Появилось окно редактирования карты. Пару слов о функциях:
А - масштабирование рабочей области. Поэкспериментируйте, выберите наиболее удобную для себя.
Б – выбор части меша.
В – Блокировать движение по оси x или y
Г – основные функции выбрать, двигать, вращать, масштабировать.
Можно выделять и изменять положение одной точки или всех сразу – как удобно.
15. У меня, из-за того что вырезала новый объект из оригинального меша, получилось что воротник разорван. Мне надо собрать его и переместить в место, не занятое сеткой исходного меша.
16. Вот так
Но эта сетка искривляет текстуру. Вот как некрасиво это выглядит на самом меше.
Нам надо двигать точки на сетки и смотреть, как меняется положение текстуры на модели. Это кропотливое и немного нудное занятие. Степень сложности зависит от сложности элемента и еще как повезет .
17.
Когда текстура наконец легла правильно, сетки элементов точно друг друга не перекрывают, можно объединить группы. Для этого заходим на вкладку groups. Выбираем там наш меш (не дополнительные элементы а именно тот, который мы редактировали). Жмем comment.
Копируем в блокнот то, что написано в появившемся окошке. Затем копируем название этой группы. Дальше объединяем все группы. И смотрим чтоб у этого нового элемента было название нашего меша. Снова открываем окошко comment и проверяем чтоб то что там написано совпало с тем, что у нас в блокноте. Если это не так, то просто заменяем содержимое окна тем, что у нас в блокноте.
18. Теперь весь наш меш с новыми элементами – единый объект. Снова зайдем в окно редактирования текстуры и убедимся что там все в порядке.
19. Теперь можно очистить меш от временной текстуры. Заходим на вкладку materials и смело жмем delete.
20. Все готово. Дальше, как обычно, экспортим файл, через simpe переправляем его в игру, рисуем перекраску и наслаждаемся результатом.
Обсудить на форуме