Показано с 1 по 1 из 1

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

  1. #1
    Sims-модератор Аватар для AdeLana
    Регистрация
    09.09.2011
    Адрес
    РФ, Киров
    Сообщений
    3,922
    Спасибо
    я - 595; мне - 663

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

    ДОБАВЛЯЕМ ДОПОЛНИТЕЛЬНЫЕ СЛОТЫ В ОБЪЕКТ



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

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

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

    3d редактор
    SimPe

    Введение

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



    У нас есть три ресурса в которых мы будем работать:
    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




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

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

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

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




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

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



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



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



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



    Внимание!

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



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



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




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

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

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




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



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



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

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



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



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



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

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






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



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



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



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

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






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



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

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

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

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

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

    Последний раз редактировалось Дюкаша; 19.09.2019 в 06:35.

  2. Сказали спасибо 2 раз(а):


Похожие темы

  1. Как сделать объект улицы доступным в доме?
    от knopa в разделе The Sims 1: Изготовление скинов и предметов
    Ответов: 19
    Последнее сообщение: 26.06.2021, 18:02
  2. Legacy Challenge: Робинзон: дополнительные объекты
    от Akulina в разделе The Sims 2: Challenges
    Ответов: 20
    Последнее сообщение: 07.03.2008, 06:44

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •