Сейчас мы по шагам пройдем все этапы создания нового предмета. Напомню только, что исходные материалы, то есть объекты для клонирования и последующей переделки, мы будем брать из файла objects.package, который лежит в каталоге The Sims 2\TSData\Res\Objects (или в подобной папке любого дополнения), а устанавливаются новые пакеты путем простого копирования их в папку My Documents\EA Games\The Sims 2\Downloads. Шаг 1. Рождение клона
Программа: SimPE
Важные этапы:
Клонирование объекта
Переименование модели
Получение уникального GUID
Обновление MMATs
Сохранение пакета
Для создания клона выбираем один из самых простых объектов.
Для примера возьмем и сделаем копию одного из самых простеньких столиков — Crazy 8 Table. Запускаем SimPE, открываем objects.package и запускаем Object Workshop из пункта меню Tools -> Object Creation. Дождавшись загрузки, выбираем закладку Grouped Objects, открываем раздел Surfaces и находим наш стол (у меня он был на 25-й позиции сверху). Теперь нужно его скопировать.
Заметьте, именно скопировать, а не перекрасить — поэтому переключитесь на закладку Clone Settings и нажмите Start, установив галочки, как показано на рисунке. Далее вы сможете дать новое имя объекту. Учтите — это не то название, которое игрок увидит в каталоге, а чисто техническое. Оно вполне может звучать примерно так: tableendoctagonal-[Stager-22.9.2005-21430]. Сменив имя, нажмите кнопку Update, чтобы все файлы, из которых состоит новая модель, получили новые имена, а также установите галочку University Ready v2, чтобы обеспечить объекту совместимость с The Sims 2: University. По кнопке OK программа создаст новый пакет, куда заархивирует все файлы, имеющие отношение к объекту.
Объект должен быть совместим с Sims 2: University.
Что мы только что сделали? Мы создали копию, которая при установке будет замещать прежний объект в игре. Можете проверить. А чтобы окончательно отделить новый объект от предшественника, сделав их независимыми, надо назначить нашему объекту новый GUID.
В дереве Resource Tree выбираем тип данных Object Data (OBJD), переходим на единственный файл этого типа и смотрим, что показывает Plugin View. В верхней строчке вы, вероятнее всего, увидите, что текущий GUID равен 0x8C26E7AD. Его надо поменять на уникальный.
Это важно:обратите внимание на пункт Get GUID справа от окошка ввода. Там обязательно нужно зарегистрироваться в качестве нового разработчика предметов для The Sims 2, если еще не сделали этого ранее, а затем получать гарантированно уникальные номера для своих объектов. Для этого потребуется соединение с интернетом. Не пренебрегайте этим шагом, иначе ваши предметы могут конфликтовать с другими объектами игры.
Установив новый GUID, нажмите на Update MMATs and commit, чтобы восстановить ссылки, нарушенные при смене номера. Готово? Тогда спешу поздравить — первый шаг к созданию нового объекта успешно пройден. Сохраните пакет.
На заметку: команды Commit и Save — не одно и то же. Commit означает просто «принять изменения», а Save — записать их на диск. Не забывайте делать и первое, и второе.
Шаг 2. Экспорт моделей и текстур
Программа: SimPE
Важные этапы:
Экспорт модели
Экспорт текстуры
Здесь все будет относительно просто. Не выходя из SimPE, переходим на тип ресурсов Geometric Data Container (GMDC) и выбираем единственный, хотелось бы надеяться, файл в этой категории. В режиме Plugin View мы видим список всех каркасных моделей, из которых состоит объект. Но из них нам нужны не все, а одна или две: остальные пункты списка — это тени, отбрасываемые предметом в разные стороны. Сделать правильный выбор несложно: все названия, заканчивающиеся на shadow, можно смело игнорировать. Кроме того, посмотрите на примечания: если в объекте сотни граней и тысячи вершин, это определенно «наш клиент», а если всего две-три — это явная тень.
На заметку: кнопка Preview позволит увидеть внешний вид выделенных объектов и убедиться, что туда не попало ничего лишнего. Если вы видите белый каркас без текстуры, возможно, вы забыли обновить MMATs во время предыдущего шага. Кстати, иногда Preview не работает — в таком случае попробуйте перезагрузить SimPE.
Объект для экспорта выбран среди теней.
Выделив галочками только значащие объекты (в нашем случае такой только один — wood), нажмите Export и укажите тип файла — Maya Object (*.obj). Именно этот файл ляжет в основу новой модели.
Осталась текстура. Выбираем тип ресурсов Texture Image (TXTR) и видим в списке несколько файлов. Тут не составит труда на глаз определить, где собственно текстура, а где тень — все картинки сразу показываются в режиме Plugin View. Обратите внимание, что в файле хранится несколько копий одной и той же текстуры разных размеров: нам, конечно, нужна самая крупная, внизу списка. Нажимаем кнопку Export (прямо над окном предварительного просмотра), и сохраняем файл в формате PNG.
Шаг 3. Немного креатива
Программа: 3D Studio Max
Важные этапы:
Построение каркасной модели
Рисование новой текстуры
Создание материала
Наложение текстурных координат (Unwrap UVW)
Теперь мы ненадолго отложим в сторону SimPE и зайдем с другой стороны — сделаем предмет, который предполагается впоследствии добавить в игру. Выбор программ — на ваше усмотрение: лично я пользовался вышеуказанными двумя, но кому-то, вероятно, больше придутся по душе Maya и Adobe Photoshop. Это не принципиально.
Этот стол — пока еще только 3D-модель, никак не связанная с игрой.
Давайте по порядку — что же нам предстоит сделать. Для начала — создать в 3D Studio Max модель, пусть даже достаточно простенькую. Если вы хотите использовать несколько текстур (к примеру — деревянный стул с шелковой обивкой), модель может состоять из нескольких объектов (сам стул и «шелковая» подушечка). Наконец, создать материал, накладывающий на объект текстуру, присвоить его объектам и задать координаты текстур.
Это важно:автор далек от мысли научить вас всем премудростям 3D-моделирования — для этого есть специальная литература. Речь сейчас пойдет только о некоторых особенностях и типичных ошибках, а вернее — граблях, оставивших пару шишек на чувствительном авторском лбу.
Первые «грабли» — размер и ориентация трехмерной модели. Помните, что ваши подопечные — сродни лилипутам, и стол, занимающий одну клетку, в пропорциях 3D Studio Max имеет в диаметре около 2 сантиметров. Гораздо лучше сразу сделать похожий размер, чем потом со скрипом зубовным масштабировать объект в сотню раз. С ориентацией тоже интересно: в окне Front открывается вид сверху на крышку стола. Если вы построите модель так, чтобы любоваться этим видом, как полагается — в окне Top, потом ее придется переворачивать.
Вторые «грабли» — число вершин и граней. Помните, что объекты в игре достаточно небольшие, но их может быть много. Нет, я, конечно, понимаю, что сфера из десяти тысяч треугольников выглядит более гладкой, чем из двух сотен, но разницы все равно никто не увидит, зато лишние полигоны затормозят и без того не слишком реактивную игру.
Единственное, что нам нужно от материала — координаты текстуры.
Наконец, третьи, заключительные «грабли» — материалы. Забудьте про богатейшие библиотеки материалов: мы не перенесем их в игру. Материал потребуется только для того, чтобы назначить ему текстуру и указать ее координаты. Этот момент, пожалуй, надо расписать подробнее.
Итак, мы сделали модель. Теперь нужно проделать с каждым объектом следующую манипуляцию: щелкнуть правой кнопкой и выбрать пункт Convert To -> ... Editable Mech. Далее, пора создать материал с текстурой. Новички часто не могут найти кнопку вызова Material Editor — подсказываю: она на верхней панели кнопок, нужно только промотать ее, схватив мышкой и потянув влево. К слову, удивительно неудобно.
Перед нами — окно материалов. Берем первый же серый шарик, открываем вкладку Maps и назначаем текстуру для Diffuse Color — допустим, ту самую картинку, которую мы экспортировали в шаге 2, сохранив ее в формате PNG.
Это важно:конечно же, можно нарисовать свою текстуру. Более того, так и следует поступить, как только вы посмотрите на развернутую модель и решите, как именно вы будете ее раскрашивать. Главное, что должно остаться от оригинала — его размеры.
Размещаем крышку стола в строгом соответствии с картинкой.
Материал готов. Назначьте его каждому объекту модели и приготовьтесь — сейчас будет один из самых сложных моментов: задание текстурных координат.
Выбираем любой объект, переходим на закладку редактирования (Modify), из выпадающего списка Modifier List выбираем Unwrap UVW и нажимаем на кнопку Edit в свойствах модификатора, открывшихся ниже. Появляется окно, где выбранный объект разложен на плоскость, как картонная коробочка перед склеиванием. Все эти детали нужно переместить и изменить в размерах так, чтобы они легли на нужные участки текстуры. Иначе говоря, картинка будет «наклеена» на грани объекта так, как вы это сейчас укажете. Сразу советую включить галочку Select Elements в группе Selection Modes.
Посмотрев на детали, которые получились при расклеивании, вы вполне можете отменить этот шаг, нарисовать новую картинку в любом графическом редакторе, заново назначить ее материалу и вернуться к заданию текстурных координат. Но учтите — на картинке придется уместить текстуры для всех объектов, составляющих модель.
На заметку: для создания хорошей текстуры иногда полезно сделать временную картинку, просто разбив ее на разноцветные области. Добившись, чтобы столешница была окрашена строго в один цвет, а ножки — в другой, замените цветные прямоугольники «смысловыми» изображениями.
Когда все элементы наконец-то улягутся на свои места, повторите аналогичную процедуру с каждым из оставшихся объектов. Для контроля за результатом время от времени можете делать Render модели.
Шаг 4. Объединение и перенос
Программа: 3D Studio Max
Важные этапы:
Collapse All
Объединение объектов
Экспорт модели в формат Autodesk 3D Studio
Подведем промежуточный итог. У нас есть готовая модель в 3D Studio Max, а каждому объекту назначен материал и указаны текстурные координаты — словом, на предварительном просмотре предмет смотрится именно так, как вы хотите видеть его в игре. Кроме того, у нас есть готовая текстура в виде картинки.
Теперь нужно применить к объектам все сделанные изменения. Щелкаем по любому пункту в списке модификаторов и выбираем Collapse All. Разумеется, это нужно проделать со всеми объектами модели.
Следующий этап — объединение объектов в один (в принципе, это можно было сделать и раньше, но назначать текстурные координаты нескольким простым объектам гораздо легче, чем одному сложному). Находим кнопку Attach List в разделе Geometry (окно внизу от списка модификаторов), выбираем все объекты списка и соединяем в один. Наш предмет готов к... нет, до добавления в игру еще далеко, он всего лишь готов к экспорту — File -> Export -> 3D Studio (*.3DS).
На этом 3D Studio Max уже можно закрыть, и запустить другую, гораздо более простую программу — Milkshape 3D (есть на нашем компакте).
Шаг 5. Совмещение и экспорт
Программа: MilkShape 3D
Важные этапы:
Импорт оригинального объекта
Импорт новой модели
Изменение пропорций и положения
Удаление оригинального объекта и материала
Переименование
Экспорт в Wavefront OBJ
Теперь задача состоит в том, чтобы адаптировать объект для показа в игре. В частности — совместить пропорции и ориентацию с оригинальным объектом. Вы ведь еще не потеряли obj-файл, который получился у вас при экспорте из SimPE? Прекрасно, вот его-то и загружаем — File -> Import -> Wavefront OBJ. И сразу вслед за ним вставляем новый объект, только что сделанный в 3DS Max: File -> Import -> Autodesk 3DS.
В рабочей области MilkShape — два предмета, уже совмещенных по размерам.
На рабочей области программы — два стола. Старый ни в коем случае не трогайте — он служит эталоном правильных размеров и положения. А вот новый надо выровнять по нему, пользуясь инструментами Select, Move, Rotate и Scale. Если вы скажете, что это не очень удобно, я соглашусь без малейших колебаний, но в противном случае мы получим стол, лежащий на боку, провалившийся под землю или неразличимый невооруженным глазом. Особенное внимание уделяйте совмещению верха и низа, чтобы стол не парил над полом, а лежащая на нем книга не проваливалась вглубь.
Когда координаты обоих предметов совпадают, пора избавляться от всего лишнего. Удалите материал (Materials -> Delete), доставшийся в наследство от 3DStudio Max. От него здесь все равно никакого толку, ведь координаты текстур — это свойства каркасной модели. Далее, удалите старый объект (Groups -> Delete), а новому назначьте старое имя (Groups -> Rename). К примеру, в моем случае объект назывался wood.
Снова проведем инвентаризацию: у нас есть новый объект, носящий имя старого и повторяющий его по размерам и положению в пространстве. Вот и прекрасно. Сохраним наше творение в формате *.obj (File -> Export -> Wavefront OBJ). Уж дайте ему какое-нибудь красивое имя.
Шаг 6. Импорт моделей и текстур
Программа: SimPE
Важные этапы:
Импорт модели с заменой одноименного объекта
Импорт текстуры
Обновление всех размеров
Обновить текстуру для всех размеров можно автоматически.
Переходим в SimPE, где у нас давно пылится клонированный объект. Вновь переходим на тип ресурсов Geometric Data Container (GMDC) и выбираем единственный файл из списка. В режиме Plugin View нажимаем Import и выбираем файл, которому мы давали красивое имя при экспорте в OBJ. Тут важно указать, что импортируемую модель надо не добавить, а заменить ею другую, одноименную (Croup Settings -> Action: Replace). Затем — Commit. Кстати, как только сделаете импорт, можно будет насладиться видом своего творения — правда, пока еще только в предварительном просмотре.
Осталось перенести в пакет и новую текстуру. Только, умоляю, не путайте ее с материалом: речь идет о простой PNG-картинке, которую мы сначала распаковали из пакета, а потом перерисовали для нового объекта.
Импортируемая модель заменит одноименную.
Выбираем тип ресурсов Texture Image (TXTR), становимся на прежнюю строчку в списке и находим кнопку Import в Plugin View и подгружаем файл с новым изображением. И последний штрих — щелчком правой кнопкой по окну предварительного просмотра вызываем меню, где даем команду Update All Sizes. Решающий Commit... Сохраняем пакет под новым именем. Пора любоваться результатами.
На заметку: чтобы придать объекту завершенность, имеет смысл дать ему новое название и описание для каталога. Эта информация хранится в группе Catalog Description (CTSS).
Шаг 7. Торжество или разочарование
Программа: The Sims 2
Важные этапы:
Подготовка к худшему
Установка пакета
Запуск игры
Подготовиться к худшему действительно стоит — очень вероятно, что вы пропустили какой-нибудь важный шаг, и вместо заслуженной гордости вас ждет огорчение. Надеюсь, вас утешит, что автору этой статьи тоже неоднократно доводилось хлопать себя по лбу, вспоминая всех чертей, симов и даже в сердцах нелестно отзываться о сотрудниках фирмы Maxis. Бывает, чего уж греха таить.
Копируем наш пакет в папку Downloads, запускаем игру и переходим в Build Mode, где ищем симпатичный столик со звездочкой, обозначающей, что перед нами — пользовательский предмет.
Источник: http://www.lki.ru/