The Sims Creative Club

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

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

AdeLana

Проверенный
Сообщения
981
Достижения
210
Награды
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


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