Как сделать игру на udk

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

Внимание! Этот документ ещё не опубликован.

Обзор

Этот документ представляет собой обзор процесса планирования, производства и публикации игры с использованием движка Unreal Development Kit (UDK). Начало нового проекта с использованием UDK может быть непростой задачей. Движок сложный и не всегда очевидно с чего следует начать и в каком направлении двигаться дальше. Данный обзор поможет вам разобраться и укажет верное направление. Мы рассмотрим основные этапы подготовки к процессу разработки, поможем сориентироваться в документации, дадим общее представление об основных аспектах производственного цикла и базовые знания, необходимые вам для запуска проекта вашей игры.

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

Здесь приведен далеко не полный и не исчерпывающий перечень всех возможных документов Unreal Developer Network и может выясниться, что перечисленные здесь этапы и аспекты разработки не совсем точно соответствуют проекту вашей игры. Этот документ должен дать вам представление о основных методах и инструментах, необходимых для разработки игры с использованием Unreal Development Kit.

Планирование и подготовка производства

Перед началом производства, а фактически перед принятием решения, что Unreal Development Kit точно подходит для реализации вашего проекта, необходимо разобраться с некоторыми важными моментами, чтобы в конечном счете избежать множества ошибок. Вам необходимо точно знать:

Чтобы ответить на эти и другие вопросы, посетите страницу Приступая к работе: Планирование производственного процесса.

Приобретение и установка движка

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

UnrealScript и база кода UE3

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

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

Страница Приступая к работе: Программирование содержит информацию и ссылки на документы, необходимые для работы с Unreal Engine 3.

Создание элементов геймплея

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

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

Создание уровней

Уровни или карты представляют собой наборы элементов, вместе образующие миры или окружения, в которых разворачивается игра. Строительство окружений и миров для вашей игры, очевидно, очень важный аспект производственного цикла. Процесс создания уровней включает в себя широкий набор областей, но в основном он включает в себя размещение различных типов объектов на картах в Unreal Editor и их редактирование средствами Unreal Engine 3.

Так как дизайн уровней в действительности подразумевает широкий спектр дисциплин, может быть несколько специалистов, работающих одновременно над одним и тем же уровнем. Таким образом, один специалист может быть ответственным за уровень в целом, в то время как один или несколько других могут отвечать за сценарии событий с помощью визуальной системы сценариев Kismet, а другие работать над событиями анимации и видеороликами с помощью Matinee. Потоковая система уровней в Unreal Engine 3 делает все это возможным, так как один уровень, называемый потоковым уровнем, может содержать несколько подуровней. Эти подуровни могут содержать сценарии Kismet и последовательности Matinee, позволяя нескольким пользователям работать над одним и тем же уровнем одновременно.

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

Создание контента

Страница Приступая к работе: Создание контента содержит более подробную информацию о каждом из основных типов контента, а также инструкции по их созданию, импорту и редактированию.

Компиляция и тестирование

Множество раз протяжении всего процесса разработки движок и сценарии должны быть построены и скомпилированны для того, чтобы запустить игру для тестирования. Этот процесс был сделан максимально эффективным путем добавления в Unreal Engine 3 нескольких инструментов. Построением и компиляцией занимаются Unreal Build System и Unreal Frontend. Эти средства автоматизации требуют меньшего вмешательства со стороны пользователя, чем в предыдущих версиях движка.

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

Посетите страницу Приступая к работе: Сборка и тестирование для получения общих сведений о процессе сборки и об использовании всех включенных в поставку средств.

Упаковка и распространение

Подготовка и создание новой версии игры, готовой для распространения, является заключительным этапом производственного цикла с использованием Unreal Development Kit. В случаях, когда это критично, важно убедиться, что вы включили только контент, фактически используемый в игре. Также вы должны быть уверены, что вами соблюдены все лицензионные соглашения на программное обеспечение, которое будет поставляться с вашей игрой или от наличия которого зависит возможность запуска и работоспособность вашей игры.

Страница Приступая к работе: Развертывание содержит дополнительную информацию по подготовке игр, сделанных с Unreal Engine 3, к распространению.

Источник

Дмитрий Амоти

Блог обо мне для меня

Создание игры на UDK

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

В этом туториале:
– Как правильно настроить папки и директории для Вашей игры
– Как настроить и скомпилировать скрипты
– Как создать базовую игру от третьего лица используя базовые ресурсы UDK
– Как сконфигурировать INI файлы
– Как создать очень простой уровень
– Как создать простое меню
– Как добавить поддержку нескольких языков
– Как правильно “приготовить” релиз Вашей игры
– Как упаковать и распространять Вашу игру
– Как устранить возможные неполадки

Существует 4 основных типа папок.

Binaries – Содержит game EXE, UnrealFrontEnd и несколько дополнительных программ.
Development – Эта папка содержит исходники UnrealScript файлов. Очень важная директория. Именно отсюда игра берет исходники в виде UC файлов и компилит их в U файлы.
Engine – Здесь хранятся файлы, которые необходимы для корректной работы движка. Не рекомендуется удалять или изменять находящиеся там файлы.
UTGame – Здесь хранятся все файлы Вашей игры. Вся основная работа будет вестись преимущественно в этом каталоге.

В каталоге UTGame есть несколько важных папок.
Config – Содержит INI файлы. Данные файлы очень важны для игры, в них описываются настройки.
Content – Содержит текстуры, модели, звуки и т.п. для игры. Эта папка также имеет очень большое значение.
Localization – Содержит текст диалогов, текст меню и так далее. Все текстовые файлы игры находятся в этой папке.
Movies – Вступительные ролики, ролики с заставок и т.п.
Script – Скомпиленные игровые скрипты
Splash – Сплеш скрины из игры.

Прочие папки в UTGame не очень важны. Если в своей работе вы планируете использовать SVN или подобные ей программы, Вам потребуется добавить рабочую папку “Development”, содержащую девелоперские версии папок UTGame.

В UTGameContent вы найдете отличный контент из UT3. Будет лучше, если Вы скопируете этот контент в другое место, так как в ходе этого туториала в нем будет много изменений.

Для своего проекта рекомендуется создавать отдельные папки. Например
* UTGame\Content\ExampleGame\Levels
* UTGame\Content\ExampleGame\UPK
Две директории. Одна для уровней, другая для UPK файлов (и прочего контента). Вам не требуется создавать биллион контентных папок для Вашего проекта. Большинству игр не требуются столько папок. В качестве примера можно использовать наш проект BALL, который состоит из 1.5 гигабайт данных, которые размещены в 20 папках.

Благодарим Джеймса Тана за примеры UnrealScript файлов, и Маркуса Арвидсона за дополнительную помощь.
Перейдите к директории DevelopmentScr и создайте там новую папку. Для примера – “MyGame”. Имя папки станет именем U файлов. Итак, если ваша игра называется “Bobby” тогда лучшее имя для папки будет “Bobby”. Все unrealscript файлы будут скомпилированы в один U файл, который затем будет использован в игре.
В папке “MyGame” создайте папку Classes, и добавьте три папки из этого архива: MyGameInfo.uc, MyPawn.uc, MyPlayerController.uc

Обращаю Ваше внимание, что это не туториал по unrealscript, поэтому мы проскочим этот шаг достаточно быстро. Основная идея unrealscript состоит в том, что каждый actor имеет свой родительский actor. Младший (child) actor берет на себя все функции и свойства родительского actor’а. Например “class MyPawn extends UTPawn;” – здесь наш новый MyPawn использует UTPawn, как базовый исходник.
Внизу всегда присутствуют “DefaultProperties”. Это свойства и значения, которые будут отображаться в редакторе по умолчанию. Опять же, реальный список свойств гораздо больше, чем в UC файлах которые Вы создали, а Вы должны всего лишь добавить только те свойства, которые отличаются от родительских классов. Если Вы не укажете необходимые параметры в UC файлах, будут использованы данные из родительского класса. Если родительский класс отсутствует или не указан, по умолчанию будет использоваться родитель родителя и так далее. Это древовидная система.

Далее следует компиляция. Для начала мы должны убедиться, что игра узнает о том, что мы добавим в список U файлы. Добавим проверку на новые U файлы. Идем в UTGameConfig и открываем DefaultEngine.ini. Находим секцию “[UnrealEd.EditorEngine]” и добавляем следующую строку “+EditPackages=MyGame” ниже всего, что есть в этой секции.
Вот пример из УДК-ноябрь 2009:

+EditPackages=UTGame
+EditPackages=UTEditor
+EditPackages=UTGameContent
+EditPackages=MyGame

Это очень важно потому, что идет определение, в каком порядке будет происходить загрузка и компиляция.
Данная строка будет постоянно создавать и загружать U файлы в MyGame при запуске редактора. Отключите защиту Read Only, сохраните и закройте файл. Будет хорошей идеей удалить файл UTEngine.ini. Удалив этот файл Вы заставите движок создать новый файл UTEngine.ini на основе DefaultEngine.ini. Если Вы изменяли DefaultEngine.ini, то новый UTEngine.ini будет создан со всеми изменениями, которые Вы внесли.

Далее. Идем в Binaries и запускаем UnrealFrontEnd.exe. Внешний интерфейс является очень важным инструментом, который позволяет сделать целый ряд вещей. В нашем случае, мы будем использовать его для компиляции нашего кода. В верхней панели инструментов жмем на маленькую стрелку, которая находится справа от Make и нажмите Full Recompile.

Если до этого все было сделано правильно, в консоли будет упомянута MyGame, и по окончанию компиляции в папке UTGameScript появится MyGame.u

Откройте UTGame\Config\DefaultGame.ini. Снимите галочку Read Only с файла. Затем откройте файл и найдите секцию “[EngineGameInfo]”.

Замените “DefaultGame=UTGame.UTDeathmatch” на “DefaultGame=MyGame.MyGameInfo”.
Замените строку “PlayerControllerClassName=UTGame.UTPlayerController” на “PlayerControllerClassName=MyGame.MyPlayerController”
Сохранитесь. Удалите UTGame.ini и тогда создастся новый инишник, основанный на Вашем модифицированном DefaultGame.ini

Залетаем в куб. Правой кнопкой на полу – Add Actor – Add PlayerStart.

Теперь делаем тоже самое, только добавляем Add Light и перемещаем источник в середину комнаты. Сохраните уровень. Я назвал этот уровень MG-ExampleGameLevel. Префикс очень важен. В файле MyGameInfo.UC – “MG” указывает на тип геймплея. Без этого префикса движок не будет знать, какой тип геймплея используется на этой карте.
Теперь ребилдим уровень. Верхнее меню – Build – Build All.

Идем к верхнему меню. View – World Properties. Разверните WorldInfo и найдите Game Type for PIE. Измените на MyGameInfo.PIE – информатор типа геймплея в режиме тестирования для редактора.
Теперь правой кнопкой на полу – Play From Here и играйте на своем замечательном уровене в этой игре.

Создайте дубликат текущего уровня. Сохраните его как “ExampleGameFrontEnd”. Теперь создадим сцену для пользовательского интерфейса (UI Scene). Для этого, создадим наш первый пак. Идем в контент браузер, правой клавишей мыши на пустом простанстве, выбираем New. Заполняем поля Package и Name. В качестве основы (Factory) выставляем UIScene. Жмем ОК. После создания дважды кликаем на иконку только что созданной иконки меню.

Правой клавишей в любом месте на пространстве редактора UI сцены – Place Widget – Button (Standart). Изменяйте размер до тех пор, пока края кнопки не окрасятся в зеленый цвет.
Самое время что нибудь сделать используя Кизмет. На самом деле это не очень правильный способ. Правильнее было бы сделать кнопку через Unrealscript (как описано в туториале “Кодовый замок”). Однако кизмет работает также хорошо, но при этом в нем работать гораздо легче.
Итак, щелкните правой кнопкой мыши на иконке и выберите UnrealKismet Editor.

И еще одна вещь, прежде чем мы закончим с этой UI сценой. Кликните на пустом простанстве для вызова свойств UI сцены. Выбираем Flags – Pause Game While Active. Отключите это. Это отключит кизмет-скрипт при старте, да и вообще игра будет стоять на паузе.

Сохраните Ваш пак. Пак должен быть сохранен или изменения, которые Вы внесли будут потеряны! Сохраните его в папке, которую Вы сделали. В моем примере это UTGame\Content\ExampleGame\Content\UPK

Теперь подключим Ваше событие к уровню. Откройте Level Kismet (зеленая K на верхней панели инструментов), и где нибудь на пустом месте add New Action – UI SceneS – Open Scene. Соедините его с Level Startup (New Event – Level Startup). И add the UI Scene, которые Вы добавили в свойства Open Scene.

Дополнительная информация: Level Startup автоматически переименуется в Level Loaded при следующем открытии редактора. Для информации: спокойно используйте New Event – Level Loaded в будущем.
Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk
Add New Event – Remote Event, и New Action – Misc – Console Command. В Remote Event, добавьте то же самое имя в Event Name, что мы ввели для кнопки, “OpenYourLevel” в моем примере. В Console Command добавьте новую команду (если нет поля ввода [0] в Commands, то нажмите на зеленый крестик) “open MG-examplegamelevel” (команда open, после пробел не забудьте далее имя уровня, открывает карту) – или имя Вашего игрового уровня (аналогично делается переход между картами). Консольная команда будет выполнена, когда будет нажата кнопка.

Теперь добавьте Action – Toggle – Toggle Cinematic Mode, и переменную Variable – Player – All Players и сцепите их как на скриншоте.

Все сделано! Проверьте. Но редактор не выполнит команду “open”. Поэтому запустите этот уровень на PC (джостик с экраном, рядом с простым джостиком).

Файлы локализации содержат в себе весь текст игры. Для смены языка игры, все что Вам нужно, это переключить игру на использование другого языкового файла. Все необходимое содержится в папке Licalization. Мы настроим очень просто INT файл “International” с двумя строками текста.
Я конечно же, удалил текущие файлы INT из директории Licalization и начал все с нуля. Это лишит Вас возможности играть в UT3 Demo, так что если Вы планируете запускать или как либо еще использовать это демо – либо не делайте этого, либо сохраните данную папку в другом месте. Прежде всего, закройте редактор. Редактор обнаруживает INT файлы при запуске, но не обновляет их наличие или изменения в реальном времени.
Создайте TXT файл и переименуйте его в “MyGame.int”. Затем добавьте в документ:

[ExampleOfASection]
01 = Название кнопки запуска
02 = Для начала нажмите кнопку

Слова в скобках помогают определить секцию. 01 и 02 помогают определить направления в этом разделе.
Снова откройте редактор. Откройте Ваш уровень и пак интерфейса. Откройте UI Scene, которую Вы недавно создали. Нажмите правой клавишей мыши – Place Widget – Label [Standart], а затем сделайте это еще раз, потому что нам нужно 2 таких виджета. Поместите их куда нибудь и нажмите на один из них. В верхнем правом углу обратите внимание на свойства. Перейдите к Data – Data Source – Mark Up String.
Введите “strings:mygame.ExampleOfASection.01” (заключите это выражение в значки больше меньше, как на скриншоте, движок этого сайта, понимает их как таг, поэтому не отображаются <>) в поле Mark Up String.
Здесь ИмяФайла.ИмяСекции.ИмяСтроки.

Давайте вернемся к INI файлам, и много чего поправим. Закройте редактор. Вы не сможете изменять INI файлы в то время, когда редактор запущен.

Откройте DefaultEngine.ini – секция [URL]

MapExt=Udk – Вам нет необходимости это редактировать, но если Вы хотите сменить расширение уровня, здесь это сделать очень легко.
Map=UTFrontEnd.udk – Смените на ExampleGameFrontEnd. Это откроет Ваше меню на уровне по умолчанию.
LocalMap=UTFrontEnd.udk – аналогично.

Секция [Engine.PackagesToAlwaysCook], добавьте “+Package=ExampleGameFrontEnd”. Это для постоянного обновления файлов игры.

Секция [Engine.StartupPackages], добавьте “+Package=MyGameInterface”. Благодаря этому игра будет постоянно загружать данный пак. Обращаю Ваше внимание, что все паки сюда добавлять не нужно. Имеет смысл добавить только паки с файлами интерфейса, так как они загружаются в первую очередь.

Секция [Engine.PackagesToForceCookPerMap], добавить “.Map=ExampleGameFrontend”, сопровождаемый “.Package=MyGameInterface.” Загружает эти паки на уровень и только на этот уровень. Но опять же. Это в основном наши паки интерфейса. Иногда, с загрузкой обычным способом могут возникать проблемы. Эти команды помогут загрузить наши паки первыми. (все остальное подгружать при загрузке уровня)

Секция опций [FullScreenMovie]. Данная команды, который будут в этом разделе, запустятся самыми первыми, например сюда вставляют заставку игры.

Источник

Туториал по Unreal Engine. Часть 5: Как создать простую игру

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

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

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

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Учтите, что в этой части мы будем пользоваться Blueprints и UMG. Если вам нужно освежить свои знания, то прочитайте части, посвящённые Blueprints и UI.

Примечание: эта статья является одной из восьми частей туториала по Unreal Engine:

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

Скачайте заготовку проекта и распакуйте её. Перейдите в папку проекта и откройте InfiniteMatrix.uproject.

Примечание: если откроется окно, сообщающее, что проект создан в более ранней версии Unreal editor, то всё в порядке (движок часто обновляется). Можно или выбрать опцию создания копии, или опцию преобразования самого проекта.

Нажмите на Play, чтобы проверить управление движением. Двигая мышью, можно перемещаться вертикально и горизонтально.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Первое, что нам нужно сделать — заставить игрока постоянно двигаться.

Движение игрока вперёд

Перейдите в папку Blueprints и откройте BP_Player.

Чтобы двигать игрока вперёд, нужно добавлять в каждом кадре к местоположению игрока смещение.

Во-первых, нам нужно создать переменную, задающую скорость движения игрока вперёд. Создайте переменную Float по названием ForwardSpeed и задайте значение по умолчанию 2000.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Теперь перейдите в Event Graph и найдите нод Event Tick. Создайте следующую схему:

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Умножая ForwardSpeed на Delta Seconds, мы получим независимый от частоты кадров результат.

Примечание: если вам непонятно, что такое независимость от частоты кадров, то прочитайте часть туториала про Blueprints. Мы разбираем её в разделе Независимость от частоты кадров.

Теперь нам нужно использовать этот результат, чтобы перемещать игрока по одной оси.

Движение вдоль одной оси

Чтобы перемещать игрока, создайте нод AddActorWorldOffset. Измените значение Sweep на true, нажав на флажок.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Если попробовать соединить результат Float с входом Delta Location, то Unreal автоматически преобразует его в Vector.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Однако таким образом значение Float будет записано в компоненты X, Y и Z вектора. Для нашей игры движение вперёд должно выполняться только вдоль оси X. К счастью, можно разделить Vector на три компонента Float.

Убедитесь, что контакт Delta Location нода AddActorWorldOffset ни с чем не соединён. Нажмите правой клавишей мыши на контакт Delta Location и выберите Split Struct Pin.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Наконец, соедините всё следующим образом:

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Вместо расположения туннелей вручную мы можем создать Blueprint, автоматически спаунящий туннели.

Создание системы спауна туннелей

Перейдите в Content Browser и зайдите в папку Blueprints. Создайте новый Blueprint Class с родительским классом Actor. Назовите его BP_TunnelSpawner и откройте его.

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

Чтобы передавать функции местоположение, функции нужен входной параметр. Они будут отображаться при вызове функции как входные контакты.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Также они будут отображаться как выходные контакты нода Entry функции.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Давайте создадим входной параметр. Перейдите в граф функции SpawnTunnel. Выберите нод Entry и перейдите в панель Details. Нажмите на значок + рядом с разделом Inputs.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Переименуйте входной параметр в SpawnLocation и смените его тип на Vector.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Чтобы создать туннель, добавьте нод Spawn Actor From Class. Нажмите на раскрывающийся список, расположенный справа от контакта Class и выберите BP_Tunnel.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Чтобы задать местоположение спауна, нажмите правой клавишей на контакт Spawn Transform и выберите Split Struct Pin. Затем соедините нод Spawn Actor From Class с нодом Entry:

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Теперь при вызове функции SpawnTunnel она будет спаунить экземпляр BP_Tunnel в переданном ей местоположении.

Давайте проверим, как это работает!

Проверка системы спауна туннелей

Переключитесь на Event Graph и найдите нод Event BeginPlay. Добавьте нод SpawnTunnel и соедините его с нодом Event BeginPlay.

В ноде SpawnTunnel задайте Spawn Location значение (2000, 0, 500).

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

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

Сначала удалите BP_Tunnel из уровня. Для этого щёлкните на BP_Tunnel в World Outliner. Затем нажмите на клавишу Delete, чтобы удалить его с уровня.

Затем перейдите в Content Browser. Перетащите левой клавишей мыши BP_TunnelSpawner во Viewport. Благодаря этому его экземпляр появится на уровне.

Если нажать на Play, то игра будет спаунить туннель сверху и перед игроком.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Закончив проверку, вернитесь к BP_TunnelSpawner. Сбросьте значения Spawn Location нода SpawnTunnel на (0, 0, 0).

После этого нажмите на Compile и вернитесь в основной редактор.

В следующем разделе мы настроим работу BP_Tunnel.

Настройка Blueprint туннеля

BP_Tunnel будет выполнять две задачи. Во-первых, он будет определять, когда игра должна создать новый туннель. Для этого мы создадим зону триггера. После срабатывания триггера BP_Tunnel будет сообщать BP_TunnelSpawner, что нужно создать новый туннель. Благодаря этому можно создать иллюзию бесконечного туннеля.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Во-вторых, он будет задавать точку спауна. После этого BP_TunnelSpawner будет использовать эту точку как следующее местоположение спауна.

Давайте начнём с создания зоны триггера.

Создание зоны триггера

Откройте BP_Tunnel и перейдите в панель Components. Добавьте компонент Box Collision и назовите его TriggerZone.

Пока область коллизии довольно мала. Перейдите в панель Details и найдите раздел Shape. Задайте свойству Box Extent значения (32, 500, 500).

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Теперь задайте свойству Location значения (2532, 0, 0). Это разместит TriggerZone прямо в конец меша туннеля. Это значит, что новый туннель должен будет создаваться только когда игрок достигнет конца туннеля.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Теперь настало время создать точку спауна.

Создание точки спауна

Для задания местоположения точки спауна можно использовать компонент Scene. Эти компоненты идеально подходят для задания местоположений, потому что у них есть только Transform. Кроме того, они видимы во Viewport, поэтому вы можете видеть, где находится точка спауна.

Перейдите в панель Components и убедитесь, что ничего не выбрано. Добавьте компонент Scene и переименуйте его в SpawnPoint.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Меш туннеля имеет длину 2500 единиц по оси X, поэтому именно здесь должна быть точка присоединения. Перейдите в панель Details и задайте свойству Location значения (2500, 0, 0).

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Следующее, что нужно сделать — создать функцию, которая спаунит туннель в SpawnPoint.

Создание туннелей в точке спауна

Нажмите на Compile и переключитесь на BP_TunnelSpawner.

Следующий BP_Tunnel должен спауниться в SpawnPoint самого дальнего туннеля. Благодаря этому туннель всегда будет продолжаться.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Поскольку самый дальний туннель всегда будет последним созданным, то нам легко получить ссылку на него.

Откройте граф SpawnTunnel. Нажмите правой клавишей мыши на контакте Return Value нода Spawn Actor From Class. Выберите Promote to Variable и переименуйте переменную в NewestTunnel.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Теперь у нас всегда будет ссылка на самый дальний туннель.

Далее создайте новую функцию и назовите её SpawnTunnelAtSpawnPoint. Создайте следующий граф:

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Эта схема будет получать самый новый туннель и местоположение его компонента SpawnPoint, после чего спаунить новый туннель в этом местоположении.

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

Создание ссылки на спаунер туннелей

Нажмите на Compile и закройте граф SpawnTunnelAtSpawnPoint. Переключитесь на BP_Tunnel.

Добавьте новую переменную и назовите её TunnelSpawner. В качестве Variable Type выберите BP_TunnelSpawner\Object Reference.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Нажмите на Compile и переключитесь на BP_TunnelSpawner.

Откройте граф SpawnTunnel и добавьте обозначенные ноды:

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Теперь у каждого туннеля будет ссылка на BP_TunnelSpawner.

Далее нужно сообщить BP_TunnelSpawner о необходимости спауна следующего туннеля, когда игрок входит в TriggerZone.

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

Нажмите на Compile и переключитесь на BP_Tunnel.

Перейдите в панель Components и нажмите правой клавишей на TriggerZone. Выберите Add Event\Add OnComponentBeginOverlap. Это добавит в Event Graph следующий нод:

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Этот нод будет выполняться когда другой Actor касается TriggerZone.

Сначала нам нужно проверить, является ли Actor, касающийся TriggerZone, игроком.

Перетащите контакт Other Actor. Отпустите левую клавишу мыши в пустом пространстве и выберите в меню Cast to BP_Player.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Примечание: туннель спаунится в конце другого туннеля, поэтому он приведёт к срабатыванию триггера TriggerZone этого туннеля. Cast to BP_Player предотвращает выполнение всех дальнейших нодов, если Other Actor является туннелем.

Теперь добавим обозначенные ноды после нода Cast to BP_Player:

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Давайте посмотрим, что здесь происходит пошагово:

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

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

Создание нескольких туннелей

Первое, что нужно сделать — создать функцию, создающую определённое количество туннелей.

Откройте BP_TunnelSpawner и создайте новую функцию с названием SpawnInitialTunnels.

Чтобы спаунить определённое количество туннелей, можно использовать нод ForLoop. Этот нод будет выполнять соединённые с ним ноды указанное количество раз. Добавьте нод ForLoop и соедините его с нодом Entry.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Чтобы нод ForLoop выполнялся n раз, необходимо задать для Last Index значение n – 1.

В этом туториале мы будем спаунить три туннеля. Для выполнения трёх циклов задайте Last Index значение 2.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Примечание: если не задать поля First Index или Last Index, то по умолчанию они будут равны 0.
Когда игра начинается, игрок всегда должен находиться в туннеле. Для этого можно создать первый туннель в местоположении игрока.

Создание первого туннеля

Чтобы определить, был ли создан первый туннель, мы можем проверить, задано ли NewestTunnel. Если нет, то это значит, что первый туннель ещё не создан, потому что NewestTunnel задаётся только после того, как игра создаст туннель.

Чтобы выполнить эту проверку, добавим нод IsValid (на котором есть знак вопроса) после нода ForLoop.

Затем получим ссылку на NewestTunnel и соединим её с контактом Input Object нода IsValid.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Если NewestTunnel не задан, то будет выполнен нод Is Not Valid, и наоборот.

Добавьте следующее и соедините ноды с контактом Is Not Valid нода IsValid:

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Эта схема будет создавать туннель в местоположении Pawn игрока.

Затем нам нужно создать следующие туннели.

Создание следующих туннелей

Добавьте нод SpawnTunnelAtAttachPoint и соедините его с контактом Is Valid нода IsValid.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Вот как выглядит готовый граф:

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Нажмите на Compile, вернитесь в основной редактор и нажмите на Play. Теперь туннель стал гораздо длиннее!

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Игра пока не очень сложна, так что давайте добавим препятствия.

Создание препятствий

Вот меши, которые мы будем использовать как препятствия:

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Откройте BP_Tunnel и перейдите в панель Components. Добавьте компонент Static Mesh и назовите его WallMesh.

Перейдите в панель Details и измените его свойство Static Mesh на SM_Hole_01.

Затем задайте его свойству Location значение (2470, 0, 0), расположив его таким образом в конце туннеля.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Чтобы сделать игру интереснее, стены должны ещё и вращаться. Добавим новую переменную Float и назовём её RotateSpeed. Зададим Default Value значение 30.

Переключитесь в Event Graph и найдите нод Event Tick. Создайте следующую схему:

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Это заставит WallMesh поворачиваться каждый кадр на заданную величину.

Нажмите на Compile и вернитесь к основному редактору. Нажмите на Play, чтобы увидеть, как поворачиваются стены.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Давайте сделаем игру ещё интереснее, добавив стенам вариативности.

Создание вариаций стен

Вместо создания нового Blueprint для каждой вариации, мы можем просто рандомизировать WallMesh.

Откройте BP_Tunnel и создайте новую функцию под названием RandomizeWall. Затем создайте следующий граф:

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Как следует из названия, нод Set Static Mesh будет задавать WallMesh переданный меш.

Чтобы создать список статичных мешей, можно использовать нод Select.

Перетащите контакт New Mesh. Отпустите левую клавишу мыши на пустом пространстве и добавьте нод Select.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Нод Select позволяет задать список вариантов. Вход Index определяет, какой вариант будет выводить нод Select.

У нас есть четыре меша стен, поэтому нужно создать ещё два контакта Option. Это можно сделать правым щелчком на ноде Select, выбрав Add Option Pin. Повторяйте эту операцию, пока у вас не будет четыре контакта Option.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Теперь задайте каждому варианту следующие значения:

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Теперь сделаем так, чтобы выбирался случайный вариант.

Рандомизация стен

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Если вы столкнётесь со стеной. то перестанете двигаться вперёд. Однако если продолжите двигаться и пройдёте сквозь отверстие, то снова начнёте двигаться вперёд.

Следующим шагом будет отключение движения вперёд после столкновения игрока со стеной.

Обработка коллизий со стенами

Для включения и отключения движения вперёд можно использовать переменную Boolean. Она имеет всего два состояния: true и false.

Откройте BP_Player и создайте новую переменную Boolean под названием IsDead.

Перейдите к ноду Event Tick и создайте нод Branch.

Теперь получите ссылку на IsDead и соедините его с контактом Condition нода Branch.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Соедините нод Event Tick с нодом Branch. Затем соедините контакт False нода Branch с нодом AddActorWorldOffset.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Теперь когда IsDead равно true, игрок будет останавливаться.

Теперь нужно задавать переменную IsDead, когда игрок сталкивается со стеной.

Задание переменной IsDead

Нажмите на Compile и переключитесь на BP_Tunnel. В панели Components нажмите правой клавишей мыши на WallMesh и выберите Add Event\Add OnComponentHit. Это добавить в Event Graph следующий нод:

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Этот нод будет выполняться при столкновении другого Actor с WallMesh.

Во-первых, нам нужно проверить, является ли игроком Actor, столкнувшийся с WallMesh.

Перетащите контакт Other Actor. Отпустите левую клавишу мыши на пустом пространстве и выберите в меню Cast to BP_Player.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Перетащите контакт BP_Player нода Cast to BP_Player. Отпустите левую клавишу на пустом пространстве и добавьте нод Set Is Dead.

Задайте IsDead значение true, поставив флажок.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Нажмите на Compile и вернитесь к основному редактору. Нажмите на Play и попробуйте столкнуться со стеной. Если вы переместитесь к отверстию, то не будете двигаться сквозь него дальше.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

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

Отображение кнопки перезапуска

Виджет, который мы будем отображать, называется WBP_Restart. Его можно найти в папке UI. Вот как он выглядит:

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Чтобы отобразить или скрыть виджет, нам нужна ссылка на него. Откройте BP_Player и создайте новую переменную RestartWidget. Измените Variable Type на WBP_Restart\Object Reference.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Затем перейдите в Event Graph и найдите нод Event BeginPlay.

Добавьте нод Create Widget и задайте Class значение WBP_Restart.

Теперь добавьте нод Set Restart Widget и соедините всё следующим образом:

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Теперь при спауне игрока мы будем создавать экземпляр WBP_Restart. Следующим шагом будет создание функции, отображающей этот экземпляр.

Создание функции отображения

Создайте новую функцию и назовите её DisplayRestart. Сделав это, создайте следующий граф:

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Вызов функции отображения

Закройте граф DisplayRestart и нажмите на Compile.

Переключитесь на BP_Tunnel и найдите нод On Component Hit (WallMesh).

Добавьте нод DisplayRestart в конец цепочки нодов.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Нажмите на Compile и закройте BP_Tunnel. Вернитесь к основному редактору и нажмите на Play. Когда игрок сталкивается со стеной, отображается кнопка перезапуска.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Последним шагом будет перезапуск игры при нажатии на кнопку.

Перезапуск игры

При перезапуске игра должна выполнять два действия:

Сброс игрока

Откройте BP_Player и создайте новую функцию RestartGame. Создайте следующий граф:

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Повторное создание туннелей

Нажмите на Compile и закройте BP_Player.

Откройте BP_TunnelSpawner и перейдите в граф SpawnInitialTunnels.

Во-первых, перед созданием новых туннелей нам нужно удалить уже имеющиеся.

Добавьте нод Sequence после нода Entry. Соедините контакт Then 1 с нодом ForLoop.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Примечание: нод Sequence выполняет свои выходы в последовательном порядке. Это отличный способ упорядочить граф вертикально, особенно когда цепочки нодов очень длинные.

Затем создайте следующие ноды:

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Эта схема получит все существующие туннели и удалит их из игры.

Наконец, соединим контакт Then 0 нода Sequence с нодом Get All Actors of Class. Благодаря этому туннели удалятся до процесса создания.

Вот как выглядит конечный граф:

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Последнее, что нужно сделать — обработать нажатие на кнопку.

Обработка нажатий на кнопку

Нажмите на Compile и закройте BP_TunnelSpawner.

Перейдите в Content Browser и найдите папку UI. Дважды щёлкните на WBP_Restart, чтобы открыть его.

Выберите RestartButton и перейдите к панели Details. Перейдите в раздел Events и нажмите на кнопку рядом с OnClicked.

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Это создаст нод On Clicked (RestartButton). Этот нод выполняется, когда игрок нажимает на RestartButton.

Воссоздайте следующую схему:

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Нажмите на Compile и закройте Blueprint editor. Нажмите на Play, чтобы проверить работу кнопки перезапуска!

Как сделать игру на udk. Смотреть фото Как сделать игру на udk. Смотреть картинку Как сделать игру на udk. Картинка про Как сделать игру на udk. Фото Как сделать игру на udk

Куда двигаться дальше?

Скачать готовый проект можно здесь.

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

Попробуйте также реализовать простые классические игры типа Pong и Tetris. Механика этих игр проста, но может вызывать сложности в реализации.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *