,

StarCraft 2: Создание первой боевой единицы

» Раздел: 1. Основы

Итак, начнем создание нашей первой боевой единицы. По ходу статьи мы:
  • изучим основные принципы работы с Редактором данных (Data Editor);
  • создадим с нуля новую боевую единицу, т.е. не просто изменяя параметры уже существующих войск;
  • разместим созданного воина на карте;
  • произведем тестирование карты.
Предпосылки: прежде, чем рассмотреть материал статьи, изучите основы, описанные здесь.

Шаг 1. Изучение Редактора данных

Создайте новую карту произвольного размера, тайлсета и т.д. Обратите внимание, чтоб в поле Зависимости (Dependencies) было установлено значение Melee (Liberty). Чтобы вызвать Редактор данных, нажимаем F7.
Убедитесь, что выбран раздел Units (Войска).
Если ничего не вышло, проверьте, нажаты ли все оранжевые кнопки в верхней части модуля.

Шаг 2. Анализ Редактора данных

В конкретном случае в Редакторе данных нас интересуют только четыре пункта, отмеченные ниже на рисунке.
1. Список объектов. Перечень всех объектов, которые можно использовать в карте, а также название файла, где хранится конкретный объект.
2. Поля. Список полей, присущих выбранному объекту.
3. Значения. Значения конкретных полей объекта.
4. Селектор типов данных. Возможность выбора между различными типами данных, применимых к объекту.

Шаг 3. Создание той самой боевой единицы

Вначале давайте создадим измененного пехотинца (Marine) на основе существующей боевой единицы.
Нажмем правой клавишей мыши на Списке объектов и из выпадающего меню выберем пункт Add Object (Добавить Объект). Появится окно, указанное ниже на картинке.
  • Подберем имя нашему воину, к примеру, "Marinie". После ввода имени в соответствующее поле, нажимаем кнопку Suggest (Предложить), тем самым создав вполне пригодный для использования идентификатор боевой единицы.
  • Оставляем невыбранными опции Defines Default Values (Определяет значения по умолчанию) и Show Non-Default (Показать нестандартные значения).
  • Значение поля Based On также не трогаем - (Default Settings (Unit)) (Стандартные настройки боевой единицы).
  • В Object Family (Группа Объектов) указываем Melee (хотя в действительности нет никакой разницы).
  • Object Type (Тип объекта) - Unit (Боевая единица)
  • В поле Choose Copy From (Выбрать оригинал) найдем в выпадающем списке пехотинца (Marine).
Для тех, кто не осилил прочесть огромный кусок текста, ниже представлен рисунок.
Нажимаем ОК.
Только что созданный воин занял свое почетное место среди остальных объектов. Переместим его на поле боя. Свернем Редактор данных для возврата в главное окно программы. При этом удостоверьтесь, что:
  • работаете со слоем Войска (Units) (в противном случае нажмите U);
  • в настройках выбран Игрок 1 (Player 1);
  • в третьем выпадающем списке - раса Terran;
  • в четвертом выпадающем списке - тип Unit.
В итоге должно получится так, как указано на скриншоте.
Теперь мы видим кнопку с изображением маленького зеленого Зелота, при наведении на которую всплывает имя воина - "Marinie" (либо другое, установленное Вами). Нажмем на эту кнопку и укажем место на карте, где должен разместиться... Стоп! Наш воин не отображается на карте! Все верно, для начала необходимо создать класс актера.
Снова перейдем в Редактор данных, в поле Data Type (Тип данных) выберем Actors. Откроется новая панель с множеством объектов. Листая список, находим строку "Marine", нажимаем на ней правой клавшей мыши и в выпадающем меню указываем пункт Duplicate Object (Дублировать объект).
В окне, запрашивающем, какие именно данные нужно продублировать, выбираем все позиции из списка и нажимаем ОК. Спустя несколько секунд в списке появится новый объект с именем "Marine Copy".
Переходим к значению параметра unitName, нажимаем правой клавишей мыши на поле и в меню выбираем пункт Modify Value (Изменить значение).
Откроется небольшое окно со списком. Отыщем "Marinie", выберем его и нажмем ОК.
Теперь снова свернем Редактор данных и попытаемся перенести нашего созданного воина, как делали до этого. Если все было выполнено правильно, боевая единица отобразится на карте.

Нестандартное Оружие

Создадим новое оружие для нашего персонажа.
В Редакторе данных выберем Data Type - Weapons (Тип данных - Оружие). Выполнив правый клик мыши в любом месте списка, в выпадающем меню выбираем Add Object (Добавить объект). Назовем его Marinie's Weapon. Нажимаем кнопку Suggest напротив поля ID, ставим расу Terran и Copy From -> Marine - Gauss Rifle. Подробнее - на скриншоте.
Нажимаем ОК. Теперь, чтобы изменить свойства нашего оружия, ищем поле Period (Период) и выполняем двойной клик мышью на столбце Value. Изменив значение по умолчанию, уменьшив его в 2 раза. Нажимаем ОК. Таким образом, частота стрельбы будет вдвое больше.
Пытаясь отредактировать поле Effect, мы столкнемся с тем, что оно не редактируемое. О, ужас! Выбираем новый тип данных (Data Type), на этот раз Effects.
Нажимаем правой клавишей мыши в списке объектов, снова выбираем *Add Object*. Назовем его Marinie's Weapon. Вручную установим ID - "Marinie" (для красоты и порядка). Задаем Effect Type = Effect Damage, раса = Terran, завершаем процесс нажатием ОК.
Здесь можно изменить только два значения - Kind (Тип) и Amount (Количество). Ставим Kind = Ranged и Amount = 50, как на картинке.
Теперь урон, наносимый оружием, установлен как нужно. Осталось только заставить все это работать.
Переходим снова к списку оружия и выберем Marinie's Weapon. Меняем оба значения на Marinie's Weapon, как показано на рисунке ниже. Поле Effect изменит урон, а Damage Display Effect выдаст правильное описание при наведении на оружие курсором мыши в ходе игры.
Откроем список юнитов, выберем нашего "Marinie", в поле Weapons выполним двойной клик на Value. Откроется окно с одним единственным вариантом. Жмем на него и в выпадающем меню выбираем Marinie's Weapon.
Теперь осталось оптимизировать карту для быстрого теста.

Оптимизация карты

Для начала перенесем только одного "Marinie". Если вас так восхитила моделька и вы уже создали собственный "Легион Смерти" - удаляем всех, кроме одного. Для второго игрока перенесем на карту несколько обычных пехотинцев в качестве беспомощных жертв.
Для того чтобы удалить триггеры, моментально завершающие игру при запуске карты, запустим Редактор триггеров (Trigger Editor).
Выбираем и удаляем действие "Melee - Set default melee options for all players"
Наконец, карта готова к тестированию. Нажимаем CTRL+F9. Выбираем нашего "Marinie".
Ищем жертв.
Выпускаем ярость!
Переводчики: alexkill, LLlypuK

Просмотров: 17 800

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


Дон #1 - 9 лет назад 3
Через год когда во всем разберутся можно будет приступать=)
Arctide #2 - 9 лет назад 4
Блин, ну и загнули, эти... Близзарды..
Zahanc #3 - 9 лет назад 3
Капец сколько ухищрений, просто ради создания нового типа юнитов %)
Bra1nSt0rM #4 - 9 лет назад 2
У меня вместо человечка "скользящее полушарие" вышло :) С чем это может быть связанно?
DanZ #5 - 9 лет назад 2
С тем, что полная версия редактора отличается от той, которая была в бете. В тот момент, когда мы связываем актера( агента - в русской версии, Actors - в английской) и юнита, сбивается путь к модели и полушарие - показатель её отсутствия. Чтобы исправить выбираем в редакторе тип данных агенты. Нажимаем на список и на букву м (первая буква нашего актера), опускаем чуть ниже находим его, жмем. Нажимаем отобразить в виде таблицы и смотрим на данные: вот здесь и находятся все пути. Везде, где в скобках написано "неизвестно" нажимаем правой кнопкой и выбираем изменить. Находим оригинал и выбираем его.
Кстати, при дублировании актера не нужно отмечать все позиции, сразу жмите ок. Никакой разницы нет, зато не будет наслаиваться не нужные лишние модели, улучшение и все, что еще дублировали.
lSOADlDamager #6 - 9 лет назад 2
Никак не получаеться это зделать.
megasniper #7 - 9 лет назад 2
спс, все понятно)
NNKEnnY #8 - 9 лет назад 2
Хорошая статья, спс за перевод.
З.Ы. DanZ, те тож спс ))
sleep #9 - 7 лет назад 2
Не могу ид ввести на русском...
Лучшеб по подробней написали.что есть ид,что он делает....
ssbbssc #10 - 7 лет назад 1
блин, боже
гениальность в простоте
а так чтобы изменить урон юниту нужно лезть в жопу
идиотизм -_-
Smartaros #11 - 7 лет назад 1
если такое будет и в вк4, то это будет их самая большая ошибка
Ancient #12 - 7 лет назад 1
Для версии редактора 1.5.3 надо бы переделать, так [вырезано цензурой]
DEFTHUNTER #13 - 7 лет назад 3
какой урод перевел редактор на русский язык ...
задолбался искать кнопки
и почему он мне пишет
Предупреждение: Отсутствует строка: EDSTR_ENTRYTYPE_CActorSiteOpTipability
Предупреждение: Отсутствует строка: EDSTR_ENTRYTYPE_CActorDoodadPreserver
Предупреждение: Отсутствует строка: EDSTR_ENTRYTYPE_CValidatorUnitLastDamagePlayer
??
Почему во вкладке Создать объект у меня CUNIT, а не Default Settings(Unit) и нет вообще такого?
Почему у меня нету AcidSporesWeapon, а вместо этого AcidSpinesWeapon?
Для кого этот урок?
Редактор 1.0.0(16117)
вот
прикреплены файлы
centrino #14 - 6 лет назад 1
Здесь можно изменить только два значения - Kind (Тип) и Amount (Количество). Ставим Kind = Ranged и Amount = 50, как на картинке.
Я этот Kind уже хз сколько ищу, как они перевели его на русский? С английским проблем нет, но никакого Тип или чего-либо подобного не вижу.
prog #15 - 6 лет назад 0
centrino, убедительно советую поставить английский редактор, если есть такая возможность.
BrEd Pitt #16 - 6 лет назад 3
долбаные близы не могли сделать редактор как в старом добром теплом ламповом варике %(((((
prog #17 - 6 лет назад 1
BrEd Pitt, долбаные хомячки, не понимающие что в ламповым редакторе "как в варике" можно делать только ламповые же карты для лампового варика, а движок старкрафта 2 умеет слишком много чтобы это можно было запихнуть в рамки теплого реактора "как для варика".
P.S. найти бы время да написать десяток статей, соответствующих реалиям последних версий - статья то трехлетней давности, тогда даже клонирования данных не было.