Новый меш, текстурирование
Итак, нам потребуются:
- TSR Workshop и Плагины для конвертации в Milkshape
(Чтобы установить плагины, копируем их из папки C:\Program Files\The Sims Resource\TSR Workshop\Extras\Milkshape Plugins в папку C:\Program Files\MilkShape 3D 1.8.4) - Milkshape (на примере версии 1.8.4)
- UV-mapper (на примере версии Classic)
- Графический редактор, поддерживающий загрузку .dds файлов. Рассмотрим на примере Photoshop.
- Плагины .dds для Photoshop (внимание, с CS4 они не работают - нужна версия ниже)
Урок делал по шаблону за неимением фантазии , поэтому тоже решил подделить его на шаги:
- Построение нового меша объекта, на основе экспортированного.
- Построение карты-развёртки в UV-mapper и импорт нового меша в Workshop
- Проработка карт наложения текстур, исправление ошибок отображения.
- Наложение текстур на объект и импорт в файл sims3pack
Предварительно советую создать отельную папку куда вы будете скидывать все файлы экспорта и импорта где-нибудь в легко доступном месте - например на рабочем столе.
Я создал такую и назвал её "Sims3 working derictory"
Шаг 1: Построение нового меша объекта, на основе экспортированного.
Зайдя в Workshop жмём Create new project, далее кнопку objects.
Теперь выбираем себе жертву - объект который мы будем копировать и меш которого будем изменять. Я выбрал объект под названием Desk office modern
Даём название нашему проекту, а также даём имя нашему будущему столику. В третьей строчке можно добавить комментарий к объекту.
В окошке Finished жмём OK. Итак, мы перед нами объёмная модель нашего клонированного столика.
Сейчас мы приступим к созданию нового меша для него. Для этого жмём вкладку mesh и кнопку экспорта - папочку с красной стрелочкой . Задаём нашему мешу имя, например desk и сохраняем его в формате .wso в заранее созданную нами рабочую папку Sims 3 working derictory. Workshop сворачиваем в трей.)
Экспорт завершён. Теперь для редактирования меша входим в Milkshape, нажимаем File => Import => TSRW Object. Вот так выглядит наш стол.
Далее мы создаём свой меш стола. Можно прямо в Milkshape, а можно в любой другой программе, изучающей 3D графику, например 3Ds Max или Maya. В сети существует множество туториалов на тему создания меша в Milkshape. R примеру я нашёл вот тут и вот тут несколько.
При создании вы можете удалять, создавать и деформировать любые детали меша, но главное чего не нужно делать - это удалять меш тени (белую подстилку под объектом)
Вот я создал такой вот незамысловатый стол-парту:
Из скриншота видно, что во вкладке groups у нас много-много различных групп объектов-деталей из которых у построен меш. Пока советую их оставить как есть.
Далее мы займёмся построением карты текстурирования для нашего нового стола. Для этого мы экспортируем меш в obj формат. Для этого жмём File => Export => Wavefront OBJ...
Milkshape можно свернуть в трей или закрыть, но он нам ещё пригодится.
Шаг 2: Построение карты-развёртки в UV-mapper и импорт нового меша в Workshop
Теперь заходим в UV-mapper. При открытии нашего Obj-файла стола мы видем вот такую весьма замысловатую картину (у вас будет своя путанница, но не менее замысловатая):
Сейчас наша задача - расчистить этот хлам. Для удобства можно воспользоваться опцией Edit => Tile => By group. В разультате все детали нашего стола будут разобранны на плоскости, и вы увидите примерно такую картину:
Теперь мы красиво раскладываем все эти детали, предварительно запоминая где и какая из них находится и к какому объекту принадлежит. При этом соблюдать пропорции деталей совсем необязательно. По ходу дела советую почаще сохранять ваш файл в виде копии, поскольку программа не имеет привычной для нас кнопки отмены последнего действия. Так что если что-либо пойдёт не так, то придётся всё начинать с нуля.
Одна из деталей (на предыдущем скрине она у меня внизу справа) - это меш "подстилки" тени - той самой что нельзя было удалять. Дабы в дальнейшем избежать проблем с отображением падающих от объекта теней, советую сделать её как можно меньшей по размеру и поместить её в каком нибудь из углов текстурной карты, либо примерно в том месте, как у меня показано на следующей картинке.
Ну вот, теперь текстурная карта стала похожа на своебразную инструкцию по сборке.
Итак нас всё устраивает, мы довольны собой и нашей работой и готовы идти перейти к следующему этапу строительства. Для этого сохраняем полученный нами объект File => Save Model => в диалоговом окне ничего не меняем => Задаём имя под которым мы будем сохранять.
Перед выходом надо сделать ещё одну вещь и сохранить текстурную карту в формате bmp. для чего жмём File => save texture map => В диалоговом окне задаём размер карты 512x512 (именно такой такой размер карты у любого меша мебели, у картин например другой) и снимаем все галочки => сохраняем
Теперь можно выйти из UV-mapper.
Возвращаемся в Milkshape, заходим в новый проект и импортируем наш меш с уже изменённой текстурной картой File => Import => Wavefront OBJ... Внешне объект ничуть не изменился.
Теперь займёмся группировкрой объектов: выделяем все детали объектаи жмём на вкладке Groups кнопку Regroup. Переименовываем группу в group_0. В итоге у нас должна получиться вот так
Жмём File => Export => TSRW Object и в соханяем рабочую папку. Позже делаем такую вещь: удаляем меш тени - то, что я назвал подстилкой и ещё раз импортируем в формат .wso, но уже под другим именем. (первый я по умолчанию сохранил как Desk, второй - под именем Desk2)
Потом Разворачиваем TSR Workshop, где на вкладке Mesh жмём кнопку Import . Теперь можно наблюдать результат своей работы в оконе 3D вида.
Но это мы импортировали лишь высокополигональную модель. Высополигональная модель (High Level of detail) - это та, что отображается в игре на участке. Существует ещё и низкополигональная модель (Low Level of detail). Чтобы импортировать её, жмём на список где выбираем Low Level of detail и импортируем второй сохранённый нами файл Desk2.
Заметьте, что меши теней от солнца остались старыми, и точь-в-точь повторяют контуры нашего старого исходного столика. Чтобы обновить контуры падающих теней, дважды импортируем меш Desk2 для предметов из того же списка: для высокоплигональной (Shadow high Level of detail) и низкополигональной модели (Shadow low Level of detail). Можно также воспользоваться кнопкой с двунаправленной синей стрелочкой, но иногда это приводит к вылетам из программы. Так что НЕ рекомендую (Особенно если вы делаете объект с колличеством полигонов от 1000 и выше)
Итак с мешингом покончено, и мы можем полюбоваться своей работой, или прерваться, пойти выпить чашку кофе.
Шаг 3: Проработка карт наложения текстур, исправление ошибок отображения.
Наотдыхавшись и налюбовавшись своим творением, займёмся нанесением правильных текстур для нового меша, для чего переходим на вкладку Textures.
Текстурных слоёв существует много, у каждого объекта их четыре:
- первый, Overlay,- слой карта которого кладётся поверх перекрашиваемых частей. Он не изменяется и не перекрашивается.
- второй сверху, Mask, - карта нанесения текстур на объект. Каждый цвет отвечает за свой какал перекраски: красный - за первый канал, зелёный - за второй, синий - за третий канал.
- третий, Multipier, - обозначает карту собственных теней. Он кладётся поверх предыдущего слоя в виде полупрозрачной маски.
- наконец четвёртый, Specular, - показывает параметр свечения объектов в игре. Позволяет добавлять эффекты металла и глянца как для всего объекта, так и для различных его частей.
Параметр Overlay в своём уроке я изменять не буду, так что начнём сразу со воторого.Если захотите его изменить, то делается это подобно изменению параметра Specular.
Вот так выглядит наша текстурная маска на данный момент:
Жмём на кнопку Export
и сохраняем картинку в рабочей папке "Sims 3 working derictory". Workshop свернём, пока он нам не нужен.
Открываем Photoshop, и открываем там только что сохранённый dds-файл, а также открываем текстурную карту, ту что из UV-mapper мы сохраняли в формате bmp.
Копируем её новым слоем в файл dds и делаем полупрозрачной.
Ну вот, теперь мы видим, как впоследствии будет накладываться текстурная карта на карту объекта. Посему переходим обратно на слой с цветами, и перекрашиваем его из расчёта, что отдельный цвет - это отдельный канал перераски. Я решил, что в моём объекте будут перекрашиваться отдельно сам стол и вставки в крышке стола.
Как только закончили с редактированием, отключаем полупрозрачный слой, и сохраняем наш результат в папке в формате dds, ничего не меняя в выскочившем при этом окошке. Импортируем его в Workshop с помощью кнопки Import . В Photoshop-е закрываем наш dds-файл, второй открытый нами файл не закрываем, Photoshop сворачиваем.
Наш объект слегка видоизменился: теперь на нём видны перекрашиваемые детали.
Теперь переходим к редактированию собственных теней, по сему экспортируем dds-файл из окошка Multipier в папку.
Открываем этот файл в Photoshop и проделываем ту же процедуру: копируем карту меша на новый полупрозрачный слой.
Если вам не хочется сильно заморачиваться над собственными тенями, можно полностью залить dds-файл 50%-серым, а можно выделить какие-то отдельные части. Делается это совсем несложно: выделяются отдельные части вашего объекта и им придаётся объём с помощью эффекта Photoshop - тиснение
Сохраняем результат предварительно отключив слой с картой меша. После импорта получаем почти готовый стол.
Всё бы ничего, но если присмотреться под другим углом, на получившемся объекте можно заметить вот такую некрасивую вещь:
В основном такое случается если объект исходник имел разнофактурные части (например у моего стола были металлические ножки, за счёт чего и возникло подобное) Как же это исправить? Ответ мы увидим если нажмём Edit в окне Specular и отключим слой alpha.
Вот ты где мелкий пакостник! Экспортируем эту dds-ку в рабочую папку. Откываем её в Photoshop-е и проделываем туже операцию, что и в двух пунктах выше, а именно: копируем карту меша на новый полупрозрачный слой.
И тут мне в голову взбрело, что я хочу покрыть свой стол лаком и не абы как, а так, чтобы вставки внутри стола остались матовыми. "Хорошо" - отвечаю я своему мозгу и начинаю выполнять приказ.
Закрашивание производим по такому принцыпу: чем светлее тон, тем более блестящей будет текстура. Соответственно: чёрный означает матовость, белый - эффект "металлик".
Однако в в этом пункте есть одно маленькое НО. Прежде чем сохранить полученный результат, нужно добавить альфа-канал, иначе в игре объект будет выглядеть чёрно-белым (другими словами надо вернуть всё к такому же невидимому состоянию как оно и было). Для этого заходим на вкладку "каналы". Если там нету альфа-канала, то создаём новый и называем его alpha, после чего закрашиваем его полностью чёрным.
Теперь результат можно сохранить и импортировать в Workshop. Как видим наш глюк с беспорядочно расположенными полосками пропал:
Помимо всего прочего вы можете менять интенсивность отражения, а также цвет блика на объекте. Делается это во вкладке mesh, в разделе group 0, там где написано default material выбираем и нажимем кнопку с галочкой.
Параметр Shinness влияет на силу эффекта металлик, а цвет параметра specular устанавливает цвет слоя specular.
Шаг 4: Наложение текстур на объект
Изрядно намучавшись с мешем наконец-то приступаем к самой приятной части урока - это выбор текстуры покраски. Делается это во вкладке Textures в разделе Patterns. Там вы можете выбрать любую текстуру из уже доступных в игре, нажав на кнопку с папочкой в редакторе текстур , либо придумать свою собственную.
- Параметр Tiling показывает размер клетки текстуры,
- параметр Rotation отвечает за поворот текстуры (сколько я ни пробовал, текстура у меня почему-то так и не повернулась),
- параметр Linked показывает привязку текстуры,
- Enabled позволяет отключать и подключать новые слои перекраски.
Я решил сделать вот такую вот такую необычную перекраску.
На вкладке Textures в самом верху можно увидеть список перекрасок. В данном случае они называются deskOfficeModern. Для каждой перераски можно создавать не только отдельные параметры перекраски, но и задавать разные параметры карт, и, допустим, делать одну перекраску двухканальной, а другую трёхканальной.
Вот и всё, дрогие друзья. Теперь со вздохом облегчения проводим последние настройки: поворачиваем в окне 3D вида объект и показываем его с какого-нибудь красивого ракурса, поскольку позже это окно станет иконкой вашего объекта, и жмём на File => Export => Sims3pack
Вот так выглядит мой объект в игре: