Доброго времени суток, это очередная статья по редактору карт StarCraft 2, сегодня разберёмся с относительно "новым" Каталогом данных как "наборы данных" (Далее дата коллекции) И "паттерны наборов данных".
Что это и для чего нужны дата коллекции?
По началу может быть не совсем понятно, но потом как придет осознание, просто удивитесь и насладитесь ими.
Наборы данных (Data collection)
Это совокупность разнородных, но взаимосвязанных структур данных, объединённых в единый объект. Этот объект функционирует как целостная система, обеспечивая доступ к своим внутренним компонентам и их взаимодействие на уровне единого комплексного объекта.
Дата коллекции были добавлены в обновлении 5.0, вышедшим 27 июля 2020 года.
Они добавляют новый подход к разработке структуры данных для вашей карты, и можно сказать делают его слегка похожим на варкрафт
Для чего нужны они?
Дата коллекции, это отдельный каталог данных, предназначение которого, группировка разнородных взаимосвязанных данных в один объект.
Звучит непонятно, но на деле это просто такой контейнер, в который запихивается всё что связано с каким-то объектом данных.
Например:
Есть у нас значит способность "Стимулятор". Эта способность вызывает эффект "stimpack - apply behavior", который накладывает Behavior "Stim (buff)".
Получается такая структура
Stimpack
Apply behavior
Stim (buff)
Кроме того есть ещё акторы, которые визуализируют этот бафф, а также проигрывают звук от срабатывания эффекта и накладывания баффа.
И для настройки баффа придётся лезьть в сам бехавиор, а для стоимости абилки нужно лезьть в абилку, а для смены модельки получения надо лезьть в связанную с актором модель стимулятора. Всё в разных местах, не удобно как-то.
Дата коллекции позволят свернуть все эти объекты стимулятора в один, и даст возможность редактирования конкретных свойств со всей этой структуры данных (то есть в одном месте можно задать стоимость способности, модификатор баффа, модельку получения/потери баффа, звуки.
Кроме того
Вы можете копировать коллекцию с помощью Ctrl C - Ctrl V и все записи скопированной коллекции будут также скопированы.
Пример
У вас уже есть коллекция со способностью "стимулятор" Созданная для морпехов. Но вам потребовалось добавить немного изменённую способность для мародёров (стоимость вместо 10 ед. здоровья, нужно 20 ед. И множитель баффа изменить надо)
То вы можете выделить коллекцию стимулятора морпеха, нажать Ctrl C - Ctrl V и у вас скопируется и способность, и бафф, и эффекты, и акторы.
Вам останется лишь подредактировать нужные поля и дать мародёру новую способность
То вы можете выделить коллекцию стимулятора морпеха, нажать Ctrl C - Ctrl V и у вас скопируется и способность, и бафф, и эффекты, и акторы.
Вам останется лишь подредактировать нужные поля и дать мародёру новую способность
Как использовать коллекции данных?
Сперва я настоятельно рекомендую в file - Configure Control назначить горячую клавишу на функцию, DataRecordAutoFill, я назначил на Shift B.
Теперь можно начинать работать с коллекциями.
Шаг 1
Первым шагом, является создание коллекции данных в разделе "+" - Edit Game Data - Data Collection. Создание точно такое же, как и любых других данных
Поле ID самая важная часть коллекции. С помощью него данные и будут связываться с коллекцией данных
Шаг 2
Следующим шагом, нужно создать необходимые данные. Здесь всё как обычно. Переходим в нужный раздел, например "Abilities", добавляем новую способность, именуем способность и... Самое главное:
В ID объекта, сперва должен быть прописан ID Коллекции данных. Допускается
В ID объекта, сперва должен быть прописан ID Коллекции данных. Допускается
- Точно такое же ID как у коллекции данных
- ID коллекции данных с индивидуальным ID объекта между которыми будет разделитель "@", но обязательно сначала должен быть ID коллекции данных
То есть если есть Коллекция данных с ID Stimpack, То можно просто создать способность с ID Stimpack, эффект Apply behavior - stim с ID Stimpack, а также сам бехавиор с ID Stimpack. То тогда все эти объекты автоматически свяжутся с Коллекцией данных Stimpack. Мало того, но так даже не просто все элементы добавятся в Коллекцию данных, но и сами свяжутся друг с другом
После создания всех необходимых данных, можно переходить к следующему шагу
Шаг 3
Вернитесь к коллекции данных, выделите её и нажмите горячую клавиши автозаполнения коллекции данных, которую в ранее назначили.
Если вы всё сделали правильно, задали подходящие ID для объектов в формате DataCollectionID@ObjectID или DataCollectionID, то у вас коллекция данных должны была автоматически заполнится после нажатия Shift B.
Паттерны коллекций
Сейчас если вы попробуйте включить Упрощенный режим, то обнаружите что никаких полей в таблице не будет. Всё потому, что все выводимые поля для Коллекции данных в упрощенном режиме, должны быть описаны в паттерне коллекции данных (Data Collection Pattern).
Перейдите в раздел "+" - Edit Game Data - Data Collection Pattern и создайте новый паттерн
В паттерне самое важное поле, это Fields. В нём задаются поля, которые должны быть выведены в коллекцию данных при включенном Упрощенном режиме.
В Fields есть несколько полей, таких как:
- Name Override - Перезаписанное название поля
- Reference - Ссылка на поле данных. Заполняется по такому шаблону Unit,^ParamId^,LifeMax, где Unit - это Каталог данных, ^ParamId^ - идентификатор текущей коллекции данных (Если паттерн вставлен в Коллекцию данных stimpack, то ^ParamId^ будет как stimpack), LifeMax - Поле найденного по ID объекта.
- User Data - Неизвестно, Blizzard не рассказывали ничего про это поле, предположительно, это связано с типом эффекта User Data, Который является "Памятью" для текущего срабатывания дерева эффектов.
СОВЕТ: Получить ссылку на поле можно, нажав правой кнопкой по необходимому полю в данных объекта и выбрать пункт Copy Data Reference Ctrl Shift Alt R