Новый меш, текстурирование

Новый меш, текстурирование
Автор: Victor_tor

Итак, нам потребуются:

  • 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 они не работают - нужна версия ниже)

new-mesh-texturing_1

Урок делал по шаблону за неимением фантазии , поэтому тоже решил подделить его на шаги:

  1. Построение нового меша объекта, на основе экспортированного.
  2. Построение карты-развёртки в UV-mapper и импорт нового меша в Workshop
  3. Проработка карт наложения текстур, исправление ошибок отображения.
  4. Наложение текстур на объект и импорт в файл sims3pack

Предварительно советую создать отельную папку куда вы будете скидывать все файлы экспорта и импорта где-нибудь в легко доступном месте - например на рабочем столе.

Я создал такую и назвал её "Sims3 working derictory"

Шаг 1: Построение нового меша объекта, на основе экспортированного.

Зайдя в Workshop жмём Create new project, далее кнопку objects.
Теперь выбираем себе жертву - объект который мы будем копировать и меш которого будем изменять. Я выбрал объект под названием Desk office modern

new-mesh-texturing_2

Даём название нашему проекту, а также даём имя нашему будущему столику. В третьей строчке можно добавить комментарий к объекту.

new-mesh-texturing_3

В окошке Finished жмём OK. Итак, мы перед нами объёмная модель нашего клонированного столика.

Сейчас мы приступим к созданию нового меша для него. Для этого жмём вкладку mesh и кнопку экспорта - папочку с красной стрелочкой new-mesh-texturing_15 . Задаём нашему мешу имя, например desk и сохраняем его в формате .wso в заранее созданную нами рабочую папку Sims 3 working derictory. Workshop сворачиваем в трей.)

new-mesh-texturing_4

Экспорт завершён. Теперь для редактирования меша входим в Milkshape, нажимаем File => Import => TSRW Object. Вот так выглядит наш стол.

new-mesh-texturing_5

Далее мы создаём свой меш стола. Можно прямо в Milkshape, а можно в любой другой программе, изучающей 3D графику, например 3Ds Max или Maya. В сети существует множество туториалов на тему создания меша в Milkshape. R примеру я нашёл вот тут и вот тут несколько.

При создании вы можете удалять, создавать и деформировать любые детали меша, но главное чего не нужно делать - это удалять меш тени (белую подстилку под объектом)
Вот я создал такой вот незамысловатый стол-парту:

new-mesh-texturing_6

Из скриншота видно, что во вкладке groups у нас много-много различных групп объектов-деталей из которых у построен меш. Пока советую их оставить как есть.
Далее мы займёмся построением карты текстурирования для нашего нового стола. Для этого мы экспортируем меш в obj формат. Для этого жмём File => Export => Wavefront OBJ...
Milkshape можно свернуть в трей или закрыть, но он нам ещё пригодится.

Шаг 2: Построение карты-развёртки в UV-mapper и импорт нового меша в Workshop

Теперь заходим в UV-mapper. При открытии нашего Obj-файла стола мы видем вот такую весьма замысловатую картину (у вас будет своя путанница, но не менее замысловатая):

new-mesh-texturing_7

Сейчас наша задача - расчистить этот хлам. Для удобства можно воспользоваться опцией Edit => Tile => By group. В разультате все детали нашего стола будут разобранны на плоскости, и вы увидите примерно такую картину:

new-mesh-texturing_8

Теперь мы красиво раскладываем все эти детали, предварительно запоминая где и какая из них находится и к какому объекту принадлежит. При этом соблюдать пропорции деталей совсем необязательно. По ходу дела советую почаще сохранять ваш файл в виде копии, поскольку программа не имеет привычной для нас кнопки отмены последнего действия. Так что если что-либо пойдёт не так, то придётся всё начинать с нуля.
Одна из деталей (на предыдущем скрине она у меня внизу справа) - это меш "подстилки" тени - той самой что нельзя было удалять. Дабы в дальнейшем избежать проблем с отображением падающих от объекта теней, советую сделать её как можно меньшей по размеру и поместить её в каком нибудь из углов текстурной карты, либо примерно в том месте, как у меня показано на следующей картинке.

Ну вот, теперь текстурная карта стала похожа на своебразную инструкцию по сборке.

new-mesh-texturing_9

Итак нас всё устраивает, мы довольны собой и нашей работой и готовы идти перейти к следующему этапу строительства. Для этого сохраняем полученный нами объект File => Save Model => в диалоговом окне ничего не меняем => Задаём имя под которым мы будем сохранять.
Перед выходом надо сделать ещё одну вещь и сохранить текстурную карту в формате bmp. для чего жмём File => save texture map => В диалоговом окне задаём размер карты 512x512 (именно такой такой размер карты у любого меша мебели, у картин например другой) и снимаем все галочки => сохраняем
Теперь можно выйти из UV-mapper.

Возвращаемся в Milkshape, заходим в новый проект и импортируем наш меш с уже изменённой текстурной картой File => Import => Wavefront OBJ... Внешне объект ничуть не изменился.
Теперь займёмся группировкрой объектов: выделяем все детали объектаи жмём на вкладке Groups кнопку Regroup. Переименовываем группу в group_0. В итоге у нас должна получиться вот так

new-mesh-texturing_10

Жмём File => Export => TSRW Object и в соханяем рабочую папку. Позже делаем такую вещь: удаляем меш тени - то, что я назвал подстилкой и ещё раз импортируем в формат .wso, но уже под другим именем. (первый я по умолчанию сохранил как Desk, второй - под именем Desk2)
Потом Разворачиваем TSR Workshop, где на вкладке Mesh жмём кнопку Import new-mesh-texturing_11. Теперь можно наблюдать результат своей работы в оконе 3D вида.

Но это мы импортировали лишь высокополигональную модель. Высополигональная модель (High Level of detail) - это та, что отображается в игре на участке. Существует ещё и низкополигональная модель (Low Level of detail). Чтобы импортировать её, жмём на список где выбираем Low Level of detail и импортируем второй сохранённый нами файл Desk2.

new-mesh-texturing_12

Заметьте, что меши теней от солнца остались старыми, и точь-в-точь повторяют контуры нашего старого исходного столика. Чтобы обновить контуры падающих теней, дважды импортируем меш Desk2 для предметов из того же списка: для высокоплигональной (Shadow high Level of detail) и низкополигональной модели (Shadow low Level of detail). Можно также воспользоваться кнопкой с двунаправленной синей стрелочкой, но иногда это приводит к вылетам из программы. Так что НЕ рекомендую (Особенно если вы делаете объект с колличеством полигонов от 1000 и выше)
Итак с мешингом покончено, и мы можем полюбоваться своей работой, или прерваться, пойти выпить чашку кофе.

new-mesh-texturing_13

Шаг 3: Проработка карт наложения текстур, исправление ошибок отображения.

Наотдыхавшись и налюбовавшись своим творением, займёмся нанесением правильных текстур для нового меша, для чего переходим на вкладку Textures.
Текстурных слоёв существует много, у каждого объекта их четыре:

  • первый, Overlay,- слой карта которого кладётся поверх перекрашиваемых частей. Он не изменяется и не перекрашивается.
  • второй сверху, Mask, - карта нанесения текстур на объект. Каждый цвет отвечает за свой какал перекраски: красный - за первый канал, зелёный - за второй, синий - за третий канал.
  • третий, Multipier, - обозначает карту собственных теней. Он кладётся поверх предыдущего слоя в виде полупрозрачной маски.
  • наконец четвёртый, Specular, - показывает параметр свечения объектов в игре. Позволяет добавлять эффекты металла и глянца как для всего объекта, так и для различных его частей.

Параметр Overlay в своём уроке я изменять не буду, так что начнём сразу со воторого.Если захотите его изменить, то делается это подобно изменению параметра Specular.
Вот так выглядит наша текстурная маска на данный момент:

new-mesh-texturing_14

Жмём на кнопку Export new-mesh-texturing_15
и сохраняем картинку в рабочей папке "Sims 3 working derictory". Workshop свернём, пока он нам не нужен.
Открываем Photoshop, и открываем там только что сохранённый dds-файл, а также открываем текстурную карту, ту что из UV-mapper мы сохраняли в формате bmp.

new-mesh-texturing_16

Копируем её новым слоем в файл dds и делаем полупрозрачной.
Ну вот, теперь мы видим, как впоследствии будет накладываться текстурная карта на карту объекта. Посему переходим обратно на слой с цветами, и перекрашиваем его из расчёта, что отдельный цвет - это отдельный канал перераски. Я решил, что в моём объекте будут перекрашиваться отдельно сам стол и вставки в крышке стола.

new-mesh-texturing_17

Как только закончили с редактированием, отключаем полупрозрачный слой, и сохраняем наш результат в папке в формате dds, ничего не меняя в выскочившем при этом окошке. Импортируем его в Workshop с помощью кнопки Import new-mesh-texturing_11. В Photoshop-е закрываем наш dds-файл, второй открытый нами файл не закрываем, Photoshop сворачиваем.

Наш объект слегка видоизменился: теперь на нём видны перекрашиваемые детали.

new-mesh-texturing_18

Теперь переходим к редактированию собственных теней, по сему экспортируем dds-файл из окошка Multipier в папку.

new-mesh-texturing_19

Открываем этот файл в Photoshop и проделываем ту же процедуру: копируем карту меша на новый полупрозрачный слой.
Если вам не хочется сильно заморачиваться над собственными тенями, можно полностью залить dds-файл 50%-серым, а можно выделить какие-то отдельные части. Делается это совсем несложно: выделяются отдельные части вашего объекта и им придаётся объём с помощью эффекта Photoshop - тиснение

new-mesh-texturing_20

Сохраняем результат предварительно отключив слой с картой меша. После импорта получаем почти готовый стол.

new-mesh-texturing_21

Всё бы ничего, но если присмотреться под другим углом, на получившемся объекте можно заметить вот такую некрасивую вещь:

new-mesh-texturing_22

В основном такое случается если объект исходник имел разнофактурные части (например у моего стола были металлические ножки, за счёт чего и возникло подобное) Как же это исправить? Ответ мы увидим если нажмём Edit в окне Specular и отключим слой alpha.

new-mesh-texturing_23

Вот ты где мелкий пакостник! Экспортируем эту dds-ку в рабочую папку. Откываем её в Photoshop-е и проделываем туже операцию, что и в двух пунктах выше, а именно: копируем карту меша на новый полупрозрачный слой.

И тут мне в голову взбрело, что я хочу покрыть свой стол лаком и не абы как, а так, чтобы вставки внутри стола остались матовыми. "Хорошо" - отвечаю я своему мозгу и начинаю выполнять приказ.
Закрашивание производим по такому принцыпу: чем светлее тон, тем более блестящей будет текстура. Соответственно: чёрный означает матовость, белый - эффект "металлик".

new-mesh-texturing_24

Однако в в этом пункте есть одно маленькое НО. Прежде чем сохранить полученный результат, нужно добавить альфа-канал, иначе в игре объект будет выглядеть чёрно-белым (другими словами надо вернуть всё к такому же невидимому состоянию как оно и было). Для этого заходим на вкладку "каналы". Если там нету альфа-канала, то создаём новый и называем его alpha, после чего закрашиваем его полностью чёрным.

new-mesh-texturing_25

Теперь результат можно сохранить и импортировать в Workshop. Как видим наш глюк с беспорядочно расположенными полосками пропал:

new-mesh-texturing_26

Помимо всего прочего вы можете менять интенсивность отражения, а также цвет блика на объекте. Делается это во вкладке mesh, в разделе group 0, там где написано default material выбираем и нажимем кнопку с галочкой.
Параметр Shinness влияет на силу эффекта металлик, а цвет параметра specular устанавливает цвет слоя specular.

new-mesh-texturing_27

Шаг 4: Наложение текстур на объект

Изрядно намучавшись с мешем наконец-то приступаем к самой приятной части урока - это выбор текстуры покраски. Делается это во вкладке Textures в разделе Patterns. Там вы можете выбрать любую текстуру из уже доступных в игре, нажав на кнопку с папочкой в редакторе текстур new-mesh-texturing_28, либо придумать свою собственную.

  • Параметр Tiling показывает размер клетки текстуры,
  • параметр Rotation отвечает за поворот текстуры (сколько я ни пробовал, текстура у меня почему-то так и не повернулась),
  • параметр Linked показывает привязку текстуры,
  • Enabled позволяет отключать и подключать новые слои перекраски.

Я решил сделать вот такую вот такую необычную перекраску.

new-mesh-texturing_29

На вкладке Textures в самом верху можно увидеть список перекрасок. В данном случае они называются deskOfficeModern. Для каждой перераски можно создавать не только отдельные параметры перекраски, но и задавать разные параметры карт, и, допустим, делать одну перекраску двухканальной, а другую трёхканальной.

Вот и всё, дрогие друзья. Теперь со вздохом облегчения проводим последние настройки: поворачиваем в окне 3D вида объект и показываем его с какого-нибудь красивого ракурса, поскольку позже это окно станет иконкой вашего объекта, и жмём на File => Export => Sims3pack

Вот так выглядит мой объект в игре:

new-mesh-texturing_30

The Sims 3

The Sims 2

The Sims

MySims

Sims-игры

Даты релизов

the_sims_3_store_saleshymn_bunnersimovod_3simovod2Журнал «Симовод»Prosims - магазин сувениров