DiamondSims

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

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


Вы здесь » DiamondSims » Секреты создания предметов » Добавляем дополнительные слоты в объект


Добавляем дополнительные слоты в объект

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

1

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

Добавляем дополнительные слоты в объект

http://i2.imageban.ru/out/2015/05/24/bdfb41d916784ef73e6ff34245911c1e.jpg

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

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

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

- 3d редактор
- SimPe
- Базовые знания SimPE и создания пользовательского объекта

Введение

Для создания своей этажерки, я клонировала журнальный столик, у которого лишь один слот, но и он не на нужном мне уровне. Поэтому я буду добавлять слоты и выставлять нужную мне высоту для каждого.

http://i5.imageban.ru/out/2015/05/24/17dd342a9721e7e1c19457e5c25523bb.jpg

У нас есть три ресурса в которых мы будем работать:
Text Lists (STR#), Resource Node (CRES) и Slot File (SLOT).

1. Редактируем Text Lists (STR#)

Если вы будете добавлять много слотов,  дайте им информативное название, чтоб в дальнейшем можно было проще найти какой слот редактировать, если вы выставите не правильную высоту или положение слота. Я буду добавлять три слота к уже имеющемуся, который я буду считать первым (и выставлю высоту для него на уровне первой полки). Поэтому  следующие я назову polka2, polka3, polka4.

- Выберите Text Lists (STR#)
- Выберите Model Bone (или Model Bone Names)
- Нажмите кнопку Добавить - введите описательное имя в поле Строка - Повторите для каждого слота
- Нажмите кнопку Commit

http://i5.imageban.ru/out/2015/05/24/aad7841b6045f5e1b3ae4cf23fe9edd0.jpg

2. Редактируем Slot File (SLOT)

Здесь мы должны добавить одну строку для каждого слота, так что я буду добавлять три строки для контейнерного типа слота (слот маршрутизации будет для всех один).

Внимание!
Тут имеет значение, какой объект вы используете, чтоб слоты вели себя как вам необходимо: например мне нужны полки для декора, столик имеет слот с нужными мне данными, я клонирую этот слот и списываю все данные в клоны, не изменяя, так как большинство параметров имеют не  известную мне информацию.
Знаю, что-
• I7 имеет дело с типом объекта  (ссылка на урок 1)
• I9 номер слота из Text Lists (STR#)
• I10 порядковый номер слота в игре

- Выберите Slot File (SLOT)в дереве ресурсов
- Выберите Слот в список ресурсов
- Выберите Container (контейнерный) в выпадающем списке
- Нажмите кнопку Добавить

http://i2.imageban.ru/out/2015/05/24/2c16d7863e1b6345e554521e2405e280.jpg

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

F1, F2, F3 – вводятся в первом окне

http://i2.imageban.ru/out/2015/05/24/d5d9bad059817d3e482b45b0791352ea.jpg

I1, I2, I3, I4, I5 – вводятся во второе и третье окно

http://i2.imageban.ru/out/2015/05/24/2d146d7cf5dee4b89b3c76869b63a0bf.jpg

F4, F5, F6, I6 – вводятся на вкладке  Version 0x05+

http://i1.imageban.ru/out/2015/05/24/83e2b7f58a835baabc0114190a7aaf1f.jpg

S1, S2 – вводятся на вкладке 0x06+
F7 – вводятся на вкладке 0x07+
I7 - вводятся на вкладке 0x08+
I8 - вводятся на вкладке 0x09+
F8 - вводятся на вкладке 0x10+
I9, I10 - вводятся на вкладке 0x40+

http://i6.imageban.ru/out/2015/05/24/4f8c4146274b8b6e64bb036e001a8ab2.jpg

Внимание!

Во вкладке 0x40+ вы должны ввести свои данные:
I9 – номер слота в ресурсе Text Lists (STR#)

http://i5.imageban.ru/out/2015/05/24/aa7ec97ed575b7e8ed67291ad92b3143.jpg

I10 – номер по порядку

http://i6.imageban.ru/out/2015/05/24/17b5b76ab8d3d14ad2afabb63a204318.jpg

- Выберите каждый слот
- Измените значения
- Повторите для каждого слота
- Нажмите кнопку Commit

http://i6.imageban.ru/out/2015/05/24/2922d1a477a9fbda7a7ed87f38ca995c.jpg

3 Редактируем Resource Node (CRES)

Обратите внимание, что если в ресурсе (CRES), будут допущены ошибки, это приведёт к сбою игры!
Зайдём во вкладку Edit Blocks, здесь мы добавим один сObjectGraphNode для каждого слота, в общей сложности три. Вы можете легко найти этот ресурс, у него самое длинное значение. Запишите номер строки, приведенный для каждого добавленного  ObjectGraphNode (это вам понадобится позже, когда будете добавлять дочерние узлы к основному CRES узлу).
К сведению: номера блока в диапазоне от 0xc-0x19.

- Выберите Resource Node (CRES) в дереве ресурсов
- Выберите CRES в Список ресурсов
- Выберите вкладку Edit Blocks
- Выберите cObjectGraphNode
- Нажмите кнопку Добавить
- Повторите последние два действия для каждого слота который вы добавляете
- Нажмите кнопку Commit

http://i6.imageban.ru/out/2015/05/24/0802b40c981023526ff55198271a4bc9.jpg

-------------

http://i2.imageban.ru/out/2015/05/24/a945f736b2e963499062d95367cad000.jpg

-------------

http://i6.imageban.ru/out/2015/05/24/0a6d3e21a9c173386e437519fc846037.jpg

Примечание!
Вы не будете видеть изменения  в CRES Hierarchy
пока вы не сделаете Commit, не выберите другой ресурс, а затем выберите CRES снова.

Теперь нужно добавленные строки ObjectGraphNode к узлу родителя. Нужно найти правильный узел, чтоб добавить контейнерные слоты, это может быть трудной задачей, и будет зависеть от объекта и того сколько плиток (клеток в игровом пространстве) он занимает.
Мы собираемся добавить наши контейнерные слоты на тот же узел, что и имеющийся контейнерный слот и слот маршрутизации.
В данном случае мы смотрим в ресурсе Slot File (SLOT), данные значения I9 , клонируемого слота – это 0 (ноль).

http://i1.imageban.ru/out/2015/05/24/d38ad30d968145737dd66a0660128dfe.jpg

Смотрим ресурс Text Lists (STR#), что у нас под номером 0 (ноль)

http://i1.imageban.ru/out/2015/05/24/2e828badbd6b0c4433ec45d8fe6634e0.jpg

Под номером 0 (ноль), строка с названием slot_table_std_0, значит наши клонированные слоты мы будем приписывать к тому же узлу-родителю, что и у него. В дереве ресурсов снова выбираем Resource Node (CRES), и на вкладке Plugin View открываем CRES Hierarchie, и смотрим к какому узлу приписан slot_table_std_0.  У меня это – 0x5[Joint1] - slot_tableend_trans.

http://i2.imageban.ru/out/2015/05/24/54faf2bd9aa0277828d807ae96ccd8dd.jpg

Заметьте, что у вас может быть другой родительский узел, в зависимости от того, какой предмет вы клонировали из игры!
Во вкладке Content , откройте Blocklist  и выберите из выпадающего списка родительский узел. Выберите cTransformNode, посмотрите на правую сторону, там находится окно дочерних узлов (Сhild Nodes). Некоторые значения тут уже есть, выберите последнее и нажмите кнопку добавить (add). Значения добавляемых дочерних узлов изменяем на те, что мы записывали ранее, это номера добавленных нами строк ObjectGraphNode (в моём случае это 17, 18, 19).
Обратите внимание, что в поле Index Child  цифр после 0x должно быть восемь! (не все цифры видны в окошке).  И убедитесь, что неизвестное (Unknown) значение всегда 0x0001.

- Выберите вкладку cTransformNode
- В поле дочерних узлов Выберите последний узел
- Выберите Добавить (add)
- Измените значение индекса дочернего узла, это должно быть то же значение, что записывали при добавлении cObjectGraphNode.
- Повторите для каждого слота который вы добавили
- Убедитесь, что у вас есть одна запись в поле дочерних узлов для каждого cObjectGraphNode
- Нажмите кнопку Commit

http://i2.imageban.ru/out/2015/05/24/0013e819ee11db8661cb9b24f3acee9d.jpg

http://i6.imageban.ru/out/2015/05/24/e423ae8dd64b44ecec71f02ffe814473.jpg

Чтоб посмотреть результат, выберите другой ресурс и вернитесь обратно в CRES => CRES Hierarchie, видим наши строки на нужном месте.

http://i1.imageban.ru/out/2015/05/24/5ea2b38345f64f1b145258b3b1ad909d.jpg

Теперь нам нужно прописать имена и позиции слотов. Идём во вкладку Content и выбираем наш первый слот в выпадающем списке (у меня это – 17), открываем вкладку cObjectGraphNode и меняем название в окен filename, на то, которое было у нас под этим номером в ресурсе Text Lists (STR#). У меня это – polka2. 
Выберите вкладку cTransformNode для того, чтобы ввести данные о месте расположения слота по осям (подробный урок тут, прочтите обязательно!)
Нам нужно определить точку где на полках будут находится декоративные предметы, для этого откройте 3d редактор со своей моделью (мешем), выберите окно проекций Top (вид сверху) и наведите курсор мыши на нужную вам точку, спишите данные по осям X и Z. Впишите эти данные в окно Translation, с учётом разницы между 3d редакторами и sims2), они будут одинаковыми для всех четырёх слотов – трёх новых и одного родного, в нём тоже нужно будет вносить изменения
.

http://i6.imageban.ru/out/2015/05/24/6313537b7364bc139c184d352b3a33cb.jpg

Далее нам нужно будет определить для каждого слота свою высоту, в 3d редакторе списываете для каждой полки данные по оси Y и вписываете в то же окно Translation.

http://i5.imageban.ru/out/2015/05/24/9930aca11b222f3ea883474989bc7191.jpg

Так же я сделаю разворот слота на 45градусов от угла полок. Проделайте вышеперечисленные шаги для всех добавленных слотов и нажмите commit.

- Выберите первый cObjectGraphNode, добавленный нами, в выпадающем списке
- Выберите вкладку cObjectGraphNode
- В поле имя файла (file name) изменить это так же, как имя слота в (STR #)
- Выберите вкладку cTransformNode
- Введите значения в поля осей координат
- Повторите последние 5 шагов для каждого cObjectGraphNode что вы добавили 
- Нажмите кнопку Commit

http://i2.imageban.ru/out/2015/05/24/2dfbdc242ab0956ef21a290e657e18af.jpg

http://i2.imageban.ru/out/2015/05/24/663b8644c6fcacc357af94486bfcc9f8.jpg

Сохраните пакадж – Файл=>Сохранить.
Проверяйте в игре и наслаждайтесь плодами своего труда!

http://i5.imageban.ru/out/2015/05/24/e584a15b209fa3a015d8d05a0c2b2fd4.jpg

0

2

Путём исследования выяснила:

есть два типа слотов

- самостоятельные, например такие как у журнальных столиков, столов, стульев и т.д. Координаты выставляются напрямую, из 3d программы,  как описано выше.

- зависимые, например у письменных-школьных столов (не у всех), правая рабочая сторона самостоятельный слот, левая сторона, зависимый слот. Координаты выставляются с учётом координат родительского слота, левая сторона стола зависимый слот, его координаты выставляются за минусом координат родительского слота. (Например если в 3d редакторе по оси высоты Y родительский слот с координатами 0,8, то если вы хотите сделать на левой стороне стола полки, вам нужно в 3d редакторе определить высоту полки и вычесть из этой высоты 0,8. Уже полученное число вписывать в SimPe.

Но! можно сделать левую сторону так же с самостоятельным слотом. Для этого нужно выбрать узел-родитель к которому привязан слот правой стороны и создавать дочение узлы от него.

http://i5.imageban.ru/out/2015/07/01/a564f62c5218bc1dfb1b3d6bdb3e1d96.jpg

0

3

Спасибо!

0


Вы здесь » DiamondSims » Секреты создания предметов » Добавляем дополнительные слоты в объект


Рейтинг форумов | Создать форум бесплатно