Показать сообщение отдельно
Старый 25.11.2009, 03:01   #1
активист
Золотая звезда Золотая звезда Спонсор Prosims Золотая звезда 
 Аватар для Simply_me
 
Репутация: 14119  
Адрес: Prosims, Команда Креатива
Возраст: 34
Сообщений: 2,040
Профиль на Thesims3.com
Лампочка [TS3] Конвертация объектов из The Sims 2 в The Sims 3

Оговорюсь сразу: начинать рекомендую с декора, поскольку большинство других предметов подразумевает привязку анимации и написание соответствующих скриптов на языке C#. Дело это непростое - единого шаблона не существует. Другими словами, нужно неплохо разбираться в синтаксисе C++, чтобы добиться удовлетворительных результатов. С удовольствием распишу этот процесс, но это будет уже во второй части нашего урока. А пока советую выбрать что-то не очень сложное по форме.

Сам процесс конвертации можно разбить на несколько шагов:

1. Извлечение меша предмета Sims 2
2. Создание меша предмета Sims 3 (клонирование стандартного меша при помощи s3oc)
3. Замена меша предмета Sims 3 мешем предмета Sims 2 в Milkshape
4. Перекройка текстур в графическом редакторе

На самом деле, ничего трудного в этом процессе нет. Расписала подробно, поэтому получилось так много. На деле всё занимает не более часа.

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

Шаг 1: Выбираем предмет (декора, как вы догадались) для конвертации из старой, доброй TS2.

Я остановилась на зонтике производства Razer94:


Качаем файл, распаковываем архив и находим меш:


Открываем данный файл в SimPe и в окошке Resource Tree находим строчку Geometric Data Container (GMDC) - кликаем по ней, а затем по файлу в соседнем окошке. В Plugin View должна получиться следующая картина:


Жмём "Export" и сохраняем файл в формате .obj в любое удобное место - я для удобства всегда в таких случаях создаю рабочую папку, куда помещаются все временные файлы.


Еще не всё. Помимо меша, из этого же package нужно извлечь файлы текстур. Находим в Resource Tree строчку Texture Image (TXTR) и тем же образом извлекаем содержимое -> клик по Export, и сохраняем файлы в формате .png в рабочую папку:


SimPe можно закрыть.

Шаг 2. Клонируем меш Sims 3, который послужит основой для нашего предмета.
Запускаем s3oc и щелкаем по File -> New (Clone) (legacy)...


Внимание! Если у вас установлен "Мир Приключений", то программа вылетит после 9 % загрузки файлов. Чтобы этого не произошло, проделайте следующее: откройте папку с установленной базовой (!) игрой и в директории The Sims 3\GameData\Shared\Packages найдите 3 файла: Fullbuild0.package, Fullbuild1.package, Fullbuild2.package. Скопируйте эти файлы в любое удобное место, сохраняя иерархию папок. То есть, создайте на жестком диске папку GameData, в ней - папку Shared, в ней - Packages, в которую и следует вставить скопированное. Учтите, что общий размер трех файлов ~ 4Гб. Подготовьте это место заранее.


Запустите s3oc. Во вкладке Settings найдите Sims3 Installation Folder:


Далее требуется указать путь к скопированным файлам - директорию, где лежит созданная вами папка GameData с подпапками и скопированными файлами.

Всё, s3oc обманули. Теперь можно щёлкать по File -> New (Clone) и ждать построения списка объектов.

Цитата:
Сообщение от Simply_me Посмотреть сообщение
Апдейт: наконец-то появилась версия s3oc, с помощью которой можно клонировать объекты из "Мира Приключений": Идём в Settings -> Game Folders - > указываем папки базовой игры и аддона, после этого во вкладке Cloning выбираем категорию для клонирования. Большинство предметов находятся в Normal Objects.
Поскольку создаём предмет декора, клонировать можно любой из объектов - функции предмета нам не важны. Если же вы решили конвертировать что-то функциональное, подберите для основы предмет с теми же функциями: для стола - стол, для дивана - диван, для телевизора - телевизор и так далее. У меня это - зонтик, поэтому я не стала ходить далеко и выбрала для основы такой же предмет декора - садового гнома (советую выбирать для создания декора именно его - во многих других предметах отсутствуют тени\текстуры). После выбора объекта жмём Clone or Fix... А затем Start, сохраняем файл под любым именем и ждём завершения операции. Если всё прошло удачно, появится небольшое окошко с буквой I.






S3oc можно свернуть или временно закрыть.

Шаг 3. Извлекаем из меша Sims 3 необходимые файлы для работы в Milkshape.

Запускаем s3pe и открываем в ней то, что только что клонировали в s3oc: File -> Open. Появился список файлов. Для работы нам потребуются те, что с тегом _IMG, 3 MLOD и один MODL. Их-то мы и будем извлекать.


Выделяем эти файлы и жмём Resource -> Export -> To File -> Выбираем свою рабочую папку.


Сворачиваем s3pe. Не закрывать! Запутаетесь!

Шаг 4. Млоды и Модлы.

Собственно, меши и тени предмета из TS3 мы достали - это те самые 3 файла MLOD и один MODL, но пока они существуют в совершенно непригодном для редактирования виде. В Milkshape их пока еще загрузить нельзя. Чтобы это стало возможным, пропускаем эти файлы через Object Tools. Для начала очень рекомендую создать в своей рабочей папке четыре подпапки, иначе после данного шага в ней образуется безумное количество файлов, в которых очень легко потеряться. Это делается всякий раз, когда мы имеем дело с мешингом в Sims 3, так что лучше сразу приучить себя сортировать файлы таким образом. Назовём эти подпапки "1", "2", "3", "4" и разложим в них 3 MLOD и 1 MODL - по одному файлу на каждую подпапку.

Открываем папку "1", щёлкаем правой кнопкой по файлу и выбираем "Открыть с помощью..". Находим в списке S3ObjTool:


В открывшейся программе кликаем по MODL/MLOD Info и находим в папке "1" один единственный файл. Его и открываем:


После этого щёлкаем по Decompile, снова указываем путь к файлу в папке "1". При удачном исходе вы увидите справа сообщение: "No errors":


Проделываем те же операции с файлами в папках "2", "3", "4".
Проверяем - в каждой из этих папок количество файлов должно увеличиться.

Шаг 5. Milkshape и компания.

Распаковываем архив (ObjMSPlugins.rar) с плагинами к Milkshape в папку с данной программой.
Запускаем Milkshape и импортируем туда файл из папки "1": File -> Import -> Sims3Object Import V1.00:




Сразу обратите внимание на вкладку Groups. Групп в ней две: меш и тень. Теперь главное не запутаться при импорте меша из TS2:
  • group00 - тень
  • group01 - меш

При замене стандартного меша собственным, порядок должен остаться тем же: тень первая в списке, меш - сразу за ней. Названия групп также следует оставить теми же самыми.

Итак, File -> Import -> Wavefront OBJ -> меш TS2, извлечённый в 1-м шаге. Получилось что-то страшное:




Что делаем дальше:
  • удаляем group00 и group01 -> Delete (гном должен пропасть)
  • выбираем по одной остальные группы: в моём случае это sculpture, fabric, groundshadow -> Select.

Здесь из названия понятно, что groundshadow - это тень. Остальное - части меша. Однако, зачастую определить, чем является та или иная группа, можно лишь выбрав её, что мы и сделали. Свои группы в исходный меш, к сожалению, добавлять нельзя, поэтому, если у вас получилось несколько частей меша (несколько групп), как у меня (sculpture и fabric), нужно объединить их в одно целое -> Regroup.


Следующим шагом нужно восстановить порядок: переименовываем меш в group01, a тень - в group00 и передвигаем
тень вверх.


Если вы не хотите, чтобы ваш предмет отбрасывал тень, не удаляйте эту группу - просто спрячьте её внутри меша. Выберите только тень и установите параметры Scale (например, 0.5 по каждой оси) -> Scale. Эта операция уменьшит тень в 2 раза. Если же этого не достаточно, чтобы спрятать её внутри меша, повторите scale, пока тень не уменьшится в размерах. Затем -> move и перемещаем тень под меш\внутрь меша (в зависимости от объекта и вашей находчивости).

И, наконец, последний этап этого шага - текстурирование и задание текстурных координат. Всё это достаточно просто, но всё же.

Выбираем группу с мешем (или несколько групп - зависит от исходного меша и его количества текстур) -> Select, переходим на вкладку Materials: New. Чуть ниже видим две кнопки, гласящие <none>. Кликаем по первой из них и выбираем текстуру, извлечённую из SimPe в шаге 1.


Жмём Assign. Внимательно осматриваем меш в 3D. Если текстура на месте - не поплыла, не уползла, то оставляем всё, как есть. Если вы не изменяли размеры меша из TS2, то в 95 %-х случаев текстура останется на месте. Однако, если что-то пошло не так - Window -> Texture Coordinate Editor.


Развернув появившееся окно, вы увидите примерно следующее:


Сетка есть не что иное, как развертка вашего меша. Именно эта сетка и задаёт расположение материала на объекте. Если этот материал и сетка у вас не совпадают или совпадают неверно, нужно перерисовать это дело на свой лад: кнопки Select - Move вам в помощь. Выделяя и перемещая нужные области, расположите сетку на материале таким образом, чтобы он верно отображался в режиме 3D. Это не изменение модели - то, что вы делаете сейчас, затронет лишь расположение текстуры на предмете, так что не бойтесь экспериментировать с перемещениями.

Когда же вас, наконец, устроил внешний вид вашего объекта, экспортируем его обратно, в папку "1" - File -> Export -> Sims3 Object Export V1.00 -> сохраняем файл под тем же именем - то есть попросту заменяем тот, что есть в папке, своим. Возможно, выскочит сообщение: "Bone assigments missing. Proceed?" - игнорируем его, жмём "ОК".


Теперь нужно проделать то же самое с файлами из папок "2", "3", "4". Если вы решили не использовать тень, то чтобы не импортировать всякий раз файлы, проще это сделать следующим образом:
  • удалить тень (group00)
  • переименовать меш в group00
  • проэкспортировать полученный файл поочерёдно в папки "2", "3", "4", каждый раз заменяя исходный файл тем, с которым мы работали.

Однако, всё же рекомендую проделывать все операции заново. То есть, импортируем файл из папки "2", импортируем туда же .obj (он же - гном), смотрим на количество групп - если у гнома она одна, то удаляем тень своего меша, а сам меш переименовываем "с закосом под тень", т.е. не в group01, как в первый раз, а в group00. Далее удаляем группу (группы) гнома, задаём текстуру (как - см. выше) и экспортируем файл в папку "2", заменяя тот, что лежит там. То же самое для "3" и "4".

Готово? Открываем папку "1", жмём правой кнопкой на файл с иконкой (он такой в папке один) и выбираем "Открыть с помощью..." - снова находим в списке S3ObjTool.

Снова жмём MODL/MLOD Info и открываем файл с иконкой (работаем в папке "1"). Однако в этот раз кликаем по Recompile и указываем путь к всё тому же файлу из папки "1". - эта операция преобразует наш меш в файл, читаемый игрой.

Проделываем эти операции с файлами из папок "2", "3", "4".

Шаг 6. Текстуры.

Направляемся в Photoshop. В одном окне открываем текстуру, извлеченную в SimPe, а в соседнем - файл .dds, извлечённый в s3pe, в названии которого есть слово "mask".


Если размеры этих текстур не совпадают, как у меня, подгоняем по той, которую мы извлекли в SimPe.

Переходим в окно "mask" и в палитре слоёв создаём над фоновым слоем новый. Заливаем его 50% серым: редактирование -> Выполнить заливку -> Серый 50%. Далее щелкаем на этом слое правой кнопкой и выбираем "Выполнить сведение" - фон и слой с серой заливкой должны слиться в единое целое.
Переходим на текстуру из SimPe. Выделяем на ней детали, которые будут перекрашиваемыми и заливаем\закрашиваем их соответствующими цветами: красным (ff0000), зелёным (00ff00) и синим (0000ff). Каждый цвет отвечает за одну перекрашиваемую деталь.
Далее копируем полученное изображение в текстуру, залитую серым.


Склеим слои - Shift + Ctrl + E. Переходим в каналы и создаём новый канал. По умолчанию он назовётся Alpha 1 и будет абсолютно чёрным.


Готово! Сохраняем текстуру в формате D3D/DDS под тем же именем. Соглашаемся на замену.


Осталось проработать еще 3 текстуры и можно запаковывать файл в package.

Открываем поочерёдно .dds с названиями следующего формата: имя файла_m, имя файла_s, имя файла_о и проделываем следующее:
  • меняем размер (если это необходимо), чтобы он соответствовал размеру текстуры из SimPe.
  • создаём новый слой над фоновым
  • заливаем новый слой 50% серым
  • сводим слои
  • переходим в каналы - создаём новый канал Alpha 1.
Если альфа уже имеется, но не является полностью чёрным, закрашиваем его кисточкой:


Сохраняем под тем же именем в DDS -> DXT5.

После того, как 4 текстуры готовы, запаковываем всё обратно, в package.
Разворачиваем s3pe и кликаем Resource -> Import -> From file -> выбираем в папке "1" файл с иконкой.


Выпрыгнет такое окно:


Ничего не трогаем, жмём "ОК". Если всё получилось, один из файлов в списке будет зачёркнут:


Таким же образом добавляем все MLOD и MODL (всего их должно быть 4 - по одному в каждой из папок "1", "2", "3", "4") и все файлы .dds.
Крепитесь! Их много, но мы почти закончили.
После того, как всё-всё заменили, жмём File -> Save. Закрываем s3pe, но открываем s3oc: File -> Open (Fix)... -> ранее сохранённый package с заменёнными текстурами.

Clone or Fix...

Теперь можно изменить наименование предмета в каталоге - Catalog Name, его описание - Catalog Desc, стоимость - price и иконку (её я подготовила заранее):
  • размер иконки не должен превышать 128х128 px;
  • её фон должен быть прозрачным;
  • формат - .png.


Готово? Жмём Start и ждём, пока программа соберёт результат всех наших трудов в компактный package.

Кладём его в папку The Sims 3\Mods\Packages (для владельцев "Мира Приключений" - в The Sims 3 World Adventures\Mods\Packages) и идём проверять в игре.

И вот он, отыскался в категории декора:


Скачать его можно здесь. Как и обещала, 3 перекрашиваемые детали.

P.S.: Кстати, у зонтика остались функции гнома: его можно пнуть.


*Туториал написан на основе: Копированию не подлежит*

Последний раз редактировалось Simply_me, 07.12.2009 в 08:21.
Simply_me вне форума   Ответить с цитированием