The Sims 2 Добавление нового компонента - сабсета (Subset), к мешу предмета. Делаем сабсет перекрашивающимся

AdeLana

Завсегдатай
Сообщения
1.005
Достижения
755
Награды
661
0.jpg

В уроке рассказывается как добавить к мешу предмета новый компонент (сабсета, Subset), а так же как сделать сабсет перекрашивающимся.

Автор урока: AdeLana
Автор иллюстраций: AdeLana


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

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

Спойлер

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

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

1.jpg


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

2.jpg


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

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

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

3.jpg


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

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

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

4.jpg


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

05.jpg


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

6.jpg


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

7.jpg


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

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

8.jpg


Теперь нам нужно заменить текстуру (картинку) на свою, новым текстурам дать новое имя и тоже заменить картинку.
Переименовать файл текстуры изображения, но оставить TXTR-расширение нетронутым. Редактировать только конец файла (в выделенную на скриншоте)

9.jpg


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

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

10.jpg


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

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

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

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

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

11.jpg


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

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

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

12.jpg


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

13.jpg


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

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

14.jpg


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

15.jpg


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

16.jpg


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


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

17.jpg


Чтобы увидеть скрытый текст, войдите или зарегистрируйтесь.
 
Верх