DiamondSims

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » DiamondSims » Секреты создания предметов » Заимствование текстур из другого объекта (SLAVE OBJECT)


Заимствование текстур из другого объекта (SLAVE OBJECT)

Сообщений 1 страница 2 из 2

1

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

Заимствование текстур из другого объекта (SLAVE OBJECT)

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

Случается такое, что вы создали несколько предметов, которые используют одинаковые текстуры (Например: набор мебели с одинаковой обивкой или набор картин разного размера с одинаковым деревом для рамам). Загружать игру лишними текстурами в каждом пакадже, а потом ещё для каждого отдельно делать перекраски, очень не рационально. Мы сделаем иначе, создадим Мастер-объект, а в остальных сделаем ссылку на использование текстур из этого пакаджа. Объекты которые будут заимствовать текстуры из Мастер-объекта, называются Рабами (SLAVE OBJECT) и они не будут работать корректно в игре без Мастер-объекта.

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

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

1. Введение

- После того как вы сделаете предметы Рабами (SLAVE OBJECT), то уже не сможете перекрасить их обычным способом. Вместо этого, вам нужно будет перекрасить исходный Мастер-объект.
- Вы можете иметь максимум два перекрашиваемые сабсета в объекте
- Предполагается, что вы уже знакомы с основами создания пользовательского объекта
- Создавая меш раб-объекта, вы должны использовать текстуру мастер-объекта для текстурной раскладки в 3D программе, так как раб-объект будет использовать её в игре.

2. Выбор объекта для клона

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

Для своего примера я возьму фундамент, из своего сета «Стены». Стена из сета  будет моим Мастер-объектом, а фундамент станет раб-объектом и будет заимствовать из неё текстуры пола (и перекраски).

http://i1.imageban.ru/out/2015/07/02/a06cc6f5b0e0f5f593b7d0dcf7f41c1d.jpg http://i2.imageban.ru/out/2015/07/02/55da753e9e152d468b68b96741fbe536.jpg

3. Клонирование и очистка пакета

Клонируйте свой объект как обычно, дайте ему новый ГУИД.

- Удалить все ненужные Material Overrides (MMATs), Material Definitions (TXMTs) и Texture Images (TXTRs). Чтобы удалить файлы, щелкните правой кнопкой мыши на них в списке ресурсов и выбрать Удалить.

http://i2.imageban.ru/out/2015/07/02/5e468c137bd89de4149a52d3a440f647.jpg

- Если у вас несколько сабсетов и не все они будут использовать текстуры из другого объекта, то будьте внимательны при удалении (MMATs), (TXMTs), (TXTRs), не удалите нужное, имя сабсета (подмножества) можно увидеть в названиях файла MMATs и TXMTs, связанных с ним.

4. Создание сетки и текстурной-карты (если ваш меш с правильной текстурной раскладкой готов полностью, можете пропустить этот этап)

Если вы собираетесь заимствовать текстуры из максис объекта или объекта с мешем не похожим на ваш раб-объект (например из максис кровати заимствовать текстуру для ваших штор), то понадобится экспортировать текстуру Мастер-объекта и в 3D программе на текстурной развёртке расположить сетку раб-объекта на экспортированной текстуре. После правильной раскладки меш сохранить и импортировать в (GMDS).

5. Редактирование Geometric Data Container (если ваш раб-меш имеет названия сабсетов как в мастер-объекте, можете пропустить этот этап)

Откройте Geometric Data Container (если их несколько откройте тот который содержит сабсеты из которых хотите одолжить текстуры), и перейдите на вкладку Groups во вкладке Content. Взгляните на имена перечисленных сабсетов.
Затем откройте туже вкладку в пакадже (раб-объекта), скопируйте имя (имена) сабсета из главного пакета (мастер), замените имя (имена) сабсета в пакете раб-объекта  и сохранить пакет раб-объекта. (Чтобы отредактировать имя сабсета, выберите его из списка, щелкнув по нему и его имя появится в поле Имя справа, где вы можете редактировать его.)

http://i6.imageban.ru/out/2015/07/02/9be2234c14f4a94ecf1100b9815d6532.jpg

6. Редактирование Shape

Перейдите к ресурсу  Shape и откройте вкладку Parts в обоих пакаджах Мастер и Раб (Если есть несколько Shape, найдите  тот, который содержит нужные вам сабсеты. Иногда вам нужно отредактировать несколько Shape , как это обычно бывает в объектах, таких как окна и двери.)
В пакадже Мастер-объекта нажмите на сабсет из которого вы заимствуете текстуру, и скопируйте текст из окна под названием
"Subset name"  и замените на него имя сабсета в раб пакадже.
В пакадже Мастер-объекта нажмите на сабсет из которого вы заимствуете текстуру, и скопируйте текст из окна под названием
"Material Definition File"  и замените на него имя сабсета в раб пакадже.

http://i5.imageban.ru/out/2015/07/02/58123e6cbc3a20fbc54aa9adf85f8145.jpg

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

Откройте Geometric Node в пакадже раб-объекта.
Опять же, может придётся редактировать больше, чем один Geometric Node, как и GMDCs и Shape. Если это так, повторите следующие действия для каждого из них, если они содержат сабсеты которые вы редактировали.
В Geometric Node во вкладке Content, откройте Blocklist и в выпадающем меню проверьте есть ли запись с названием "tsMaterialsMeshName". Если такой записи нет, то нам её нужно добавить. Чтобы добавить его, нажмите на вкладке Edit blocks, выберите "tsDataListExtension" из выпадающего меню и нажмите кнопку  Add(Добавить).

http://i4.imageban.ru/out/2015/07/02/d1b86e882169f5d4eb88833dbc91868a.jpg

Затем вернитесь на вкладку Content и откройте Blocklist снова. Ваша добавленная строка будет в нижней части списка. Выделите ее.

http://i2.imageban.ru/out/2015/07/02/feada546617c812f5743cf8cd821c4e1.jpg

На вкладке cExtension, вставте "tsMaterialsMeshName" (без кавычек) в поле Name и нажмите Commit.

http://i4.imageban.ru/out/2015/07/02/56b81daaf1479f920c90d04627e7fcf5.jpg

Затем выберите самую первую строку в Blocklist, и перейдите на вкладку cObjectGraphNode. В разделе под названием " Datalist Extension Reference" нажмите кнопку "Добавить"(add). Появится новая строка. Выберите новую строку, затем посмотрите какой номер должен идти следующий в строке, и добавьте после нулей следующее по порядку число в поле Index (общее количество цифр после x должно быть 8). Затем введите "1" в поле Enabled, и сохраните.

http://i2.imageban.ru/out/2015/07/02/10aa25c57f9381e9f8aa3fd7707dff5b.jpg

Для моего примера запись стоять должна по порядку «3»

http://i2.imageban.ru/out/2015/07/02/9335cd7ca06f7f89069cb5bc1af918a2.jpg

После того как вы закончите с этим (или, если блок tsMaterialsMeshName уже существовали), вы можете двигаться дальше. Выберите запись tsMaterialsMeshName из blocklist снова (правильное название не может показать blocklist, пока вы не сохраните, выйдете и вновь откроете пакадж). Из выпадающего списка в правом нижнем углу, выберите строку String и нажмите кнопку Добавить (add). Если у вас два сабсета заимствуют текстуру, добавьте две строки (Strings) и нажмите ввести (Commit). Оставьте эту вкладку открытой.

http://i2.imageban.ru/out/2015/07/02/13b13f6f4ba3435cf1ad1ecec2f1e830.jpg

!!!Если ваш объект уже имел tsMaterialsMeshName блок и содержит одну или более строк, возможно придется удалить / заменить имеющиеся новыми, если вы не хотите, чтобы сохранились исходные ссылки на эти имеющиеся сабсеты, особенно если они уже не существует в пакадже, после того как вы его редактировали. Чтобы удалить строку, выберите ее, нажмите кнопку Удалить (Delete) в нижнем правом углу и Commit.

Вернитесь к пакаджу мастер объекта, откройте Resource Node и выберите вкладку под названием cObjectGraphNode. Скопируйте имя в поле Filename, без "_cres" суффикса

http://i4.imageban.ru/out/2015/07/02/555740e9977d9080b2caa3dc45e90f4f.jpg

Вернитесь к пакаджу раб-объекта в блок tsMaterialsMeshName,  в ресурсе Geometric Node, нажмите на каждой добавленyой строке в поле Items (у меня одна строка), введите имя сабсета в поле Name, а затем вставьте скопированное имя из Resource Node мастер-объекта в поле String для каждого сабсета. Потом Commit и сохраните.

http://i1.imageban.ru/out/2015/07/02/ce30ca831d59d305007e74734a247e34.jpg

Пакадж мастер-объекта можно закрыть (без сохранения), он больше не понадобится.

!!! Если раньше в уроке пришлось изменить название исходного сабсета  (так как он должен был соответствовать названию сабсета в мастер объекте), нужно сделать еще один шаг. В Geometric Node выберите запись под названием "tsDesignModeEnabled" в Blocklist. На вкладке cExtension в поле Items, вы увидите сабсеты, которые можно перекрасить. Переименуйте их в соответствии с новыми именами сабсетов, нажав на каждый  и отредактировав имя в поле Name справа, а затем Сommit (сохранить). Сохраните пакадж. (Обратите внимание, что вы можете иметь не более 2 сабсетов, перечисленных в tsDesignModeEnabled)

Теперь осталось проверить фундамент в игре!

http://i2.imageban.ru/out/2015/07/02/c5f5977620df02d17cde664e0e3289ea.jpg

0

2

o.O

0


Вы здесь » DiamondSims » Секреты создания предметов » Заимствование текстур из другого объекта (SLAVE OBJECT)


Рейтинг форумов | Создать форум бесплатно © 2007–2016 «QuadroSystems» LLC