08 Марта 2016

Если бы у Императора был преобразователь текста в речь. Эпизод 14: Величайший из псайкеров

Для трёх процентов моих подписчиков, подарок в этот чудный весенний день!

Мой мурлыка

Мой мурлыка Кот, Милота
Мой мурлыка Кот, Милота
Мой мурлыка Кот, Милота
Показать полностью 2

Мебель по образцам

В СССР могли похвастаться многим но не разнообразием товаров

SCP-1981 - "РОНАЛЬДА РЕЙГАНА ИЗРЕЗАЛИ ВО ВРЕМЯ РЕЧИ"

SCP-1981 - "РОНАЛЬДА РЕЙГАНА ИЗРЕЗАЛИ ВО ВРЕМЯ РЕЧИ"

Вырезанное из дуба кресло

Вырезанное из дуба кресло Творчество, Дуб, Дерево, Золотые руки
Показать полностью 1

Unreal Engine 4. Разработка 3D / VR Игр №1. Введение в UE4 и первый скрипт на BLUEPRINT.

Доброго времени суток, все, кто подписался или просто проходил мимо. Ранее я писал, что на выходных будет первый вводный урок по UE4, собственно, настало это время!


Нам понадобится сам движок UE4 версии 4.10.X и Visual Studio 2015 Community. Все это доступно бесплатно. Все ссылки и требования по железу я описывал в нулевом ПОСТЕ


Начнем с создания проекта. Как я и писал ранее, будем комбинировать BP и C++. Запускаем из лаунчера движок, жмем New Project, выбираем C++ и из списка примеров берем FirstPerson, выбираем путь и придумываем название.

Unreal Engine 4. Разработка 3D / VR Игр №1. Введение в UE4 и первый скрипт на BLUEPRINT. Длиннопост, Длиннотекст, Unreal Engine 4, Ue4, Blueprint, Видео

Чтобы сразу пояснить что и как, возьмем проект с примером для первого урока, а далее будем менять его с каждым новым уроком. Зачем? А чтобы сразу же не заваливать вас информацией о сборке уровней, настройках света, настройке персонажа игрока и т.д. и т.п. В стартовом проекте будет персонаж (ну как персонаж... Просто руки с оружием и камерой в центре) и оружие, стреляющее шариками. Все это мы благополучно выпилим в следующих уроках и сделаем нечто более интересное, похожее на игру)

После генерации кода вы увидите интерфейс движка с превью уровня. В этом уроке мы как раз и поговорим про сам движок и про BP.

Unreal Engine 4. Разработка 3D / VR Игр №1. Введение в UE4 и первый скрипт на BLUEPRINT. Длиннопост, Длиннотекст, Unreal Engine 4, Ue4, Blueprint, Видео

Описание интерфейса UEEditor.

Content Browser.

Здесь находится весь контент вашего проекта и его исходники. Через него вы можете добавлять новые классы, импортировать различные объекты и т.д.

Unreal Engine 4. Разработка 3D / VR Игр №1. Введение в UE4 и первый скрипт на BLUEPRINT. Длиннопост, Длиннотекст, Unreal Engine 4, Ue4, Blueprint, Видео

Details.

Это используется для настройки свойств выбранного на уровне актера. Здесь будут и созданные вами переменные, и стандартные для родительского класса параметры.

Unreal Engine 4. Разработка 3D / VR Игр №1. Введение в UE4 и первый скрипт на BLUEPRINT. Длиннопост, Длиннотекст, Unreal Engine 4, Ue4, Blueprint, Видео

World outliner.

Здесь находится список всех "актеров", которые находятся на сцене вашего уровня. Почему актеры? В UE4 есть класс AActor, от которого наследуется большая часть всех базовых классов, что есть в движке. Если вы что то видите в игре на сцене - это актер или меш, или система частиц... АЙ, если вы видите что то в игре на сцене, то, скорее всего, это актер. Если в коде перед именем класса стоит префикс A - значит этот класс является наследником от актера или от чего то, что тоже было наследовано от него. Вообще, у эпиков есть статья на их вики со стандартами кода, да и документацией к SDK. Но вкратце и по теме:


Классы наследованные от AActor имеют префикс A

Классы наследованные от UObject имеют префикс U

Классы наследованные от SWidget имеют префикс S

Абстрактные интерфейсы имеют префикс I

Структуры имеют префикс F

Unreal Engine 4. Разработка 3D / VR Игр №1. Введение в UE4 и первый скрипт на BLUEPRINT. Длиннопост, Длиннотекст, Unreal Engine 4, Ue4, Blueprint, Видео

Wievport.

Это превьюшка вашего уровня, в которой вы производите различные действия над уровнем и актерами на нем.

На том же вьюпорте имеются кнопки для редактирования выбранных актеров.


1. Переместить, вращать, растянуть.

2. Изменение чувствительности перемещения, вращения, растягивания.

3. Скорость перемещения камеры во время редактирования уровня.

4. Кнопки слева позволяют выбирать плоскость в которой отображается уровень, режим отображения объектов, отображение каких-то областей (например там включается отображение нав меша - области, по которой могут перемещаться ИИ).


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


Панель над вьюпортом.

На ней находятся кнопки сохранения, открытия браузера контента, настроек проекта в целом, открытия/создания BP игры, уровня, сборки графики и различных параметров из движка(свет, геометрия, навигация), компиляция (Запускает компиляцию исходников вашего проекта. Через эдитор это происходит дольше, чем из студии), воспроизведение (Запуск игры на вьюпорте, и настройка параметров запуска). Launch уже собирает проект в exe файл (на самом деле не только exe, зависит от выбранных целевых платформ)

Unreal Engine 4. Разработка 3D / VR Игр №1. Введение в UE4 и первый скрипт на BLUEPRINT. Длиннопост, Длиннотекст, Unreal Engine 4, Ue4, Blueprint, Видео

Modes.

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

Unreal Engine 4. Разработка 3D / VR Игр №1. Введение в UE4 и первый скрипт на BLUEPRINT. Длиннопост, Длиннотекст, Unreal Engine 4, Ue4, Blueprint, Видео

Для примера, давайте найдем объект Text Render и перетянем его из списка на уровень, зажав ЛКМ. Появится строка с текстом "Text". Повернем на 180 градусов нашу строчку. В свойствах поменяем текст на "Pikabu", сменим цвет и размер шрифта.

Unreal Engine 4. Разработка 3D / VR Игр №1. Введение в UE4 и первый скрипт на BLUEPRINT. Длиннопост, Длиннотекст, Unreal Engine 4, Ue4, Blueprint, Видео
Unreal Engine 4. Разработка 3D / VR Игр №1. Введение в UE4 и первый скрипт на BLUEPRINT. Длиннопост, Длиннотекст, Unreal Engine 4, Ue4, Blueprint, Видео
Unreal Engine 4. Разработка 3D / VR Игр №1. Введение в UE4 и первый скрипт на BLUEPRINT. Длиннопост, Длиннотекст, Unreal Engine 4, Ue4, Blueprint, Видео

Давайте немного поиграемся с BLUEPRINT.

BP - это визуальный скриптинг в движке UE4. Если говорить проще, то это программирование мышкой. Ранее я обещал рассказать о плюсах и минусах, так что давайте начнем с хороших его сторон. (Опишу основное, другие достоинства или недостатки будут всплывать в процессе)

BP ооочень быстро компилируется, если сравнивать его с C++, следовательно, на нем можно очень быстро протестировать право на жизнь какого-то алгоритма, вашей идеи, или чтобы просто посмотреть как работает какая-либо функция. В нем есть все те же функции, что и в C++, но большинством из них гораздо удобнее пользоваться в BP. (Кстати, некоторые BP функции не доступны для использования в C++)


BP - это мощьный и очень удобный инструмент. Он идеален для простых объектов. В итоге, как ни старайся, но вы все-равно им будете пользоваться. Например, написав класс персонажа игрока, вам нужно будет создать BP, наследованный от вашего класса, чтобы выбрать модельку, выставить параметры и т.д. Редактор материалов в UE4 тоже работает на BP. Анимационный блюпринт делается тоже на BP (о нем в следующих уроках). Можно довольно быстро создавать события, которыми достаточно удобно пользоваться. Мультиплеер на BP делается проще, чем на C++, но местами связывает руки по возможностям.


Но, если говорить о плохих сторонах...

Отлаживать код на BP жутко не удобно. Если объект сложный, то появляется огромное количество "макоронин" от связей между блоками, в которых потом будет очень сложно разобраться (C++ тут удобнее). Не очень удобно комментировать. Некоторые вещи на бп просто не реализуемы т.к. отлаживать это все жутко муторно.

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


Давайте посмотрим что вообще представляет из себя BP или комбинация C++ с BP.
Сразу же даю скриншот BP и куска .h файла от класса нашего персонажа. Описание всего под картинкой.

Unreal Engine 4. Разработка 3D / VR Игр №1. Введение в UE4 и первый скрипт на BLUEPRINT. Длиннопост, Длиннотекст, Unreal Engine 4, Ue4, Blueprint, Видео
Unreal Engine 4. Разработка 3D / VR Игр №1. Введение в UE4 и первый скрипт на BLUEPRINT. Длиннопост, Длиннотекст, Unreal Engine 4, Ue4, Blueprint, Видео

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


Если открыть исходники нашего персонажа, в .h файле мы сможем увидеть те самые компоненты, отображаемые в BP и переменные, которые также видны в BP, если выбрать в списке компонентов верхний объект с поменткой "self", т.е. параментры самого класса. Обратите внимание на то, что в коде на C++ у макроса UPROPERTY указывается категория, и все переменные в BP располагаются по этим самым категориям, т.е. мы можем отсортировать наши переменные по ним так, чтобы в дальнейшем можно было проще их находить для изменения.


В данном случае у нас нет BP скриптов, у нас все прописано через C++, и просто выведены параметры персонажа в BP, чтобы можно было их быстро редактировать, не компилируя по пол дня из-за изменения значений пары переменных проект целиком из исходников. Довольно удобно, не правда ли?)

Это был такой маленький обзорчик BP, а теперь, по старым традициям, сделаем что то очень простое, вроде "Hello World!", но на BP. 

Давайте найдем в контент браузере папку Geometry, а в ней папку Meshes. Там вы найдете меш (3D объект) куба с именем "1M_Cube". Жмите правой кнопкой -> Asset Actions -> Create blueprint using this. Далее выбирайте папку, в которую вы хотите создать BP-класс и пишите имя. Кстати, я всегда приписываю префикс BP_ к блюпринт классам, чтобы потом в настройках чего-либо было проще находить нужное. Т.е. иногда нужен BP-класс, а иногда C++, а так их будет проще различать.

Unreal Engine 4. Разработка 3D / VR Игр №1. Введение в UE4 и первый скрипт на BLUEPRINT. Длиннопост, Длиннотекст, Unreal Engine 4, Ue4, Blueprint, Видео

Так-с здесь бы пришлось слишком много писать и втыкать скриншотов, получилось бы очень не понятно, по-этому ВИДЕО! Да, видео, коротенькое, где можно посмотреть, как работать с BP и что из этого получается)

Вот такой вот у нас получился вращающийся и горящий "Hello World"-кубик :)

Частично познакомились с движком, все-равно многое осталось не понятным, но это же не последний урок. Самое интересное еще впереди!)


Может стоит весь формат выпусков переделать в видео? А то как то это все очень долго реализуется... Ну не суть, обдумается.


А вот и ссылочка на проект. Она будет актуальной всегда и проект по ней будет всегда от последнего урока: ГУГЛОДИСКОССЫЛКА


P.S. Если ткнуть на файл проекта UE4, появится список, в котором можно сгенерировать проект Visual Studio, не запуская сам движок. Если у вас установлена Visual Studio 2015 и сам движок, то при запуске проекта, он предложит его скомпилить, после чего запустит проект. Через Visual Studio просто ждем пока пройдет индексация и запускаем проект, как любой другой. В итоге запустится Editor. 

Unreal Engine 4. Разработка 3D / VR Игр №1. Введение в UE4 и первый скрипт на BLUEPRINT. Длиннопост, Длиннотекст, Unreal Engine 4, Ue4, Blueprint, Видео

Спасибо, что прочитали этот длиннотекст, далее, наверное, будем играться с классом персонажа, его анимациями перемещения и оружием :) 
Всем удачи и, пользуясь случаем, поздравлю всех дам с 8 марта!

Unreal Engine 4. Разработка 3D / VR Игр №1. Введение в UE4 и первый скрипт на BLUEPRINT. Длиннопост, Длиннотекст, Unreal Engine 4, Ue4, Blueprint, Видео
Показать полностью 15 1

И правда

И правда

Поиграем в бизнесменов?

Одна вакансия, два кандидата. Сможете выбрать лучшего? И так пять раз.

СДЕЛАТЬ ВЫБОР

Когда Яндекс попытался, но...

В ответ на пост http://pikabu.ru/story/kogda_myer_dazhe_ne_pyitalsya_4049083

Когда Яндекс попытался, но... Рассылка, Письмо
Показать полностью 1
Мои подписки
Подписывайтесь на интересные вам теги, сообщества, авторов — и читайте свои любимые темы в этой ленте.
Чтобы добавить подписку, нужно авторизоваться.

Отличная работа, все прочитано! Выберите