• Уважаемый посетитель!!!
    Если Вы уже являетесь зарегистрированным участником проекта "миХей.ру - дискусcионный клуб",
    пожалуйста, восстановите свой пароль самостоятельно, либо свяжитесь с администратором через Телеграм.

Добавление нового компонента - сабсета (Subset) к мешу предмета

  • Автор темы Автор темы AdeLana
  • Дата начала Дата начала

AdeLana

Модератор
Команда форума
Автор урока: AdeLana
Автор иллюстраций: AdeLana


ДОБАВЛЕНИЕ НОВОГО КОМПОНЕНТА - САБСЕТА (subset), К МЕШУ ПРЕДМЕТА. ДЕЛАЕМ САБСЕТ ПЕРЕКРАШИВАЮЩИМСЯ.





Необходимая информация для этого урока была взята из этой темы с MTS и урока от IgnorantBliss

Для чего нужно добавлять сабсеты, спросите вы? Допустим вам понадобилось сделать объект, в котором части имеют не только разные цвета, но и разные свойства материалов (Например штора в которой есть портьера и тюль). А в клонированном вами объекте всего один сабсет. Тут-то вам и понадобится этот урок.

Вам понадобятся:

- SimPE (последняя версия)
- CEP, последняя версия (если добавлять перекрашиваемый сабсет на объект, который первоначально не имел перекрасок)
- Базовые знания SimPE и создания пользовательского объекта


Внимание! Вы можете добавлять сколько угодно сабсетов к мешу, НО перекрашиваемых максимум два.

Введение.

Мы не будем тут рассматривать, как создаётся меш объекта. У вас уже должен быть готов в 3D редакторе, меш предмета с необходимым вам количеством сабсетов.
Я буду делать декоративный архитектурный элемент – СТЕНА.





Я подготовила меш с четырьмя частями (сабсетами)





- glass – стекло, будет безтекстурным материалом
- window – оконная рама, будет всегда белой
- floor – пол, будет перекрашиваемая часть
- base – стена, будет перекрашиваемая часть

Запускаем SimPe -> Workshop -> Начать
Так как мой объект будет декором, выбираю из раздела Украшения -> Скульптуры
такую вазу (потому, что у вазы ест LOD, а мне нужно чтоб мой объект было видно с карты города)

Отступление! У некоторых предметов - как у нашего - есть дополнительная версия LOD90 - это упрощенная версия предмета, показывающаяся на экране соседства (Neighborhood View). У таких объектов, каждому TXMT "полноценного" объекта должен соответствовать TXMT "упрощенного" объекта, иначе объект будет показываться мерцающим синим на экране соседства. Обычно упрощенные TXMT не содержат никаких спец-свойств (как рельеф, или отражаемость, да и текстура там есть не всегда). Имя упрощенного TXMT обязательно должно быть точно таким же, как для полноценного TXMT, только в части "название части меша" должно быть добавлено lod90.






Клонируем. Меняем Гуид.

1 Редактируем Geometric Data Container

Открываем ресурс Geometric Data Container, тень можно удалить. У нас остался один сабсет – base





Импортируем новый меш ->





Заменяем только base, остальное импортируем не меняя





Видим, что наши сабсеты добавлены. Меш заменился.





2 Добавляем Texture Image для новых сабсетов

Для стекла нам текстура не нужна, для остальных частей клонируем имеющуюся текстуру. Если у вас несколько сабсетов будут использовать одну и туже текстуру, не нужно клонировать её несколько раз, достаточно прописать в сабсетах использование нужной текстуры.
Лишние текстуры от старого объекта можно удалить – бамп карту и тень.
Мне нужно три текстуры для стены, пола и рамы
- Самый простой способ добавления новой текстуры - клонировать ресурс текстуры (не тень).
- Чтобы клонировать, щелкните правой кнопкой мыши на существующем Texture Image и выберите Клонировать. Новый файл появится в списке.





Теперь нам нужно заменить текстуру (картинку) на свою, новым текстурам дать новое имя и тоже заменить картинку.
Переименовать файл текстуры изображения, но оставить TXTR-расширение нетронутым. Не изменяйте первые несколько прочерков с названиями сабсета (fabric, frame, surface), только конец файла (в выделенную на скриншоте). Или через тире допишите новое название несли нужно, например wood, fiolet и т.п.





3 Добавляем Material Definition для новых сабсетов

Клонируем для каждого сабсета ресурс Material Definition, таким же методом, как в предыдущем шаге.
Новый материал нужно переименовать соответственно сабсету к которому он будет относиться. Не забываем, что мы не трогаем и не удаляем:
- расширение txmt в конце
- приставку, обозначающую имя сабсета
- нижние прочерки разделения

Ещё нужно прописать в нашем материале текстуру которую он будет использовать, можете скопировать имя вашей текстуры из TXTR (без окончания _txtr) и вставить его после приставки ##0x1C050000!




Примечание! Если нехотите или не знаете как прописывать вручную свойства материалов, можно экспортировать их из подходящего по свойствам ресурса, из любого пакаджа.

Я импортировала свойства стекла из максис окон. Остальное оставила как было.

4 Редактирование ресурса

Откроем SHAPE, и в Plugin View вкладку Content
Нужно добавить новые записи для наших сабсетов, чтоб они указывали к свойствам материалов (Material Definition)
Чтобы сделать это, нажмите кнопку Добавить (add), а затем нажмите на новой линии, которая появляется в списке (только с двоеточия: в этой точке), чтобы сделать его активным.
В строке под названием Subset Name введите имя вашего сабсета. В строке под названием Material Definition file введите название материала созданного в предыдущем шаге,
НО! без суффикса (_txmt) и с префиксом (## 0x1C050000!)

ВАЖНО! Выполните "Fix Integrity" (Сервис -> Инструменты объекта -> Fix Integrity -> update -> ok), сохраните пакадж.





Если вы не хотите делать перекрашиваемые сабсеты, то шаг 5 можете пропустит!

5 Редактирование Geometric Node

Откройте Geometric Node, на выпадающем списке Blocklist, выберите строку под названием "tsDesignModeEnabled".





На вкладке cExtension, в списке Items перечислены перекрашиваемые сабсеты объекта. (Если уже есть два, вы не можете добавить третий). Чтобы добавить еще один, нажмите кнопку Добавить (add), а затем нажмите на новой линии в списке, чтобы сделать её активной, и напишите название вашего нового сабсета в поле Name, и нажмите Commit.





6 Добавляем Material Override для новых сабсетов

Клонируем ресурс Material Override для новых сабсетов как в предыдущих шагах.
Нажмите на линии под названием "family" и открыть Сервис -> Инструменты объекта -> Hash Generator (under Tools -> Object Tools -> Hash Generator). Проверьте опцию GUID, а затем скопировать и вставить хэш-значения в поле Значение (Value) для "family". Нажмите кнопку Commit.





Нажмите на линию под названием "name" в списке, и измените значение в поле справа, чтобы соответствовало материал Definition имя вашего нового сабсета (плюс ## префикс 0x1C050000 и минус _txmt суффикс!). Нажмите кнопку Commit.





Нажмите на линии под названием "subsetName" в списке, и переименуйте его на имя вашего нового сабсета. Нажмите кнопку Commit.





ВАЖНО!
Выполните "Fix Integrity" (Сервис -> Инструменты объекта -> Fix Integrity -> update -> ok), сохраните пакадж.

Повторить для каждого Material Override.[/b][/size]

Смотрим результат в игре.


 
Назад
Сверху