Главная > Урок Симс 2 / Уроки по SimPE / Создание объектов в Симс 2 > Добавление нового сабсета к мешу объекта
Добавление нового сабсета к мешу объекта22-04-2010, 23:11. Разместил: Dara_Savelly |
В этом уроке мы рассмотрим вопрос, как можно добавить к предмету новый сабсет. Скажем, вы сделали шкафчик и хотите добавить к нему стекло, но у вас в пакадже всего один сабсет... прийдется либо искать предмет с 2 сабсетами для клонирования, либо добавлять сабсет в данный пакадж. Первый вариант я отброшу в сторону, поскольку не всегда находится приличная замена, а вам как креаторам полезно знать и уметь добавлять сабсеты к своему предмету.
Сабсет - один из компонентов (частей) вашего меша в пакадже (столешница и ножки стола, дверцы и стекло шкафа, ваза и цветы в букете). Для чего нужны сабсеты? - Во-первых, они служат для разбиения вашей модели на несколько составляющих, что сокращает количество полигонов и облегчает загрузку предмета в игре. Представьте, что вы сделали диван на 3 тысячи полигонов в общем объеме, а игра максимально позволяет использовать модели 1800 полигонов. Поэтому вы можете разбить модель на сабсеты не более 1800 полигонов на каждый, и ваша модель сможет без тормозов грузится в игре. - Во-вторых, у вашего предмета может быть несколько материалов, например, дерево и стекло. Поскольку материал указывается отдельно каждому сабсету, вы не сможете сделать целостный меш и задать ему прозрачность стекла и текстуру дерева одновременно. Поэтому меш делится на два сабсета: та часть, которая будет назначена стеклом, и та которая будет назначена деревом. Что нам понадобиться? - SimPE любимый и родной - базовые знания SimPE и создания объектов 1. Импорт нового сабсета меша. Откройте ваш пакадж в SimPE. Я взяла за основу склонированный горшок с цветком, имеющий один сабсет меша. И заменила его на цветы. Мне нужно добавить сабсет вазы. Зайдите в Geometric Data Container (GMDC) и в Plugin View импортируйте ваш новый сабсет, указав при импорте действие Add (Добавить). Проверьте в Превью, что сабсет появился и нажмите Commit. Как вы можете видеть, у новой вазы пока еще нет текстуры, нам нужно ее добавить. 2. Добавление текстуры к новому сабсету. Если вы собираетесь делать стекло, от текстуры можно вообще отказаться, если же материал обычный или вы хотите сделать стекло разного цвета, текстуру необходимо добавить. Для этого заходим в Texture Image (TXTR) и клонируем текстуру из другого сабсета (не тени) - правый клик по строке с текстурой и выбираем Clone (Клонировать). Теперь нужно переименовать новую текстуру, НО: - не трогайте концовку с расширением _txtr - не изменяйте первые несколько прочерков с названиями вроде fabric, frame, surface (название сабсета), вы должны изменить только последнюю часть, которая отвечает за название перекраски (antique, lavanda, fiolet и т.п.) В нашем случае я добавляю через тире название -vase. Переименовываем текстуру, жмем Fix TGI, импортируем новую текстуру, делаем Commit и сохраняем пакадж. Примечание: напомню, что если вы импортируете полупрозрачную текстуру (для стекла или других целей), вы должны изменить формат с DXT1 на DXT3, иначе ваша текстура потеряет прозрачность. 3. Добавление опций материала. Теперь, когда мы добавили новый сабсет и прописали для него текстуру, нам нужно назначить для них свойства материала. За свойства материала отвечает опция Material Definition (TXMT). Зайдем в эту вкладку и склонируем уже имеющуюся строку для другого сабсета (не тени) - правый клик по строке и выбираем Clone (Клонировать). Теперь выбираем клонированную строку и в закладке Content в строке Filename задаем новое имя. Не забываем, что мы не трогаем и не удаляем: - расширение txmt в конце - приставку, обозначающую имя сабсета (surface) - нижние прочерки разделения В нашем случае мы заменяем последнюю часть с leaf на vase (имя, которое мы указали в пункте 2 в конце нашей текстуры). Нажмите fix TGI и сделайте Commit. Теперь нам надо связать нашу новую опцию материала с нашей текстурой. Для этого в закладках Content - Properties находим в списке свойств строку stdMatBaseTextureName. Справа от нее в строке Value нужно вписать имя созданной нами ранее текстуры. В моем случае имя почти не отличается, я просто в конце добавляю -vase. Вы можете скопировать имя вашей текстуры из TXTR (без окончания _txtr) и вставить его после приставки ##0x1C050000! - это будет одно и тоже. Мое имя текстуры - ##0x1C050000!tulips-[Dara-Savelly2-17.11.2009-132f1e]-surface-vase Теперь перейдем во вкладку Content - File List, жмем на строку в рабочем окне и справа в поле Filename также добавляем в конце -vase, должно получиться тоже самое имя текстуры. Теперь жмем Commit. Теперь перейдем во вкладку Content - cMaterialDefinition и в поле Description измените концовку на вашу, не трогая нижние подчеркивания. У меня это с leaf на vase. Снова сделайте Commit и можете сохранится (File - Save). 4. Редактирование опции Shape. Теперь откройте ресурс Shape и в Plugin View в окне со списком выберите строку с именем первого сабсета (не тени) и нажмите Add. Выделим клонированную ниже строку и в поле Subset name впишем имя нашего нового сабсета, которое отображается при импортировании в GMDC, у меня это vase. Чуть ниже в Material Definition File также измените концовку по имени нашего ресурса Material Definition (TXMT). Сделайте fix TGI и Commit. 5. Установление целостности пакаджа. И последнее, но очень важное действие - установление целостности пакаджа. Зайдите в раздел меню Tools - Object Tools и кликните Fix Integrity. Теперь можете сохранить ваш пакадж. Примечание: если вы не сделаете Fix Integrity, в игре ваш новый сабсет не появиться, поэтому не забывайте в конце про эту функцию. Если вы не собираетесь добавлять функцию перекрашивания вашего сабсета, то на этом можно остановиться, в принципе, на данном этапе сабсет закончен и должен отображаться в игре. Если же вы хотите, чтобы его можно было перекрашивать, следуем дальше! Обратите внимание, что у объекта может быть ТОЛЬКО ДВА перекрашиваемых сабсета! Если у вашего предмета уже имелось два до обновления, вы не сможете добавить третий! 6. Редактирование ресурса Geometric Node. Откройте в Дереве Ресурсов строку Geometric Node. Во вкладке Content выберите в выпадающем списке Blocklist строку tsDesignModeEnabled. Во вкладке cExtension в окне Items показан список сабсетов, которые можно перекрашивать (если уже есть два, то вы не сможете добавить третий). Чтобы добавить новый, нажмите Add, затем нажмите на новую строку в списке, чтобы сделать это активным, и впишите имя сабсета правее в окне Name (у меня это vase). Сделайте Commit. 7. Добавление ресурса Material Override. Откройте в Дереве Ресурсов строку Material Override, выберите строку для другого сабсета (не тени) - правый клик по строке и выберите Clone (Клонировать). Теперь в клонированной строке в закладке Plugin View выберите в списке строку family и запустите Hash Generator (в разделе меню Tools - Object Tools - Hash Generator). В появившемся окне выберите справа пункт GUID и скопируйте код из нижней строки Hash Value. Теперь можете закрыть генератор и вставляйте код в окно Value справа, после чего можете сделать Commit. Теперь выберем из списка строку name и в поле Value справа исправим концовку на vase, как мы делали это раньше. И наконец, выберем строку subsetName и впишем туда название нашего сабсета (vase). Не забудьте сделать Fix Integrity! Заключение. Ну вот и все, наконец-то, мы закончили! Если вернуться в GMDC и проверить превью нашего предмета, то мы увидим, что у нас появился работоспособный сабсет с текстурой, который к тому же можно перекрашивать! Вернуться назад |