StarCraft 2: Способности и эффекты

» Раздел: 1. Основы
» Автор оригинала: Monsterous
» Источник: http://starcraft-2-galaxy-editor-tutorials.thehelper.net/tutorials.php?view=169303

CОДЕРЖАНИЕ

  1. Введение
  2. Как работают способности
  3. Что такое эффекты
  4. Как создать способность
  5. Используем эффекты
  6. Используем алгоритмы (Behaviors)
  7. Заканчиваем с эффектами
  8. Связываем способность с юнитом
  9. Тестируем

1. Введение

Всем привет! Добро пожаловать в мой, надеюсь, информативный учебник. Он даст вам всё, что нужно знать о том, как работают способности и эффекты, а также, каким образом вы можете использовать полученные знания для создания способности любого уровня сложности. Мы даже погрузимся в то, как связать способность с юнитом, и как использовать алгоритмы (Behaviors) для создания бафов и дебафов. Итак, настройтесь на нужную волну и откройте редактор объектов. Кстати, кому нужно я выложил карту, в которой я создавал эту способность в конце данного учебника.

2. Как работают способности

Способности очень просты когда сделаны четко - они по существу являются командами, которые запускают целый ряд действий.
Юнит должен иметь закрепленную за ним способность. Кнопка способности (на которую вы нажали) находится внутри командной карты юнитов, где хранятся все прочие способности и показываются игроку. Когда кнопка нажата, способность активируется вызывая различные эффекты (действия), закрепленные за данной способностью.

3. Что такое эффекты

Эффекты являются действиями способности. Это дает способности огромное количество возможностей над тем, что она может осуществить без участия редактора триггеров. Благодаря эффектам вы можете создать способность настолько сложной и длительной, насколько вам хочется. Эффекты не должны быть обязательно связаны со способностью, они также могут быть запущены другими такими же эффектами. Вот пример эффектов в действии:
Все они являются эффектами. В игре вы можете заметить зеленые эффекты - но вы никогда не увидите синих эффектов, ибо происходят они мгновенно.
Здесь представлен краткий перечень эффектов, которые обычно используются:
[Название эффекта:] [То, что делает эффект]
Apply Behavior: Создается алгоритм (подобно бафу/дебафу), который изменяет цель (юнита) на некоторое время или навсегда.
Create Persistent: Это напоминает таймер способности, благодаря ему можно повторять эффекты периодически (каждые X секунд).
Create Unit: Создает юнита в указанной местности.
Damage: Наносит урон выбранному юниту (цели).
Launch Missile: Запускает ракету в определенную цель (в юнита/точку). Запускает другие эффекты когда ракета достигает цели.
Modify Unit: Это изменяет юнита навсегда.
Search Area: Это будет искать в области конкретного юнита (точнее его тип), причем неважно это союзник или враг. Когда поиск найдет юнита, активируются эффекты.
Set: Это активирует различные эффекты, но только один раз.

4. Как создать способность

Теперь вы знаете как функционируют способности и как работают эффекты - настало время научиться создавать способности.
Когда ты создаешь способность, чаще всего желательно иметь представление о том, как будет работать способность - во всяком случае вы сэкономите время при создании. Мы будем пытаться создать способность на основе схемы указанной выше. Нам нужно чтобы способность:
  1. наносила урон кастеру (кто не знает, кастер - это юнит, который использует способность);
  2. искали цели вокруг определенной области;
  3. применяла случайный эффект на каждую цель (как видим, на схеме три разных эффекта).
Сначала, прежде чем мы начнем настраивать способность - мы должны создать её "макет" и кнопку для неё.
Два самых часто используемых типов способности это "Effect - Instant" и "Effect - Target". Они оба активируются по-разному. Способности, которую мы создаем требуется Цель - поэтому вы выбираем тип способности "Effect - Target" (Ability Type).
Теперь нам нужно отредактировать способность в соответствии с нашими потребностями. Сперва мы должны обратиться к Target Filters (Фильтр Цели).
Если оставить поле пустым, то способность будет в качестве цели выбирать какую-то точку, а не юнита. Если заполнить поле, то в качестве цели будет юнит, который удовлетворяет критериям Фильтра Цели (Target Filters). Давайте заполним поле.
Откройте Target Filters и нажмите Enter Value (Ввести значение) в правом верхнем углу.
Нажмите OK. Как минимум, нашей способности в качестве целей нужны только вражеские юниты, поэтому поставьте галочку в квадратик, который находится внизу, называется он Enemy. Три других значения неактивны, это означает, что они не могут быть целями для вашей способности. Типы юнита (Unit Types), которые выше - значительно расширяют список того, что может и не может являться целью. Каждый Тип Юнита подпадает под три состояния (states):
  1. Allowed (Разрешено);
  2. Required (Необходимо);
  3. Excluded (Исключено).
Allowed означает, что тип юнита может являться целью. Required означает, что цель ДОЛЖНА иметь этот тип, и Excluded означает, что тип юнита НЕ МОЖЕТ иметь этот тип. В нашем случае, нам не нужно, чтобы наша способность имела следующие цели: Missiles, Dead, Hidden Units и Self (сам кастер), поэтому исключаем их (exclude ), и если вы хотите чтобы цель была видимой когда использует способность, то нажмите require.
Чтобы изменить состояние Типа Юнита, нажмите дважды на состояние (state).
У вас должно получиться что-то вроде этого:
Вы также можете исключить другие типы юнитов, такие как Massive (подобно Thor), или сделать так, чтобы были доступны только Наземные Цели (Ground Units). Допустим, можно задать исключение для воздушных боевых единиц (Air units) или требование для наземных юнитов. В конечном счете выбор за вами.
Итак, теперь способность у нас может выбирать цели!
Теперь нам нужно немного поиграться с характеристиками способности. Нам нужно добавить...
The Range (Ранг)
Введите любые число, которое хотите. Если меньше 1, то это по сути ранг ближнего боя.
The Cooldown (Перезарядка)
Найдите строку Cost - Cooldown - Time Use. Добавьте несколько секунд, неважно сколько. Когда вы введете значение, время перезарядки способности будет автоматически обновлять себя.*
* прим. автора: не совсем понял, что тут имеется ввиду: the cooldown area of the ability; перевел как "время перезарядки способности"
The Button (Кнопка)
Создание кнопок происходит не в разделе Ability (Способность) Редактора Данных. Вместо этого, вы создаете её в
разделе Buttons (Кнопки) Редактора Данных. Когда вы там окажетесь, создайте новую кнопку. Все кнопки одинаковы, так что единственное о чем вам нужно переживать, это о том, как вы будете её вызывать.
Однажды вы уже дали ей название (An Awesome Ability), взгляните на скрин.
Вам следует беспокоиться только о трех вещах. The Hotkey (Горячая клавиша), the Icon (Иконка), и the Tooltip (Описание). Горячая клавиша - это кнопка на клавиатуре быстро активирующая способность. Иконка это изображение способности, появляющееся когда игрок смотрит на кнопку. Описание (Tooltip), это надпись, которая появляется, когда игрок наводит мышью на кнопку. Вводите что хотите.
Ценный совет для ищущих иконки: Когда вы ищете - введите "btn" в панели поиска. Это отобразит все иконки, которые находятся в игре. Если нет иконки, которая вам нужна, то вводите в панели поиска название того, что ищете - возможно вам повезет!
После создания кнопки вернитесь к вашей способности и найдите поле "Commands - Default Button". Откройте его и измените команду "Execute" на имя кнопки, которую вы только что создали. Только не надо делать то же самое для команды "Cancel", так как она используется для канальных способностей.
Теперь мы создали макет способности, осталась самая пустяковая и веселая работа.

5. Используем эффекты

Настало время создать то, что будет делать способность. Давайте вновь взглянем на схему способности, которую нам нужно создать:
Очень важно заранее спланировать как будет работать способность, чтобы четко знать как её реализовать. Взгляните на список эффектов, возможно вы сможете понять как эта способность будет работать. Поэкспериментируйте, это замечательная практика!
В любом случае, сделать так чтоб всё заработало - легко.
В начале способность активирует два эффекта в одно и то же время: Эти два эффекта должны быть внутри Set Effect.
Первый эффект это Damage effect (Эффект повреждения), который наносит урон кастеру.
Второй эффект это Search Area effect (Эффект поиска в области), который ищет цели в определенной области.
Цели (targets) из эффекта поиска в области получают один из трех эффектов случайно. Это должно быть внутри другого Set Effect (Набора эффектов).
Эффекты находящиеся внутри Набора эффектов (Set Effect) все выполняют различные действия. Один играет роль Damage effect, два других Применяют Алгоритм (Apply Behavior effects), вместе с прикрепленными к нему бафами (buffs attached).
Зачем вообще нужен Набор эффектов (Set effects)? Он будет активировать только один эффект. Если активируется набор эффектов - он активирует все эффекты находящиеся внутри него (Или один случайный эффект, который выберете)!
Давайте начнем создание. В разделе "эффекты" (effects) редактора данных, создайте новый эффект (create a new effect), задайте тип эффекта Damage. Имя должно быть релевантным и простым для поиска, подобно <Ability Name>Урон. Теперь обратите внимание на правую часть, нужно сделать пару вещей. Во-первых, измените Combat: Amount. Это означает сколько урона эффект будет наносить. Измените на любое значение. Я установил 20.
Далее опуститесь вниз к Target: Impact Location - Value. Это определяет где эффект будет размещаться ("land"). Нам надо чтоб юнит, использующий способность, получал урон, значит, изменяем значение на Caster Unit.
Вот как должны выглядеть эти два поля:
Итак, эффект урона мы создали. Замечательно!
Примечание от Dave312: "Требования цели какой-либо способности не просто зависит от свойства Target Filters, но также зависит от эффекта прикрепленного к способности. Допустим, если у меня есть способность, которая имеет эффект Create Unit, прикрепленный к ней, то и свойство Target Location этого эффекта установится на Target Unit. Тогда, несмотря на то, что было установлено на способности, вы должны выбрать юнита в качестве цели (если вы это не сделаете, то выдадут вам ошибку)."
Далее - Эффект поиска в области. Создайте новый эффект, указав тип Search Area (Область поиска). Не забудьте назвать его как-нибудь релевантнее, предпочтительно так же, как и эффект урона, которого вы уже создали. Вам самим будет легче найти любого из них, поскольку они будут вместе в выпадающем списке.
Посмотрите направо. Он самый серый и пустой.
Это изменится! Оно будет автоматически заполняться, когда вы заполните поле. Arc это угол, который охватывает поиск в области. Если 360 градусов ищет в круге, то 180 градусов ищет в полукруге, и так далее. Поставьте значение на 360 градусов.
Maximum Count означает сколько юнитов поиска в области могут являться целью. Если установлено -1, то целями будут являться ВСЕ юниты, которые встречаются в фильтрах.
Radius размер поиска (радиус). Радиус один будет очень маленьким, но десять очень большим. Устанавливайте сколько хотите, я поставил на 8.
Далее, нужно задать какие цели эффекта поиска в области могут быть целями. Это то же самое, что и Target Filters (Фильтры цели), которые вы установили ранее в способности, так что скопируйте цели в Область поиска (Search Area). К сожалению это невозможно скопипастить.
Вот как должна выглядеть ваша Область поиска:
Последняя вещь, которую мы должны сделать и с чем запоздали - добавить к нему эффект. Но все же сделаем.
На данный момент, вы уже создали Эффект Урона и эффект поиска в области. Способность, которую вы создаете должна запускать оба эти параметра одновременно. Теперь нам нужно создать Set effect.
Make a new effect, and label it something relevant (Have i stressed this enough?) Now, go to the right and inside the "Effect: Effects:" box, put in the two effects you just created. Heres why labelling is important. Go through until you eventually find the two effects, which should be next to eachother. For me, it will be; "AnAwesomeAbilityDamage" and "AnAwesomeAbilitySearchArea". It may be different for you.
Excellent Advice for Hunting Down Effects: Type in the first letters of the effect your searching for. You've now gone to the start of the list of the effects you've created - making effect hunting much easier!
Heres how mine looks:
The Set effect is now complete.
Time for your first test. Make a damage effect that deals 50 damage. Answers are inside.
» показать
It's essentially the same as the Damage effect you created earlier! Just change the "Combat: Amount" to 50! The "Target: Impact Location - Value:" is Target Unit instead, as the unit being targetted is getting damaged, unlike last time it was the casting unit!
No worries if you got it wrong, you'll have plenty to practice once your finished!

6. Используем алгоритмы (Behaviors)

For the next two effects, we have to slow the target, and also make the target unable to attack. Both of these affect the target temporarily, a "debuff" if you will. Behaviors, whilst they can be other things, are mainly used for being buffs/debuffs.
Go to the behaviors part of the Data Editor, and create a new behavior. Change the behavior type to "Buff".
On the right, theres a MASSIVE list of things. Don't worry, they are all easy to explain - they're in their own seperate groups. I'll explain what each group of boxes do.
Ability: Modification - These change abilities used by the affected unit.
Behavior: Modification - These change what behaviors that can be applied to the affected unit.
Combat: Damage Response - These will trigger when the unit that has the behavior applied takes any damage.
Combat: Modification - These will affect the unit on how it performs combat. For example, attack speed or damage are under here.
Combat: Death Response - These will trigger when the unit is killed.
Effect: Effect: - These are used during the timeframe of a behavior's life, such as when it spawns, during its life, and when it is removed.
Movement: Modifcation: - These affect how the unit moves, for example movement speed and acceleration.
Stats: - This determines the data of the behavior, such as how long it is applied for, and if it has any periodic timers.
UI: - This is what the player sees when the behavior is applied. This is kind of like a button for abilities. (Except you dont press these.)
Unit: Modification - This changes the unit itself, such as the units height, and sight range.
Weapon: Modifcation - This changes the stats on the weapons the unit is using, and can enable/disable weapons.
Its a little complicated at first, but its easy to settle in. The first behavior we're going to create is slowing the target by 75%. Looking at the group of modifcations above, we have to go to the "Movement: Modifcation" area, since the modification we want is a movement speed reduction.
We want to reduce the movement speed by 75%, so we want to multiply the movement speed by 0.25. (Example: 75% of 100 is 25. So a 75% reduction is 25, which is the same as 100*0.25)
Now, we have to adjust two things. The UI of the behavior (like its icon and tooltip) and the duration of the behavior. The duration can be found in the "Stats" part of the Behavior. Set it to 5 seconds.
Next, go to the behavior, and change the icon and tooltip to whatever you like! For me, I used the Corvid Reactor icon, and for the tooltip, put: "This unit has been slowed by 75%!"
Extra Tip: Behavior's can also appear invisible to players. Go to the "Stats - Flags" and check the "Hidden" option. This is a very useful feature!
Extra Tip #2: Behavior's can be tinted Red (Negative) or Green (Positive) to indicate whether the behavior they've received is good or bad in the "Behavior: Alignment" box! Another useful feature!
Extra Tip #3: Its best to name Behaviors to what the player is going to see, as the Behavior when shown uses the name you've given it. Instead, add in the rest to the Editor Prefix area, so in the editor, it looks the same, but ingame, it shows what its doing!
The first behavior is complete. Now it's time to do the second one!
The second behavior needs to prevent the unit from attacking for 5 seconds. Create a new behavior, and fill in the "Stats - Duration" to 5 seconds like the last behavior. Now, the main part is preventing the unit from attacking. There are several ways we could do this...
We could disable the weapon of the unit, but then we would have to add in every possible weapon, as it doesn't specify disabling whatever weapon the unit is holding.
We could also completely remove its attack speed, but it only goes to 0.01, not 0, so it can still attack, just incredibly slowly.
The other, efficient, simpler method is to remove the Attack ability altogether from the unit in the "Abilities - Modifcation" area of the behavior.
Now that you've put that in, fill in the icon and tooltip of the behavior - and this behavior is done! Simple!
Your two behaviors are now finished. All you need to do is link them up to an "Apply Behavior" effect.

7. Заканчиваем с эффектами

Time for your second test. Create two Apply Behavior Effects and link one of the behaviors you created to each.
» показать
Return back to the effects part of the Data Editor, and create an effect with the Apply Behavior effect type. All you need to do for this effect is to put the behavior you've created in the "Behavior: Behavior" box. Its that simple!
How to make the Effect:
(Its already there by default!)
Apply Behavior Effect One:
Apply Behavior Effect Two:
Good job if you got it right! If you didn't, no worries - you've gained good practice!
Now, the final effect you have to create to finally make this ability become reality.
Create a Set effect, and apply the three previous effects you created to it in the "Effect: Effects" box. The 50 damage one, and the two apply behaviors, and then enable the "Effect: Random" box. Finally, set the "Effect: Maximum Count" to 1, so it will only trigger one effect at random. causing the set to randomly activate one of the effects! Once you've done that, look to bottom left of the Data Editor.
It shows that you've successfully linked most of your ability! The Behaviors have been linked to the Apply Behavior effects, which have been linked to the Set effect alongside the Damage effect.
All the effects are in place! Now, the final step to finishing this ability! Linking everything together!
Return back to your Search Area effect, and in the "Search: Areas - Effect" box, put in the Set Effect you've just created.
And finally. Return to your Ability. Link the first Set Effect you created at the start to your Ability in the "Effect: Effect" box.
Congratulations! You've SUCCESSFULLY created a rather complicated ability! Heres how it should look...
But thats not the end. Oh no, you have one final step!

8. Связываем способность с юнитом

Linking abilities to units is a simple process. Go to the Units part of the Data Editor. First, grab any unit you want. For example, I chose the marine. At the top of the boxes on the right, is the "Ability: Abilities - Ability" box. Enter it, and add the ability you just created to it.
Next, enter the box below it - the "Ability: Command Card - Buttons - Ability Command" box. What will come up is a very easy to use interface on the Command UI of units.
The fifteen squares represent the areas where buttons can be placed for abilities. Choose a location where you want your ability to be shown, then click on the green X to the right, then find the button you created for your ability.
Once placed, change the Command Type to "Ability Command", since the button is linked to an ability. Then, change the Ability to the Ability you created. The Ability Command will automatically fill itself in. Heres how mine looks like:
Then, hit Ok.
Congratulations. Your ability is fully operational and ready to be tested.

9. Тестируем

Place your unit into the map (give it a high amount of health so it can withstand attacks, and to deal with the self-damage of the ability), and create some units ready to be tested on.
When testing this ability - we need to look at if the ability works.
Are the units getting damaged?
Are the units getting slowed?
Are the units unable to attack?
Is the caster getting damaged?
Do the behaviors show up on the target units?
(Yes, as seen in the pictures)
Are the effects applied randomly?
(Yes, as the units do not have two behaviors applied to them, also not all of them died at once. (Their health was below 50))
It all works! Excellent! If yours works, then thats amazing! You've created a complicated ability certainly, and you've gained good practice with abilities, effects and behaviors.
статья

Просмотров: 1 998

» Лучшие комментарии


FruityKilla #1 - 3 года назад 5
мог бы и сам "доперевести"
FYAN #2 - 3 года назад 0
FruityKilla, да времени нет чото
FYAN #3 - 3 года назад 0
Просьба желающим доперевести статью. Награда опыта 500 )
Molecyla #4 - 3 года назад 0
FYAN, перевод из гугл переводчика сойдет? :D
FYAN #5 - 3 года назад 0
надо еще чтоб человек вдумчиво перевел
да статья легкая зачем там гугл
#6 - 3 года назад 2
А я думаю , что по английски всё пошло :D.Статью откуда взял? Или сам писал на инглише,а потом переводил? :D
Ой не увидел что проект старкрафт....
FYAN #7 - 3 года назад 0
Lelik, не закончил перевод... прошу других помочь, со временем проблема
ВеликийИмператор #8 - 3 года назад 0
Способность Притон наемников - Вызов Десанта
Здравствуйте, я новичок во всем этом. Создал Герою способность на основе указанной выше, но почему-то на нее не работают условия требования, способность изучается до первого уровня, а дальше не в какую, + не могу сделать так чтобы юниты вызванные, если вызвать их повторно заменяли предыдущую партию или вызывались на время, так что пришлось сделать ограничение суплаями. Могу выслать карту с героем для просмотра на любой имейл, буду рад любой помощи)))... + почему-то на некоторых способностях некорректно отображаются требования... в общем у меня много вопросов накопилось)...
прикреплены файлы