» » » » Как добавить перекраски в один пакадж

апр

23

2010

Как добавить перекраски в один пакадж

Сообщить об ошибке Просмотров: 4069

Как добавить перекраски в один пакадж Меня всегда волновал вопрос, как сделать предмет с множеством перекрасок, не создавая при этом кучу пакаджей для каждого реколора, а собрав их вместе в одном пакадже или добавив текстуры в пакадж с предметом. Сколько не искала в Интернете ответ на свой вопрос, ничего похожего не нашла. Плюнула и решила разбираться сама - покопавшись с часик-другой в структуре пакаджа, я все-таки нашла ответ на свой вопрос, и хочу поделиться им с вами. smile

В данном туториале я расскажу, как можно добавить все перекраски предмета в один пакадж:
- в отдельный пакадж с перекрасками
- в пакадж с объектом

Оба способа практически идентичны, для второго добавляется лишь 1 пункт действий, поэтому писать буду общими шагами.

1. Введение.

Итак, мы выбрали наш пакадж - либо это пакет с перекрасками либо пакет с самим предметом, значения не имеет. Я взяла за пример свой пуфик, для которого собираюсь добавить перекраски древесины.

Как добавить перекраски в один пакадж


Смотрим содержимое пакаджа. У нас в любом случае должны иметься 3 ресурса - Material Definition (TXTM), Material Override (MMAT) и Texture Image (TXTR).

Расскажу вкратце, что каждый из них представляет:
- В TXTM у нас хранятся данные о свойствах материала перекраски нашего сабсета (прозрачный-непрозрачный, отражающий-неотражающий и т.д.) и ссылка на текстуру (файл TXTR).
- В MMAT у нас прописан адрес сабсета, который мы перекрашиваем и ссылка на TXTM выше.
- TXTR, собственно, сама текстура. Ее имя обычно задается следующим образом - Имя вашего объекта-[автор и дата]-имя сабсета-имя перекраски_txtr расширение (мой пример: PaddedStool01-[Dara-Savelly-6.8.2009-d305]-frame-antique_txtr).
Как видите, имя сабсета и текстуры в TXTR разделяются с помощью "-" (тире), если мы посмотрим на имя файла TXTM, в нем те же самые имена разделяются с помощью "_" (подчеркивания) (мой пример: PaddedStool01--[Dara-Savelly-6.8.2009-d305]_frame_antique_txmt), не путайте эти два названия!


2. Клонирование Texture Image (TXTR).

Теперь нам нужно добавить новые перекраски в пакадж. Открываем TXTR, правой кнопкой мыши нажимаем на текстуру и клонируем ее.
Как добавить перекраски в один пакадж


У нас появится новая строчка курсивом. Выделите ее и перейдите в закладку Plugin View. Нам нужно поменять название новой текстуры, НО не забывайте, что имя сабсета трогать нельзя, также, как и отделяющие его тире. Просто заменим последнее имя текстуры с antique, скажем, на wood. Затем нажмем на Fix TGI, импортируем новую текстуру и сделаем Commit.
Как добавить перекраски в один пакадж


Теперь у нас есть новая текстура, но нам для нее нужно добавить свойства материала (TXTM) и ссылку на сабсет (MMAT).

3. Клонирование Material Definition (TXMT).

Зайдем в TXMT и клонируем существующий файл. Выделим клонированную строку и заменим в поле Filename концовку с antique на wood. Нажмем Fix TGI.
Как добавить перекраски в один пакадж


Теперь посмотрим в Plugin View:

- В закладке Content -> Properties найдем строчку с именем текстуры и в поле Value заменим концовку с antique на wood.
Как добавить перекраски в один пакадж


- В закладке Content -> cMaterial Definition выделим строку Description и заменим концовку с antique на wood.
Как добавить перекраски в один пакадж


- В закладке Content -> File List выделим имя текстуры и в поле Filename заменим концовку с antique на wood.
Как добавить перекраски в один пакадж


После этого нажмем Fix TGI и сделаем Commit. У нас готов файл TXTM.

4. Клонирование Material Override (MMAT).

Теперь зайдем в MMAT и снова склонируем строку. Выделяем клон и смотрим в Plugin View.

- Выделяем строку name (dtString) и меняем концовку с antique на wood.
Как добавить перекраски в один пакадж


- Выделяем строку family (dtString), заходим в верхнее меню Tools -> Object Tools -> Hash Generator...
Выбираем галкой GUID, копируем сгенерированный GUID ниже и вставляем его в поле Value. Делаем Commit.
Как добавить перекраски в один пакадж


Небольшое отступление:
Для чего нужна генерация гуида в данном случае? Если не сделать генерацию нового гуида, наша клонированная текстура заменит предыдущую с тем же гуидом, таким образом, для текстур действует принцип задания уникальности такой же, как и для объекта.


Используя данный способ, вы можете еще добавлять в пакадж новые текстуры. Если вы делаете добавление перекрасок в отдельном пакадже, не забудьте сделать Fix Integrity (раздел меню Tools -> Object Tools -> Fix Integrity) - это установит целостность между ресурсами в пакадже. После чего сохраните пакадж и проверьте перекраски на работоспособность в игре. Если вы делали перекраски в пакадже с предметом, Fix Integrity пока делать не надо.

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

5. Редактирование Geometric Node (GMND).

Заходим в Дереве ресурсов в опцию Geometric Node и в закладке Plugin View в выпадающем списке Blocklist выбираем имя сабсета, для которого мы добавили перекраску (у меня это frame).
В окне Items вы увидите список всех ссылающихся на txmt-ресурсы опций. Убедимся, что у нас стоит параметр Array и нажмем Add. У нас появится новая пустая строка. Выберем ее, и справа в поле Name запишем окончание аналогично первой строке (у меня это frame_wood). Нажимаем Commit, делаем Fix Integrity (раздел меню Tools - Object Tools - Fix Integrity) и сохраняем пакадж.
Как добавить перекраски в один пакадж


6. Заключение.
Собственно, вот и все. Если понять принцип добавления ресурсов, то это будет занимать не больше минуты.
Теперь проверьте предмет в игре.
Как добавить перекраски в один пакадж


Как видно, у меня появилась панель с перекрасками дерева. Все замечательно работает :)



Теги: симс 2

Автор: Dara_Savelly

Публикатор: Dara_Savelly


Другие новости по теме:

  • Создание новой еды
  • Создание новых мешей одежды
  • Создание прозрачных полов
  • Заимствование текстур из другого объекта
  • Добавление нового сабсета к мешу объекта