Добавлен , опубликован
Раздел:
3. Редактор данных
Автор оригинала:
Dave312
Источник:
http://starcraft-2-galaxy-editor-tutorials.thehelper.net/tutorials.php?view=167032

Введение

В данной статье мы пробежимся по основам AOE (область эффекта) и рассмотрим как создавать сплэш-урон и ауры.
Предполагается, что вы владеете основными понятиями редактора данных и хорошо способны в нем ориентироваться.
Существует два основных способа создания AOE:
Поражающий эффект (Damage Effect): все урон-эффекты имеют Search - Area + свойство, которое позволяет им наносить дополнительный урон в площади (сплэш-урон).
Поиск в области эффекта (Search Area Effect): общий эффект, используемый для создания AOE. Вы должны использовать эту опцию во всех случаях, кроме создания сплэш-уронов.

Поражающий эффект

Вы вероятно уже знакомы с использованием поражающих эффектов для нанесения определенного количества урона юниту. Это также может использоваться для создания сплэш-урона находящимся вблизи юнитам. Главное достоинство на которое мы хотим обратить ваше внимание при создании сплэш-урона -- Search - Area +. Раскройте это достоинство, взглянув на таблицу ниже:
Это окно позволяет установить 'зоны урона', которые могут быть использованы для уточнения того, как оружие будет сплэшить и сколько урона наносить юнитам в каждой зоне. Чтобы вам было проще понять этот принцип, мы рассмотрим пример, показанный на изображении выше (урон эффекта Crucio Shock Cannon Blast).
Этот поражающий эффект имеет три урон-зоны (Damage Zone), которые определены, как показано на скрине, ниже. Каждая зона имеет кругообразную форму с целью-юнитом (Target Unit) в центре. Когда происходит поражающий эффект, то урон (как определено в Combat - Amount свойстве) причиняется именно этому юниту и расходится по другим зонам, причиняя урон остальным юнитам.
Каждая урон-зона имеет следующие характеристики:
Arc: Ограничивает поражающую зону под особым углом. Ось, на которой основан угол является линией от мага к цели, начиная с противоположной стороны мишени (см. диаграмму выше);
Bonus: Доп. урон, причиняемый юниту в данной зоне;
Fraction: Дробное кол-во урона (из Combat - Amount свойства). Полный причиняемый урон = Бонус + Дробное значение * (Combat - Amount свойство);
Maximum Count: Макс. число юнитов, которым может быть нанесен урон в зоне.
Radius: размер зоны. Радиус увеличивается в зависимости от предыдущей поражающей зоны.
Radius Bonus: дистанция юнита позволяет покинуть зону до того, как он получит урон. По умолчанию 0.
Validator: Дополнительные условия, выполнение которых необходимо для того, чтобы повреждения считались нанесенными.
Существует еще несколько опций, которые относятся к сплэш-урону:
Search - Exclude +: Юниты, которые должны быть исключены из поиска.
Search - Include +: Юниты, которые должны быть включены в поиск.
Search - Maximum Count: Максимальное общее количество юнитов в поиске.
Search - Minimum Count: Минимальное общее количество юнитов в поиске.
Search - Minimum Count Error: Ошибка появляется когда не оказалось минимального количества юнитов в поиске.
Search - Search Filters: Фильтр флагов определяет, какие юниты могут быть найдены в поиске.
Search - Search Flags: Несколько дополнительных параметров, которые контролируют алгоритм (behaviour) поиска. Самые известные из них:
  1. Call For Help: Определяет, вызваны ли союзники в расположение юнитов, пострадавших от сплэш-урона.
  2. Extend By Unit Radius: Определяет, захватывает ли радиус эффекта поиска радиус до цели. Это полезно для того, чтобы крупные юниты не занимали всю площадь сплэш-эффекта.
  3. Same Cliff Level: Устанавливает, чтобы сплэш-урон мог действовать только на юнитов того же уровня рельефа (клифа).

Поиск в области эффекта

В общих случаях, когда вы пытаетесь создать область эффекта, вам следует использовать Поиск в области эффекта (Search area effect). Единственным исключением является тот случай, когда вы хотите создать сплэш-урон. В этом разделе мы рассмотрим, как использовать поиск в области эффекта для создания AOE.
Когда запускается поиск в области, он выбирает каждого юнита, попадающего под его критерии поиска и применяет на них другой эффект (это основная концепция всех AOE).
Здесь перечислены все важные свойства, которые помогут вам настроить поиск:
Effect - Chance: Шанс на то, чтобы поиск запустился. Значение 1 означает, что он запустится в 100% случаях при использовании поиска.
Effect - Validators: Дополнительные условия, выполнение которых необходимо для того, чтобы поиск в области запустился.
Search - Areas +: Это свойство аналогично Search - Areas + свойству повреждающего эффекта, описанного выше. Оно определяет где происходит поиск. Подобно повреждающему эффекту, вы можете указать несколько областей поиска, причем каждая область может иметь отдельный эффект.
Область имеет следующие свойства:
  1. Arc: Ограничивает область под определенным углом. Смотрите свойство Arc (конуса) в разделе "Поражающий эффект" для получения более подробной информации. Обратите внимание, что если кастер находится в площади поиска, то arc лежит по направлению взгляда.
  2. Effect: Эффекты, которые применяются на юнитов, найденных в области поиска.
  3. Maximum Count: Максимальное число юнитов, которые могут быть найдены в области поиска.
  4. Radius: Размер поиска в области.
  5. Radius Bonus: дистанция юнита позволяет покинуть область до того, как он получит урон. Обычно ставится 0.
Search - Exclude +: Юниты, которые должны быть исключены из поиска.
Search - Include +: Юниты, которые должны быть включены в поиск.
Search - Maximum Count: Максимальное общее количество юнитов в поиске.
Search - Minimum Count: Минимальное общее количество юнитов в поиске.
Search - Minimum Count Error: Ошибка появляется когда не оказалось минимального количества юнитов в поиске.
Search - Search Filters: Фильтр флагов определяет, какие юниты могут быть найдены в поиске.
Search - Search Flags: Доп. настройки, которые могут контролировать функционирование работы поиска. См. Search - Search Flags свойство поражающего эффекта (Damage Effect) для большей информации.
Search - Impact Location +: Это центральная точка для которой выполняется поиск.

Создание аур

Теперь, когда у вас есть общее представление о всех параметрах, применим эти знания для создания ауры.
Ауры - это типичные пассивные способности (хотя они могут быть активными, например требовать нажатие кнопки для активации), которые накладывают бафы на ближайших юнитов. Этот баф может быть чем угодно. Одни могут повышать скорость перемещения союзников, другие - понижать защиту у врагов.
В качестве примера, я буду демонстрировать создание ауры, которая повысит скорость атаки у дружественных юнитов на 50%. Смысл заключается в том, что нам надо произвести поиск союзных юнитов рядом с магом и использовать 'behaviour', который повысит скорость атаки.
Главное, что нужно помнить при создании ауры, если вы хотите, чтобы на ваших юнитов прекратилось действие бафа, достаточно держать их вдали от кастера. Существует также один простой метод - создавать баф с короткой длительностью и периодически запускать поиск. Таким образом, юниты, которые по-прежнему близки к кастеру будут иметь баф повторно, прежде чем потеряют его.
Вы, наверное, заметили, что есть определенные условия, которые выделены жирным шрифтом выше. Дело в том, что они являются ключевыми условиями, которые помогут вам понять, что вам нужно сделать.
Итак, давайте начнем. Сначала мы должны создать баф, который даст нам бонус к скорости атаки. Пошарьтесь по типу данных behaviour и создайте новый алгоритм (behaviour) следующим образом:
Теперь установите следующие свойства:
  • Откройте Behaviour Modification + и выберите Combat tab, затем установите Attack Speed Multiplier на 1.5 и нажмите OK.
  • Найдите Stats - Duration свойство (опцию) и установите на 0.5.
  • Теперь найдите UI - Icon свойство и устанавите иконку, которая будет отображаться когда юнит получит этот баф. Я использую Assets\Textures\btn-ability-protoss-protoncharge-color.dds.
  • И последний шаг - установите в UI - Tooltip свойстве подсказку, которая будет появляться, когда баф иконка будет выделена. Я устанавливаю: "Скорость атаки этих юнитов повышена на 50%."
Теперь нужно создать эффект, который будет применять наш баф. Заходим в Тип данных эффектов (Effect data type) и создаем новый эффект, как и здесь:
Единственное, что нам нужно изменить у эффекта, это Behaviour - Behaviour свойство.
Создайте поиск в области эффекта и затем - новый эффект, как и тут:
Установите эти свойства:
  • Откройте Search - Areas + и создайте новую область с радиусом 8 и установите эффект Бонуса скорости атаки (применивший). Не тройгайте все остальное, оставьте так, как есть.
  • Зайдите в Search - Search Filters свойство и снимите флажок с Enemy, Neutral, Exclude Dead, Destructible, Item, Missile and Structure.
  • Зайдите в Target - Impact Location и поставьте 'value' Caster Unit/Point.
Сейчас нужно создать алгоритм ауры (aura behaviour). Зайдите в Behaviour data type и создайте новый алгоритм, как и здесь:
Установите следующие свойства:
  • Установите Editor - Editor Suffix на "(Aura)"
  • Установите Effect - Effect - Initial на поиск в области эффекта, который уже создан.
  • Установите Effect - Effect - Periodic на поиск в области эффекта, который уже создан.
  • Откройте Stats - Flags и отметьте hidden (нам не нужно видеть баф на кастере).
  • Установите Stats - Period на 0.4 (это значение всегда должно быть меньше, чем продолжительность бафа созданного в начале (его значение 0.5)).
Последним шагом нужно добавить алгоритм (behaviour) юниту. Для этого, выберите вашего юнита и откройте Behaviour - Behaviours + свойство и добавьте 'aura' behaviour под названием Бонус скорости атаки (аура) (Attack Speed Bonus (Aura)). Вы также можете добавить пассивную иконку команде, но я бы не беспокоился об этом.
Осталость протестировать то, что у вас получилось.
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
14
12 лет назад
0
Не плохо бы было перевести названия полей.
0
22
12 лет назад
Отредактирован FYAN
0
Hares, статья писалась для англ. редактора. (Его рекоменд. использовать)
Но если у кого-то рус. версия, можно перевести термины самим при помощи переводчика от гугл/попросить в этой теме
0
25
12 лет назад
0
лол у всех кто с лицензией, редактор русский по дефолту.
1
22
12 лет назад
1
так ставьте англоязычную
1
15
12 лет назад
1
FYAN, Если у тебя англ. ск2, а зареган в Ру. То поиграть ты не сможешь. Так что от статей таких толку 0. Уж если переводишь статью, переводи полностью.
1
14
12 лет назад
1
Xin, я зареган и играю в ру версию, сижу в анг редакторе, всё работает.
0
22
12 лет назад
0
Xin, бред какой-то...
0
15
12 лет назад
0
inoto, лол, а я сказал если ставить англ. версию, как предложил FYAN. Это надо спецом ставить Ру игру и англ. редактор как я понял.
2 комментария удалено
0
24
12 лет назад
0
Radius Bonus: дистанция юнита позволяет покинуть зону до того, как он получит урон. По умолчанию 0.
Кажется это поле отвечает за расстояние на которое юнит может уйти и не смотря на это получить урон, но могу ошибаться.
Теперь, когда вы знаете основные понятия всех свойств, мы используем навыки на создание ауры.
Нечто невнятное, я бы там скорее написал что-то в стиле "Теперь, когда у вас есть общее представление о всех параметрах, применим эти знания для создания ауры".
Таким образом, юниты, которые по-прежнему близки к кастеру будут иметь баф повторно, прежде чем потеряют его.
Не надо "иметь баф повторно", что бы это ни значило, сколь бы "по прежнему близки к кастеру" юниты ни были. Также мне не совсем понятен и смысл предыдущих двух предложений в переведенном варианте, позже посмотрю оригинал и скажу как бы я этот абзац перевел.
Пошарьтесь по типу данных behaviour и создайте новый алгоритм (behaviour) следующим образом
Предлагаю выбрать любой литературный синоним слова "Пошарьтесь", как-то не солидно выглядит.
0
2
11 лет назад
0
а как сделать чтобы АОЕ урон в зависимости от лвлАпа повышался?
Чтобы оставить комментарий, пожалуйста, войдите на сайт.