Суббота, 27 Апреля 2024, 05:43

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unreal Engine » Русскоязычная документация.с офф сайта. (работа со скриптами в udk(обучающие статьи))
Русскоязычная документация.с офф сайта.
gorlumfanДата: Понедельник, 18 Июня 2012, 07:49 | Сообщение # 1
участник
Сейчас нет на сайте

Добро пожаловать в раздел UE3 UDN, ознакомившись со всеми подробностями в этой теме, вы станете экспертом в Unreal Engine 3 и Unreal Development Kit (УДК).


Unreal Engine 3 Основы:


Общая информация о разработке игр на Unreal Engine 3. Минимальные характеристики - рекомендуемое оборудование и программное обеспечение - Workflow - часто задаваемые вопросы - консольные команды - файлы конфигураций - блоги.


Приступая к работе:


Информация для разработчиков на движке Unreal Engine 3 и Unreal Development Kit (УДК), охватывает все аспекты процесса развития: планирование производства - программирование – разработка - уровень создания - профилирование и оптимизация - упаковка и дистрибукция.


Техника и программирование:


Информация по настройке двигателя, расширение Unreal Editor и создания новых инструментов, и общее программирование машинным кодом и UnrealScript в Unreal Engine 3.


Моделирование:


Информация, связанная с созданием 3D и других материалов игры, такие как статические сетки, скелетные сетки, материалы и т.д. в Unreal Engine 3.


Редактирование уровней:



Информация о создании уровней и сред, включая добавление сценария игры и динамические, интерактивные, анимационные события в Unreal Engine 3.



Вспомогательные материалы:


Ссылки на различные учебники, шаблоны и другие ресурсы. Сообщество - UDK Gems - ссылки - видео уроки - современная информация - примеры кода -конференции и мероприятия - массовые рассылки.




Статьи будут выходить так часто как будет позволять время автора.Т.е. в идеале они будут выходить в течении пяти рабочих дней с понедельника по пятницу.На выходных я буду отдыхать ,так что не обессудьте.В остальное же время статьи будут редактироваться, дополнятся и обновляться.


Официальный сайт http://udn.epicgames.com/Three/WebHome.html.
Переводом статей занимаются gorlumfan а так же anton-gar
Переведенные статьи:


Начало.Статья №1


Обзор


Есть несколько элементов геймплея, общих для любого проекта, созданного с использованием Unreal Engine 3 или Unreal Development Kit. Модификация этих элементов позволяет создавать игры с уникальным внешним видом и механикой. Чтобы обеспечить уникальность вашего проекта, вам необходимо проделать много работы по модификации элементов, входящих в состав Unreal Engine, и создать собственные, уникальные элементы геймплея.

Страница Быстрое введение в создание базовой игры(Статья №2) ознакомит вас с подходами к созданию классов геймплея и с подготовкой игры к запуску. Документ подробно описывает создание пустого каркаса игры (с видом от третьего лица), который далее может быть модифицирован, дополнен элементами геймплея и собран для запуска на целевой платформе: мобильном устройстве или PC.

Тип игры


Тип или правила, составляющие каркас игры, по существу являются основой для любого игрового проекта, сделанного с использованием Unreal Engine 3. В таких играх как, например, Unreal Tournament 3, понятие типа игры очевидно. Один из нескольких типов игры может быть выбран непосредственно из меню, например, Deathmatch, Capture the Flag и т.д. В других играх понятие типа игры может быть менее очевидным, например, в платформере для одного игрока. Тем не менее, в любой игре есть определенные правила и условия, такие как необходимость пройти уровень за отведенное время или убить "босса". В более сложных случаях от действий игрока зависит течение сюжетной линии игры, изменение набора характеристик персонажа и многое другое. Все эти элементы и определяют тип игры.

GameInfo

Тип игры управляется классом GameInfo. Для каждого типа игры создается свой класс, наследующий класс GameInfo. Игра может иметь любое число типов, но только один из них может использоваться в текущий момент времени. Объект GameInfo инициализируется при загрузке уровня игры функцией UGameEngine::LoadMap(). Указанный тип игры будет использоваться в течение всего уровня, если не указано иное.

Этот класс обычно отвечает за:

  • Точку входа/респауна персонажа.
  • Доступное персонажу вооружение или инвентарь.
  • Лимит времени.
  • Количество очков/достижений.
  • Сброс уровня, при необходимости.
  • Проверку условий завершения игры.

Тип игры также определяет набор классов, используемых в составе персонажа, класс HUD и несколько других классов, уникальных для каждого типа игры.

Ознакомьтесь с документом Тип игры Техническое руководство.Статья №3

Тип персонажа


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

PlayerController

Персонажи и другие сущности в Unreal Engine 3 обычно управляются контроллерами (Controllers). Controller является "мозгом" игровой сущности, определяющим ее поведение. Главный персонаж управляется собственным специальным контроллером PlayerController, который реагирует на действия человека - игрока, и преобразует их в действия персонажа.

Pawn

В то время как PlayerController составляет мозги персонажа, воплощение (Pawn) является его физическим представлением или телом. Pawn получает команды от Controller и передает ему свои. Команды могут быть связаны с анимацией, повреждениями и другими физическими аспектами, применимым к персонажам или игровым сущностям.

Более подробно о системах персонажей, контроллерах (Controllers) и воплощениях (Pawns), а также о создании собственных персонажей и игровых сущностей читайте на странице Персонажи. Техническое руководство .

Camera

Игрок наблюдает игровой мир через камеру, управляемую классом Camera. Этот класс определяет позицию и ориентацию камеры, управляя проецированием игрового окружения на экран. По сути это глаза игрока. Используя класс Camera или собственную систему камер вы можете создать новые и уникальные виды игрового окружения. Например, вид от первого лица делает самого персонажа невидимым. Это создает иллюзию созерцания мира собственными глазами. Модификация класса Camera позволяет создавать множество вариантов проекции игрового мира, например, виды с персонажем от третьего лица сзади, сверху, в перспективе или в ортогональной проекции. Все зависит исключительно от вашего выбора.

Input

PlayerController может получать информацию о состоянии игровых устройств и преобразовывать их в события игры. Эта информация поступает из класса Input и специального класса PlayerInput. Указанные классы отвечают за отображение нажатий кнопок джойстиков и геймпадов, клавиш клавиатуры или мыши и их преобразование их во внутренние данные движка. Затем данные могут быть получены классом PlayerController и, при необходимости, обработаны. Ввод тесно связан с камерой, ориентацией игрока и его передвижением в игровом мире. Каждый тип камеры требует свою реализацию методов обработки ввода для управления обзором игрового пространства и передвижением персонажа.

Подробнее о камерах, классе Camera и создании собственных камер и методов управления персонажами читайте на странице Камеры. Техническое руководство .

HUD и UI


Головной дисплей (Heads Up Display, HUD) отображает информацию о состоянии игрока, его текущих задачах, количестве боеприпасов, здоровья и о прочих элементах геймплея. Обычно HUD не интерактивен и, в отличие от элементов управления, не требует каких-либо действий от пользователя.

К интерфейсу пользователя (User Interface, UI) относятся меню, диалоговые окна и прочие элементы управления. Эти элементы обычно расположены в одной плоскости с HUD, но в некоторых случаях могут быть частью поверхностей объектов игрового мира. Наиболее очевидными примерами UI являются главное меню, отображаемое при запуске игры, или меню, отображаемое во время паузы игры. С другой стороны, есть и другие элементы UI, отображаемые в течение игрового процесса. Они могут использоваться для отображения текстов диалогов между персонажами игры, или в более сложных ситуациях, как например, в RTS или RPG, могут постоянно отображаться на экране, позволяя игроку выбирать оружие, броню, технику, здания и т.д.

HUD

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

Подробнее о классе HUD и создании собственных типов головных дисплеев читайте на странице HUD. Техническое руководство .

Для отображения элементов на экране есть два метода: рисование через Canvas или отображение роликов Scaleform GFx.

Canvas

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

Подробнее о классе Canvas и его использовании для вывода на экран читайте на странице Canvas. Техническое руководство .

Scaleform

Интеграция Scaleform GFx в Unreal Engine 3 позволяет использовать анимированные флэш-ролики, сделанные с помощью Adobe Flash Professional, для HUD и UI игры. Scaleform GFx состоит из набора классов, представляющих флэш-ролики, флэш-проигрыватели и отдельные объекты, входящие в состав флэш-роликов. Флэш-проигрыватели могут отображаться с помощью HUD, позволяя управлять процессом отображения флэш-роликов в игре.

Подробнее о Scaleform и его интеграции в Unreal Engine 3 читайте на странице Scaleform GFx .

Техническая сторона Scaleform детально описана на странице Scaleform. Техническое руководство .



Быстрое введение в создание базовой игры.Статья №2

Обзор



Создание своего первого проекта может быть не простым ,когда ты делаешь это в первый раз. Вам может быть интересно, с чего начать, что делать, где и т.д. Этот документ предназначен для быстрого выделения важных областей и ключевых аспектов в создании новой игры. В ходе статьи вы сможете создать минимально необходимое (каркас) для игры, который затем может быть настроен в соответствии с любым типом игры.

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



Первое, что необходимо выполнить при создании новой игры заключается в создании различных каталогов проекта, которые будут использоваться для хранения скриптов и контент для игры. Важно отметить, что Unreal Engine 3 предназначен для работы с одним проектом одновременно. Если вы хотите иметь несколько проектов, то лучше работать с несколькими установочными версиями UDK, так как работа с несколькими проектами в приделах одной установочной версии может быть довольна запутанным.

UnrealScript проекта

Любой новый игровой проект, в конечном счете будет требовать использования UnrealScript ,для создания собственных классов, для создания уникального геймплея в игре. Добавление новых UnrealScripts требует создания пользовательских скриптов UnrealScript , которые объединены в новый пакет UnrealScript .

Чтобы создать новый UScript надо сначала найти ..\Development\Src каталог в пути установки UDK. Внутри этого каталога, создайте новую папку с названием вашего проекта. Обычно это несколько сокращенный вариант названия вашей игры. Например Unreal Tournament games сокращенно использует имя UTGame

В качестве примере написания простейших UnrealScript будет использоваться папка UDNGame .Данная папка должна находится ..\Development\Src в корне установленной UDK.

Внутри этой UDNGame папки, создается новая папка Classes . Это та папка в которой будут хранится скрипты проекта.


Подробное руководство по настройке пользовательских UnrealScript проектов см. в разделе Пользовательские UnrealScript Проекты.

Содержимое каталога

Игра ничего не значит без содержания. Вы должны обладать визуальными элементами на экране такие как звук,картинки, и т.д. и, конечно, карты, необходимое для связи всего этого вместе и представить ее на запуск. В общем, содержимое хранится в пакетах (карта тоже пакет), они находятся ..\[GameName]\Content в каталоге установленного Unreal. Есть правило такие папки как ,Characters, Environments, Maps, Sounds и т.д. находятся в Content каталогах, что позволяет упростить организацию содержимого пакетов карт.

При использовании UDK все папки заполняются согласно их предписаниям. Вы можете очень легко и просто сохранить пользовательские данные вашей игры, пакеты и карты в эти же папки и все будет работать отлично. Однако, если вы хотите хранить ваш пользовательский контент отдельно от других Content папок то,вы можете просто создать новую папку Content каталога, возможно, с именем вашей игры, и сохранить пакет в этой папке. Вы даже можете добавить папки,схожие по их расположению ,как те в которых они организованы ,как Content директории.

Классы геймлея


Наш пример игры будет состоять из нескольких важных аспектов созданых в UnrealScript и хранящихся в наших пользовательских папках UnrealScript. Идея этих классов заключается в создании рабочих, но общих или минимальных базовых значений.Мы не создаем сейчас финальную игру. Идея состоит в том, чтобы создать проект, который вы сможете использовать в качестве основы или примера для построения своей собственной игры.

Камера

Одним из наиболее важных аспектов любой игре,является то как игрок смотрит на мир. В Unreal, положение и ориентация точки зрения игрока обрабатывается GetPlayerViewPoint () функцией PlayerController класса. По умолчанию, если есть объект ,игрок - камера которая может обрабатывать расчет относительно местоположения в пространстве. Она может использовать один из двух методов для расчета положения и ориентации:


  • вызов CalcCamera() в Pawn для UpdateCamera() function.
  • расчет перспективы непосредственно в UpdateCamera() function.

Данный пример будет использовать камеру от 3-его лица. Как уже упоминалось выше, будет реализованно в Pawn класса, используя CalcCamera () function, но идея сохранения логики камеры заключается в создании отдельного класса, в дополнение к тому, что с помощью класса Camera можно получить доступ ко всем функциям камеры, таким как обработка post processing и camera animations, например, будет использовать пользовательский Camera класс для обработки позиционирования камеры. Хотя этот пример будет от 3-его лица, любой другой тип камеры может быть создан легко, изменив логику, которая вычисляет положение камеры и вращение.

Техническое руководство по Camera представляет собой подробное описание камеры и имеет примеры создания других перспектив камеры.

PlayerController

Другим основополагающим аспектом в любой игре, является ввод от игрока обрабатываемых данных и то как это переводится в управлении игрой, будь то прямой контроль главного героя на экране, использование точки и взаимодействие интерфейса для управления игрой, или любой другой способ управления игрой. Очень интуитивно, класс, отвечающий за определение того, как игрок управляет игрой называется PlayerController classes.

Базы PlayerController достаточно для того, чтобы заставить игрока бегать, взаимодействовать с игрой . Простейший PlayerController classes, используемый в данном примере,будет использовать настройки камеры описные выше. Конечно, когда вы будете делать свою собственную игру вы несомненно, будете иметь необходимость внести изменения в этот класс, чтобы добавить логику необходимую для конкретной реализации вашей игры.

Техническое руководство Characters дает подробное объяснение PlayerController classes и, то как настроить его в соответствии с новыми типами игр.

Pawn
В то время как PlayerController class определяет ввод действий игрока, которые в данном случае будут включать в себя непосредственное управление игроком, наглядное представление о игроке и его логике для определения того, как он взаимодействует с физическим миром заключена в Pawn class. В данном примере ,в Pawn class не будет добавлена никакая особая логика для взаимодействия с окружающей средой, но она будет отвечать за создание визуального представления игрока. Это означает, что необходимо установить skeletal mesh, animations, и physics asset, которые будут использоваться для отображения персонажа в игре.

Техническое руководство по Character дает подробное объяснение Pawn classes и то как он работает в сочетании с PlayerController classes.

HUD

HUD class отвечает за отображение информации об игре для игрока. То какая информация отображается в данной игре.Например, реализация простого HUD начинается с чистого листа, из которого вы можете создать свой ​​собственный HUD, либо с помощью Canvas object или Scaleform GFX .

Техническое руководство по HUD предоставляет подробную информацию о создании глав-дисплеев с использованием как Canvas object или Scaleform GFX встроенного в Unreal Engine 3.

Gametype
Тип игры является основой игры. Он определяет правила игры и условия, при которых игра продолжается или заканчивается. Ясно, что он должен зависеть от игры ,от конкретных условий. Тип игры также отвечает за то, какие классы используются для PlayerControllers , Pawn , HUD , и т.д. Данный пример реализации Gametype будет простым .Указать эти классы в defaultproperties а остальная реализации зависит от вас.

Техническое руководство по GameType объясняет понятие типа игры,более глубоко для достижения понимания, какие области настройки GameType за что отвечают.

Compiling


Важно: Вы должны закрыть редактор для составления сценариев. Если он открыт, закройте его сейчас.
Для компиляции проекта UnrealScript в Pacakges, который позволяет использовать их в движке UnrealEd (прим.ред.) или уже на выходе(в готовом проекте).Движок должен знать о UnrealScripts которые вы сделали. Это делается путем добавления проекта EditPackages в массив [UnrealEd.EditorEngine] в разделе DefaultEngine.ini . Синтаксис для добавления UDNGame в проект приведен ниже:

Если вы используете UDK, вы заметите, что в поле [UnrealEd.EditorEngine] уже есть некоторые другие проекты, включенные в данный раздел, а именно UTGame и UTGameContent. Решение о том, что оставить в данном разделе а что убрать,вы должны будете сделать, основываясь на типе игры который вы делаете. Окончательный [UnrealEd.EditorEngine] раздел должен выглядеть примерно так (прим.ред):

Существуют разные способы компиляции файлов. Вы можете:


  • Сделать commandlet
  • Компиляция через UnrealFrontend
  • Запустите игру или редактор(

Любой из вышеперечисленных способов будет компилировать файлы. Тем не менее,в данном примере мы рассмотрим самый простой способ для автоматической компиляции скриптов. Запустите редактор и вы увидите следующее диалоговое окно:

Выберите Yes и тогда появится консоль в которой показывается процесс компиляции.

Вы должны увидеть успех - Success - 0 error(s), 0 warning(s) , если процесс был успешным. Если у вас произошла ошибка то в компиляторе будет показано место ошибки с именем файла и номер строки, где произошла ошибка .Тем самым дает возможность с легкостью найти и исправить ошибку.

Имя файла, где произошла ошибка, должно быть ясно видно , на рисунке выше. Номер строки в скобках "()" после имени файла. Описание ошибки показано, после ":" . Эта ошибка говорит о том, что пункт после знака равенства (=), является недействительным. Это может быть связано с ошибками имени, не объявленные переменные и т.д.Исправьте ошибки и скомпилируйте еще раз, используя ту же процедуру, что и выше.В итоге должно привести к успешной компиляции.
Testing


Для того, чтобы опробовать ,что у нас получилось в ходе примера, вы можете выбрать один из двух методов:

  • Установить тип UDNGame как PIE для типа игры в WORLDInfo,который находится в свойствах тестовой карты в Unreal Editor.
  • Установить тип UDNGame который будет являться типом по умолчанию для engine в DefaultGame.ini конфигурационных файлах.


Map Gametype

Чтобы установить UDNGame как тип игры, выберите World Properties из View меню видового окна.И там выберите WORLDInfo в окне свойств.

Развернуть категорию Game Type и найти Gametype for PIE .И Выберите UDNGame из списка доступных типов игры.

Теперь вы можете запустить карту в редакторе, используя Play in PIE(PIE=Play in editor прим.ред) или Play from here, и он будет использовать пользовательский тип игры, используя камеру от 3-его лица с полностью функциональным Character.

Вы также можете установить данный тип игры по умолчанию, чтобы заставить эту карту,использовать пользовательский тип игры, независимо от настройки по умолчанию, в. INI-файле (см. ниже).

Default Gametype

Примечание: редактор должен быть закрыт при редактировании INI файлов.

Чтобы установить тип игры UDNGame по умолчанию , откройте Defaultgame.ini находящийся в ..\[GameName]\Config директории вашего установленного UDK . Это приведет к тому что это тип игры будет использоваться для всех карт, если не указан Gametype или Maps URL или если данный тип игры не разрешен на данной карте. В разделе [Engine.GameInfo] , есть три свойства. Назначить UDNGame тип игры . Существует также возможность присвоить PlayerController classes. Наконец, есть несколько дополнительных строк настройки типа игры префиксы, которые используются только для UT3 как пример игры, которая будет удалена.
Окончательный [Engine.GameInfo] раздел показано ниже:

Теперь пользовательский тип игры должны использоваться с видом от 3-его лица с полностью управляемый Character - на любой карте.С запуском из окна редактора или с помощью воспроизведения на ПК(если изменить map URL или Default Game Type property в World Properties.)



Сообщение отредактировал gorlumfan - Вторник, 26 Июня 2012, 18:42
gorlumfanДата: Суббота, 30 Июня 2012, 00:17 | Сообщение # 2
участник
Сейчас нет на сайте
Тип игры Техническое руководство.Статья № 3


Обзор


Каждая игра, сделанная с использованием Unreal Engine крутится вокруг использования одного или нескольких типов игры. Эта концепция, очевидна, в таких играх, как Unreal Tournament, где пользователь фактически выбирает тип игры , будь то Deathmatch, Capture the Flag, Last Man Standing, или другой тип игры. Тем не менее, даже такие игры, как приставочные, спортивные и гоночных симуляторы, RTS игры, ролевые игры, и т.д. все основываются на типе игры, хотя сам пользователь не всегда имеет возможность их менять или выбирать.

Тип игры является основой.Это то, что определяет правила игры: как игра начинается, как набираются очки или какие условия должны быть выполнены для пройти игру до конца и закончить играть, и любые другие элементы игры. В игре каждый тип игры должен быть конкретным для каждого уровня, как перейти на экран загрузки нового уровня(по крайней мере, в традиционном смысле загрузка нового уровня в потоковом режиме ,оставляя прежний режим игры).В игре Deathmatch, тип игры обрабатывает поведение игроков и ботов в игре ,в разных местах, обрабатывает убийство каждого игрока и ведение счета, и то как заканчивается игра.Есть множество вариантов : либо закончится время или один игрок получил необходимое количество очков,для завершения уровня. Это все очень просто и те же принципы применимы к любой другой игре, хотя они могут быть немного более сложными.

Например, представьте, приключенческую ролевую игру. Когда игрок начинает игру, тип игры создает игрока в игровом мире с самого начала,за исключениями когда вы уже играли в игру с были сохранены например, в открытой местности или подземелье, где игрок был, до того когда игра была сохранена. Игрок исследует мир, а затем приходит в подземелье. Когда игрок входит в подземелье, он переходит на новый уровень и тип игры тоже загружается. Этот тип игры отправляет игрока в начало подземелья, а затем ждет, когда игрок выполнит цель подземелья.Целью может быть убийство босса или сбор конкретного элемента,и многое другое. Когда типы игр получается информацию о том что вы прошли подземелье, он отправляет игрока обратно в основной мир. В основном мире,тип игры следит за игроком ,за его достижениями и т.д. сверяет условия.И ждет игроков, которые закончили все цели в игре,или еще исследуют мир в поисках новых достижений.

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

GameInfo Class



GameInfo class является базовым классом для всех типов игры в Unreal. Каждый раз, когда карта загружается, новый экземпляр соответствующего GameInfo класса создается и присваивается к типу игры. Для получения дополнительной информации о том, как тип игры устанавливается на определенном уровне,ознакомьтесь с Game Lifecycle(Жизненный цикл игры Прим. ред.)Техническое руководство.

GameInfo Properties

Arbitration

  • bUsingArbitration - если значение TRUE, то игра будет использовать arbitration.
  • bHasArbitratedHandshakeBegun - TRUE если функция arbitrated прошла подключение.Новые подключения будут отвергнуты после того как прошло handshake(прим.ред."рукопожатие". форма подключения.)
  • bNeedsEndGameHandshake - если значение TRUE, то игра должна выполнить handshake в конце игры.
  • bHasEndGameHandshakeBegun - TRUE если handshake который должен быть в конце игры начался.
  • bIsEndGameHandshakeComplete - TRUE если handshake который должен быть в конце игры закончился .
  • ArbitrationHandshakeTimeout - GLOBALCONFIG. Количество времени, которое клиент использовует arbitration handshake перед тем как будет kicked(прим.ред. форма отключения.)
  • PendingArbitrationPCs - массив PlayerControllers для игры ,который ожидает выполнения handshake с.>ArbitrationPCs
  • ArbitrationPCs - массив PlayerControllers в котором игра проводит handshake и требуют доработки данных arbitration, записанных на онлайн подсистемы(прем.ред.Сервера).

Cheat Detection

  • [Min/Max]TimeMargin - Максимальное количество раз,за определенный промежуток времени когда клиент будет проверять сервер между запуском определения Speed Hack(прим.ред. чит-программа ускоряющая перемещение.).
  • TimeMarginSlack - Как быстро система будет определять наличие на сервере Speed Hack.
  • bIsStandbyCheckingEnabled - если TRUE,игра должна выполнять проверку наличие чит-программ.
  • bIsStandbyCheckingOn - TRUE когда ожидает и готов к проверке на наличие чит-программ.
  • bHasStandbyCheatTriggered - TRUE когда после ожидания чит-программа обнаружена.
  • Standby[Rx/Tx]CheatTime - количество времени,которое будет ожидать сервер на получение подтверждение того,что произошел запуск чит-кода.
  • BadPingThreshold - Проверка высокого пинга,прежде чем сервер будет устанавливать задержку пакетов или будет переносить приоритет связи выше по списку.
  • PercentMissingFor[Rx/Tx]Standby - процент клиентов, которым разрешено отсутствие пакетов/ подтверждение данных до запуска резервного кода.
  • PercentForBadPing - процент клиентов, которые имеют разрешен использовать плохое значения пинга до запуска резервного кода.
  • JoinInProgressStandbyWaitTime - количество времени, которое сервер будет ждать перед проверкой подключения ожидания запросов.


Game Components

  • PlayerControllerClass - The PlayerController class используется, когда игрок заходит в игру ,используя данный игровой тип (gametype -прем. ред.).
  • DefaultPawnClass - The Pawn class ,используется когда игрок заходит в игру,используя данный игровой тип.
  • HUDType - The HUD class to используется как основной интерфейс ,при использовании данного типа игры.
  • PlayerReplicationInfoClass - The PlayerReplicationInfo class используется, когда игрок заходит в игру , используя данный игровой тип.
  • GameReplicationInfoClass - The GameReplicationInfo class используется для данного типа игры.
  • OnlineSub - The OnlinSubsystem пример использования.Применяется в данном типе игры для связи с платформой слоев сервиса.
  • GameInterface - The OnlineGameInterface пример использования.Применяется в данном типе игры для создания,поиска или "удаления онлайн игр".
  • OnlineStatsWriteClass - The OnlineStatsWrite class отсылает клиенту задачу ,использовать создание и хранение статистики.
  • OnlineGameSettingsClass - The=OnlineGameSettings= class используется когда зарегистрирован выделенный сервер с онлайн сервисами.
  • DeathMessageClass - The LocalMessage class to используется для показа сообщения когда игрок умирает.
  • GameMessageClass - The GameMessage class to используется для показа сообщения об игровых событиях.
  • AccessControlClass - The AccessControl class используется для данного игрового типа.
  • AccessControl - The AccessControl пример использования : это управление дает возможность при входе быть игроком и/или стать администратором.
  • BroadcastHandlerClass - The BroadcastHandler class to используемый в данном типе игры.
  • BroadcastHandler - The BroadcastHandler пример использования.Выводит на экран сообщения для данного типа игры.
  • AutoTestManagerClass - The AutoTestManager class используется для данного типа игры.
  • MyAutoTestManager - The AutoTestManager пример использования.Для управления автоматическим тестированием.Существует только по требованию с помощью командной строки.


Game Settings

  • bRestartLevel - Если TRUE, уровень должен быть перезагружен,когда игрок умрет.
  • GameInfo нет особой логики создания команд.Это просто указывает на то что в игре будут команды.
  • bGameEnded - TRUE когда конец игры достигнут.устанавливается EndGame()
  • bOverTime - Если TRUE, игра будет иметь ограничение времени. Это происходит когда EndGame() вызван, но CheckEndGame()возвращает значение FALSE когда конец игры не был достигнут.
  • bDelayedStart - Если TRUE, игра будет не сразу запускаться ,когда игрок присоединится к ней.
  • bWaitingToStartMatch - TRUE когда игра находится в ожидание запуска матча.Статус в ожидании начала игры.
  • bChangeLevels - GLOBALCONFIG.Если TRUE, новая карта должна быть загружена когда игра пере запускается.
  • bAlreadyChanged - TRUE после того как была загружена карта и bChangeLevels=TRUE.
  • bGameRestarted - TRUE когда игра перезагружена.
  • bLevelChange - TRUE когда уровень перехода (через ProcessServerTravel()) в прогрессе.
  • GameDifficulty - GLOBALCONFIG.Модификатор сложности для игры. Должно применяться в подклассе ,по тому что изменяется в зависимости от конкретных условий.
  • GoreLevel - GLOBALCONFIG. Количество крови ,которое можно показывать.В значение 0, показывает нормальное количество крови с увеличением значения показывает меньше крови.
  • GameSpeed - масштабный коэффициент для игрового времени . Устанавливается в WorldInfo.TimeDilation.
  • MaxSpectators - GLOBALCONFIG. Максимальное кол-во зрителей поддерживаемых данным типом игры на сервере.
  • MaxSpectatorsAllowed - Максимальное кол-во зрителей при данном типе игры.Используя the MaxSpectators изменяйте его в разумных приделах ,так как это показано в установках .
  • NumSpectators - Кол-во зрителей в игре
  • MaxPlayers - GLOBALCONFIG. Максимальное кол-во игроков разрешенные на данном типе игры на сервере.
  • MaxPlayersAllowed - Максимальное кол-во игроков разрешенные на данном типе игры. Используя the MaxPlayer изменяйте его в разумных приделах ,так как это показано в установках .
  • NumPlayers - Кол-во персонажей под управлением игроков в игре.
  • NumBots - Кол-во ботов(Pawn персонажей под управлением A.I. Artificial Intelligence-искусственный интеллект прим.ред.)в игре.
  • NumTravellingPlayers - Кол-во игроков ,которые все еще перемещаются с предыдущей карты.
  • CurrentID - ID Используется для присвоения уникального PlayerIDs to каждому PlayerReplicationInfo когда они создаются.
  • DefaultPlayerName - LOCALIZED. Имя которое присваивается по умолчанию каждому игроку в данном типе игры.
  • GameName - LOCALIZED. Отображает имя игры при данном типе игры.
  • FearCostFalloff - Фактор, который определяет, как быстро FearCost для NavigationPoints уменьшается с течением времени, когда bDoFearCostFalloff в значение True.
  • bDoFearCostFalloff - Если TRUE, FearCost для NavigationPoints будет уменьшатся с течением времени.
  • GoalScore - Кол-во "score" нужное набрать игроку для завершение матча. Score is an arbitrary concept, though many games keep track of some sort of score and end the game when a particular score is attained.Score представляет собой условное понятие, хотя во многих играх она отслеживается для того чтобы закончить игру когда будет набрано определенное кол-во.
  • MaxLives - Максимальное кол-во жизней у игрока перед началом матча.
  • TimeLimit - Кол-во времени разрешенное для одного матча.
  • GameInfoClassAliases - В массиве GameClassShortName структура которая сопоставляет короткие имена для типа игры и переводит их в полные названия классов.
  • DefaultGameType - CONFIG.Используемый по умолчанию тип игры, если он был не указан,иначе надо будет (указать в виде строки, полный путь к gametype classes).
  • DefaultMapPrefixes - CONFIG.массив GameTypePrefix структура, которая отображает приставку имени уровня для конкретного типа игры.Используется для определения типа игры который будет использоваться, если не указан тип игры. Переопределяет DefaultGameType. См. раздел Gametype Prefixes для более подробной информации.
  • CustomMapPrefixes - CONFIG.массив GameTypePrefix структура, которая отображает приставку имени уровня для конкретного типа игры.Используется для определения типа игры который будет использоваться, если не указан тип игры. Переопределяет DefaultGameType. См. раздел Gametype Prefixes для более подробной информации.
  • bRequiresPushToTalk - Если TRUE,голосовая связь будет активироваться по принципу Push-To-Talk (Нажал-говори прим.ред.) для этого типа игры. В противном случае голосовую связь можно оставить включенной все время.


Mutator

  • BaseMutator - ссылка на основной Mutator,который будет использовать данный тип игры.


Network/Replication

  • InactivePRIArray - В массиве PlayerReplicationInfos отмечаются игроки которые покинули игру.Оно сохраняется ,если
    эти игроки вернулись в игру.
  • bKickLiveIdlers - GLOBALCONFIG. В зеачении TRUE, PlayerControllers с Pawns может быть выкинут из игры в автоматическом режиме.
  • MaxIdleTime - Максимальное кол-во времени которое игрок может провести в ожидании отключения.
  • LeaderboarId - идентификатор лидеров игры который записывает статистику, за достижение очков/навыков.
  • ArbitratedLeaderBoardId - идентификатор Arbitrated лидеров записывает статистику,за достижение очков/навыков.
  • bUseSeamlessTravel - Если TRUE, карта для перехода будет работать с помощью SeamlessTravel () , который загружается в фоновом режиме и не отключает клиентов.
  • CoverReplicatorBase - URL строки которые отвечают за подтверждение регистрации выделенного сервера.
  • bHasNetworkError - TRUE когда в сети произошла критическая ошибка ,которая нарушает работу перемещения между картамиa.
  • ServerOptions - URL строки которые отвечают за подтверждение регистрации выделенного сервера.
  • AdjustNetSpeed - В настоящее время скорректирована необходимая скорость сети, которая используется для динамического управления скоростью интернет подключения для прослушиваемых серверов(listen server в оригинале звучит так,возможно эта функция отвечает за сравнение идеальной скорости со скоростью подключенных серверов,к сети прим.ред.).
  • LastNetSpeedUpdateTime - В последний раз необходимая скорость была обновлена ​​для сервера ,клиента для входа и выхода.
  • TotalNetBandwidth - GLOBALCONFIG.Общий объем пропускной способности доступный для прослушивания серверов, которые делятся динамически между необходимыми подключениями.
  • [Min/Max]DynamicBandwidth - Минимальная или максимальная пропускная способность динамического соединения установленного для сервера.


Pausing


  • bPauseable - В значении TRUE, игра может быть остановлена игроком при игре в режиме онлайн.Игра в режиме офф-лайн всегда может быть приостановлена.
  • bAdminCanPause - В значении TRUE,игра может быть поставлена на паузу администратором при игре в режиме онлайн
  • Pausers - Массив делегатов, который проверяет ClearPause () , чтобы определить,когда в игре можно снять паузу.


Profiling/Testing


  • bFixedPlayerStart - Если TRUE, то игра должна использовать те же spawn points(точки появления прим.ред) ,которые сделаны по умолчанию.Это не функционирует для данного Gameinfo.Это должно быть добавлено в логику появления spawn points в subclass.
  • CauseEventCommand - Содержит консоль событий которые произошли в игре карте URL(Т.е. записываются события для определенной карты.прим.ред). Обычно используется для тестирования, то есть запуск автоматизированной flythrough.Не существует функций для выполнения этой команды в GameInfo . Он должен быть добавлен в subclass
  • BugLocString - Содержит строку место ошибки ,переданное в карты URL
  • BugRotString - Содержит строку последовательности ошибки ,переданное в карты URL


GameInfo Functions

Game

  • OnEngineHasLoaded - Событие вызывается из машинного кода, когда движок был загружен при запуске.Данная операция вызывается только один раз, когда игра запускается впервые , а не каждый раз, когда новая карта или тип игры меняется.
  • GetSupportedGameTypes [InFilename] [OutGameType] [bCheckExt] - GameTypePrefixвозвращает структуры для имени данной карты . См Gametype Prefixes для получения более подробной информации.

    • InFilename - Название карты, получаемое данным типом игры для.
    • OutGameType - Out. Вывод GameTypePrefix структур, связанных с данной картой.
    • bCheckExt - Необязательно. Если TRUE, расширение файла имени карты будет проверятся, чтобы убедиться, что это правильный файл карты.

  • GetMapCommonPackageName [InFilename] [OutCommonPackageName] - Возвращает имя общего пакета (если таковые имеются) для данной карты. Возвращает TRUE в случае успеха. Возвращает FALSE, если GameTypePrefix на карте не найден или если GameTypePrefix не использует общий пакет. См. Common Packages для получения более подробной информации.

    • InFilename - название карты, которое получает общее название пакета.
    • OutCommonPackageName - Out. Выводит имя общего пакета.

  • GetDefaultGameClassPath [MapName] [Options] [Portal] - Возвращает полный путь к оптимальному GameInfo classes, используемого для указанной карты и настройки. Это используется для предварительной загрузки приготовленных пакетов и т.д., и, следовательно, не нужно включать резервные опции, такие как SetGameType () будут вызваны позже для поиска или загрузке нужного класса.

    • MapName - Название карты, которое она получает по умолчанию согласно типу игры.
    • Options - Параметры строки URL для карты, если таковые имеются.
    • Portal - Имя назначения портала ,перемещающего игрока, если таковые имеются.

  • SetGameType [MapName] [Options] [Portal] - Возвращает класс GameInfo для вызова в игре спецификации карты и спецификации настроек. Эта функция должна включать резервные классы в случае, если требуемый класс не может быть найдено.

    • MapName - Название карты которое она получает согласно данному типу игры.
    • Options - Параметры строки URL для карты, если таковые имеются.
    • Portal - Имя назначения портала ,перемещающего игрока, если таковые имеются.

  • InitGame [Options] [ErrorMessage] - Вызывается движок до того как ,любой из сценариев выполнит инициализацию параметров и появятся вспомогательный классы для данного типа игры.

    • Options - параметры строки URL для карты, если таковые имеются.
    • ErrorMessage - Out.Вывод сообщений об ошибках, обнаруженных при инициализации типа игры

  • StartMatch - Информирует все заинтересованные стороны, что матч начинается и создается Pawns для игроков.
  • Reset - Сброс типа игры в исходное состояние. Вызывается после того, как все остальные Acters были сброшены.
  • ShouldReset [ActorToReset] - Определяет,имеет ли право данный Acters быть сброшенным. Возвращает TRUE, если данные Acters должны быть Reset () во время перезапуска игры или в случае, если GameInfo будет вручную сбросывать его , если Acters не должен быть сброшен.

    • ActorToReset - Actor сброса.

  • ResetLevel - сброс уровня, вызвав Reset () на всех controllers , для всех Actors, а затем GameInfo .
  • RestartGame - перезапуск игры,изменение карты, если bChangeLevels = TRUE или перезагрузк текущей карты.
  • EndGame [Winner] [Reason] - Завершение обработки конца игры.Должен быть вызван,когда конец игры (условие(я) были достигнуты).

    • Winner - PlayerReplicationInfo игрока, который выиграл игру.
    • Reason - Строка с указанием причины завершения игры. Например, "TimeLimit", "LastMan", "DungeonComplete" и др.

  • CheckEndGame [Winner] [Reason] - Вызывается из EndGame() , чтобы проверить, игра действительно должна закончилась по указанным причинам . Подклассы могут переопределить это, разместить дополнительные модификации конкретной игры .

    • Winner - PlayerReplicationInfo игрока, который выиграл игру.
    • Reason - Строка с указанием причины завершения игры. Например, "TimeLimit", "LastMan", "DungeonComplete" и др.

  • CheckModifiedEndGame [Winner] [Reason] - Вызывается из CheckEndGame () , чтобы изменить условия конца игры. По умолчанию, это вызывает CheckEndGame () на всех Mutators .

    • Winner - PlayerReplicationInfo игрока, который выиграл игру.
    • Reason - Строка с указанием причины завершения игры. Например, "TimeLimit", "LastMan", "DungeonComplete" и др.

  • PerformEndGameHandling - Выполняет в конце игры обработку онлайн слоя.
  • GameEnding - Вызывается уведомление движку при данном типе игры о том что игра выключается, то есть приложение закрывается или происходит загрузка новой карты.
  • PreExit - Вызывает сообщение движка о том что ,он выключается.
  • MatchIsInProgress - Вернуть ли данный матч ,которые еще идет.
  • GameEventsPoll - Функция заглушки, которая служит точкой входа в код статистики пользовательских игры.Вход через регулярные промежутки времени. Она вызывается в Poll() таймер GameplayeStatsWriter через регулярные промежутки времени, когда статистика запущена.В подклассах можно изменить это ,чтобы добавить пользовательский учет статистики.
  • EndLogging [Reason] - Функция заглушки для прекращения изменения статистики.В подклассах можно изменить это, чтобы,добавить логику и остановить изменение статистики.

    • Reason - строка с указанием причины для выхода.



Travel

  • ProcessServerTravel [URL] [bAbsolute] - используется для перехода на новый уровень.

  • URL - URL карты ,для перемещения.
  • bAbsolute - Если TRUE, то используются абсолютные перемещения.Если False будут использоваться относительные перемещения.
  • ProcessClientTravel [URL] [NextMapGuid] [bSeamless] [bAbsolute] - Уведомляет всех клиентов о переходе на указанный URL.

    • URL - URL карты ,для перемещения.
    • NextMapGuid - GUID версии сервера на следующей карте.
    • bSeamless - Если TRUE,должны быть использованы цельные перемещения.
    • bAbsolute - Если TRUE, то используются абсолютные перемещения.Если False будут использоваться относительные перемещения.

  • SendPlayer [aPlayer] [URL] - отправляет игрока в данный URL.

    • aPlayer - PlayerController игрока которого будут отправлять на новый URL.
    • URL - URL карты ,для перемещения.

  • GetNextMap - Функция которая возвращает карту игрока для перехода на следующий уровень.В подклассах можно изменить это чтобы добавить цикличность карты.
  • GetTravelType - определяет, какой тип перемещения должны быть использованы. Возвращает TRUE для абсолютного путешествия и False для относительной.
  • PreCommitMapChange [PreviousMapName] [NextMapName] - событие вызываемое движком CommitMapChange () перед выгрузкой прежнего уровня.

    • PreviousMapName - название загруженной карты.
    • NextMapName - название загружающейся карты.

  • PostCommitMapChange - событие вызываемое движком CommitMapChange () после выгрузки предыдущего уровня и загрузки нового уровня.
  • GetSeamlessTravelActorList [bToEntry] [ActorList] -. Вызывается движком на сервере во время плавного перехода уровней, чтобы получить список актеров, которые должны быть перемещены в новый уровень layerControllers, Role < ROLE_Authority Actors, , и любой non-Actors, которые находятся внутри Actor , которые есть в списке Object.Outer = Actor= в список все автоматически перемещается независимо от того, что они добавлены.Только динамические (Bstatic и bNoDelete) участники PersistentLevel могут быть перемещены (в том числе все субъекты которые появились в процессе игры).Это вызывается для обеих сторон перехода, потому что Acters могут меняться в то время как (например, игроки могут заходить в игру или покидать её)

    • bToEntry - Если TRUE сервер перемещения от old level -> entry. В противном случае, сервер движется от entry -> new level.
    • ActorList - Out. Выводит массив Acters которые должны быть перемещены.

  • PostSeamlessTravel - Вызывается движком для нового GameInfo после того как ,плавный переход уровней был завершен. Это обычно используется для повторной инициализации игроков уже в игре, так как они не будут иметь вызов Login().
  • HandleSeamlessTravelPlayer [c] - манипулятор повторной инициализации игроков, которые не закончили плавный переход уровней.Вызывается из PostSeamlessTravel () для игроков, которые закончили загрузки на сервер.

    • C - Controller манипулятор игрока.

  • SetSeamlessTravelViewTarget [PC] - Устанавливает ViewTarget для игрока, который остался после плавного перехода уровня.

    • PC - PlayerController установит ViewTarget для игрока.



    Player

    Приношу извинения всем тем кто ждет выхода новых статей.Могу вас огорчить в ближайшие время их не будет.

    Сообщение отредактировал gorlumfan - Пятница, 10 Августа 2012, 00:00
  • Форум игроделов » Движки для разработки игр и сложные системы разработки » Unreal Engine » Русскоязычная документация.с офф сайта. (работа со скриптами в udk(обучающие статьи))
    • Страница 1 из 1
    • 1
    Поиск:

    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг