Войти
UDKСтатьи

Настройка проектов UnrealScript

Автор:

Обзор
Создание каталога проекта
Добавление проекта
Компиляция проекта
  Командлет Make
  Автокомпиляция
  UnrealFrontend

Обзор

Для добавления новых элементов геймплея, вам необходимо создать сценарии UnrealScript, определяющие эти элементы. Все эти сценарии должны быть добавлены в проект и скомпилированы. Сценарии UnrealScript разделяются на различные проекты в зависимости от назначения, а каждый проект собирается в отдельный пакет.

В состав движка по умолчанию входит несколько проектов. Например, проект Core имеет в составе базовый класс Object и другие классы базового уровня. Проект Engine содержит классы, составляющие большую часть функциональности движка. Вам нет необходимости изменять любые классы в существующих проектах или добавлять в них новые классы. В принципе, изменение классов в проектах, поставляемых с движком, возможно, но вы должны быть осторожны при их модификации и добавлении новых классов. Будет лучше, если вы создадите новый проект и добавите к нему необходимые вам сценарии.

Нет никаких ограничений на количество проектов, которые могут быть созданы для игры. Как правило, классы для одной конкретной игры включаются в один или, возможно, в два основных проекта. Стандартной практикой является создание проекта с названием или сокращенным или кодовым именем игры. Например, для игры Unreal Tournament мы используем имя UTGame, а для игры Gears of War - GearGame.

Создание каталога проекта

По своей сути, проект UnrealScript является не более, чем набором связанных сценариев, а создание нового проекта UnrealScript означает создание хранилища для этих сценариев, или другими словами, каталога проекта. Все каталоги проектов сценариев UnrealScript должны быть расположены в папке ../Development/Src и иметь то же имя, что и проект.

После создания проекта сценариев UnrealScript с именем MyProject структура каталогов проекта будет выглядеть следующим образом:

projectdirectory.jpg

Внутри каталога проекта MyProject должна быть создана папка Classes, в которую будут помещаться все сценарии UnrealScript, включаемые в проект.

После создания папки Classes структура каталогов проекта будет выглядеть следующим образом:

projectdirectory_classes.jpg

После создания папки проекта и папки Classes технически проект становится созданным и вы имеете возможность создавать сценарии UnrealScript и добавлять их в папку <code>Classes</code>.

Добавление проекта

После создания папки проекта и папки для сценариев UnrealScript необходимо сконфигурировать движок, чтобы создаваемые вами проекты были включены в процесс компиляции. Для определения списка проектов, подлежащих компиляции и сборке, движок использует список проектов, находящийся в массиве EditPackages. Чтобы добавить ваш проект проект, вам необходимо открыть файл DefaultEngine.ini и добавить имя вашего проекта в массив EditPackages. Файл DefaultEngine.ini находится в папке Config каталога вашей игры. Например, файлы конфигурации UDK находятся в следующем каталоге:

configdirectory.jpg

Обратите внимание: Имена проектов добавляются в файл DefaultEngine.ini, а не в [*]Engine.ini (где [*] имя вашей игры, то есть UDKEngine.ini), так как .ini файлы вашей игры будут перезаписаны движком. Файлы Default*.ini игрой никогда не перезаписываются. Они модифицируются только вручную, то есть внесенные вами изменения будут "постоянными" и никогда не будут перезаписаны случайно.

Записи массива EditPackages должны быть добавлены в раздел [UnrealEd.EditorEngine] .ini файла. Например, проекты UTGame и UTGameContent добавляются в игру, путем внесения в DefaultEngine.ini следующих записей:

[UnrealEd.EditorEngine]
+EditPackages=UTGame
+EditPackages=UTGameContent

Порядок добавления проектов имеет крайне важное значение, так как это определяет порядок компиляции проектов. Почему это так важно? Классы текущего компилируемого проекта могут ссылаться только на те классы или типы, которые находятся в текущем или уже скомпилированном проекте. Применительно к UTGame и UTGameContent это означает, что если в классе проекта UTGame есть ссылка на класс из пакета UTGameContent, компилятор не будет знать существовании этого класса и выдаст ошибку компиляции. В связи с этим также желательно размещать связанные классы и классы, ссылающиеся на друг друга, в одном проекте или, по крайней мере, соблюдать порядок компиляции, чтобы все ссылки на классы или типы указывали на уже собранные пакеты.

Компиляция проекта

После добавления в список компиляции проекта, содержащего хотя бы один сценарий UnrealScript, сценарии проекта могут быть скомпилированы для создания пакета проекта. Есть несколько способов скомпилировать сценарии:

Командлет Make

Командлет Make - это подпрограмма, входящая в состав исполняемого модуля игры, которая компилирует скрипты и собирает пакеты. Она может быть запущена путем передачи параметра make основному модулю игры, то есть точно также, как и редактор Unreal, запускаемый путем передачи параметра editor основному модулю игры. Сделать это можно следующим образом:

make_shortcut.jpg

Автокомпиляция

При каждом запуске игры или редактора, все проекты в списке EditPackages проверяются на наличие новых сценариев. При проверке сверяются дата и время внесения последних изменений и дата и время последней сборки пакета. При обнаружении новых сценариев появится сообщение с предложением пересобрать пакеты сценариев.

autocompile.jpg
ОпцияОписание
Yes Запустить процесс компиляции сценариев и сборки пакетов.
No Запускает игру или редактор, игнорируя все обновления сценариев.
Cancel Прерывает операцию компиляции сценариев и сборки пакетов и запуск игры или редактора.

UnrealFrontend

Приложение UnrealFrontend дает возможность, как просто осуществить сборку сценариев, так и запустить конвейер сборки и упаковки игры для тестирования или распространения.

Чтобы собрать сценарии с помощью UnrealFrontend, просто нажмите кнопку Script для отображения меню компиляции сценариев:

ufe_script_menu.jpg

Выберите одну из следующих опций:

Опция Описание
Compile Scripts Компиляция всех проектов, включающих новые или обновленные сценарии.
Full Recompile Компиляция всех проектов из списка EditPackages независимо от времени последней модификации и наличия или отсутствия новых сценариев.

Более подробно об использовании приложения UnrealFrontend читайте на странице Unreal Frontend.

Данный документ является переводом оригинального документа Custom UnrealScript Projects.

#UDK, #Unreal Development Kit

7 июня 2012