unreal engine 4 примеры кода

Unreal engine 4 примеры кода

unreal engine 4 примеры кода. image 0. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image 0. картинка unreal engine 4 примеры кода. картинка image 0. //потключены 3 библиотеки

unreal engine 4 примеры кода. image 1. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image 1. картинка unreal engine 4 примеры кода. картинка image 1. //потключены 3 библиотеки

unreal engine 4 примеры кода. image 2. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image 2. картинка unreal engine 4 примеры кода. картинка image 2. //потключены 3 библиотеки

Actor.h

//потключены 3 библиотеки

//метка что начинаеться описание класса

//начало описание гласа

class AMyActor : public AActor

//метка что это начало тела класса

//обьявление публичных методов

//Функция срабатывающая при создании класса в UE4

//Функция срабатывает при каждом создании класса на сцене во время игры

virtual void BeginPlay() override ;

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

virtual void Tick( float DeltaSeconds) override ;

Actor.cpp конструктор

//включает отслеживангие каждого обновления игры

Создание редактируемого параметра видимого из Unreal Editor

//при создании класса

class AMyActor : public AActor

//указываем что данный параметр будет виден из редактора

//переменная типа целого числа которая будет хранить значение

Добавляем 3 параметра

class AMyActor : public AActor

//переменная общий урон

UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = «Damage» )

//Получаемый урон в секундах

UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = «Damage» )

//Возможный разовый молучаемый урон в секунду

UPROPERTY(BlueprintReadOnly, VisibleAnywhere, Transient, Category = «Damage» )

unreal engine 4 примеры кода. image 7. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image 7. картинка unreal engine 4 примеры кода. картинка image 7. //потключены 3 библиотеки

unreal engine 4 примеры кода. image 9. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image 9. картинка unreal engine 4 примеры кода. картинка image 9. //потключены 3 библиотеки

unreal engine 4 примеры кода. image 3. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image 3. картинка unreal engine 4 примеры кода. картинка image 3. //потключены 3 библиотеки

Зададим в конструкторе значения по умолчанию

AMyActor::AMyActor()
<
//зададим 1 параметр
TotalDamage = 200;
//задаим 2 параметр
DamageTimeInSeconds = 1.f;
>

unreal engine 4 примеры кода. image 4. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image 4. картинка unreal engine 4 примеры кода. картинка image 4. //потключены 3 библиотеки

создание функций изменения параметра

//функция срабатывает во время обновления настроек на экране
void AMyActor::PostInitProperties()
<
Super::PostInitProperties();

CalculateValues();
>
//наша функция расчета параметра
void AMyActor::CalculateValues()
<
DamagePerSecond = TotalDamage / DamageTimeInSeconds;
>
//если произойдет событие смены значений то выполниться данная функция
#if WITH_EDITOR
void AMyActor::PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent)
<
//расчитаем новое значение
CalculateValues();
//обновим на экране значение
Super::PostEditChangeProperty(PropertyChangedEvent);
>
#endif

Источник

Туториал по Unreal Engine: C++

unreal engine 4 примеры кода. e1fda3bce1ec3c3654adbb93e4730d7b. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-e1fda3bce1ec3c3654adbb93e4730d7b. картинка unreal engine 4 примеры кода. картинка e1fda3bce1ec3c3654adbb93e4730d7b. //потключены 3 библиотеки

Blueprints — очень популярный способ создания геймплея в Unreal Engine 4. Однако если вы уже давно программируете и предпочитаете код, то вам идеально подойдёт C++. С помощью C++ можно даже вносить изменения в движок и создавать собственные плагины.

В этом туториале вы научитесь следующему:

Примечание: в этом туториале подразумевается, что вы уже знакомы с основами Unreal Engine. Если вы новичок в Unreal Engine, то сначала изучите состоящий из десяти частей туториал по Unreal Engine для начинающих.

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

Если вы ещё этого не сделали, то вам понадобится установить Visual Studio. Выполните инструкции из официального руководства Epic по настройке Visual Studio для Unreal Engine 4. (Вы можете использовать альтернативные IDE, но в этом туториале применяется Visual Studio, потому что Unreal рассчитан на работу с ним.)

Затем скачайте заготовку проекта и распакуйте её. Перейдите в папку проекта и откройте CoinCollector.uproject. Если приложение попросить пересобрать модули, то нажмите Yes.

unreal engine 4 примеры кода. ebeb4bd05c58f87d682483e2ced1175c. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-ebeb4bd05c58f87d682483e2ced1175c. картинка unreal engine 4 примеры кода. картинка ebeb4bd05c58f87d682483e2ced1175c. //потключены 3 библиотеки

Закончив с этим, вы увидите следующую сцену:

unreal engine 4 примеры кода. ebcd4b46de6641165647fe1ef5770cc4. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-ebcd4b46de6641165647fe1ef5770cc4. картинка unreal engine 4 примеры кода. картинка ebcd4b46de6641165647fe1ef5770cc4. //потключены 3 библиотеки

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

Создание класса C++

Для создания класса C++ перейдите в Content Browser и выберите Add New\New C++ Class.

unreal engine 4 примеры кода. d17aa9a323c80c7886ea1195c687a1b5. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-d17aa9a323c80c7886ea1195c687a1b5. картинка unreal engine 4 примеры кода. картинка d17aa9a323c80c7886ea1195c687a1b5. //потключены 3 библиотеки

После этого откроется C++ Class Wizard. Во-первых, нужно будет выбрать, от какого класса мы будем наследовать. Поскольку класс должен быть управляемым игроком, нам понадобится Pawn. Выберите Pawn и нажмите Next.

unreal engine 4 примеры кода. 494aea4f0cebed025ed7d76451eaf02b. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-494aea4f0cebed025ed7d76451eaf02b. картинка unreal engine 4 примеры кода. картинка 494aea4f0cebed025ed7d76451eaf02b. //потключены 3 библиотеки

unreal engine 4 примеры кода. 39f572981149f833fa7180a89a82907f. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-39f572981149f833fa7180a89a82907f. картинка unreal engine 4 примеры кода. картинка 39f572981149f833fa7180a89a82907f. //потключены 3 библиотеки

При этом будут созданы файлы и скомпилирован проект. После компиляции Unreal откроет Visual Studio. Если BasePlayer.cpp и BasePlayer.h не будут открыты, то перейдите в Solution Explorer и откройте их. Они находятся в папке Games\CoinCollector\Source\CoinCollector.

unreal engine 4 примеры кода. e4e24180ae97f6a9fae9f0804b034861. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-e4e24180ae97f6a9fae9f0804b034861. картинка unreal engine 4 примеры кода. картинка e4e24180ae97f6a9fae9f0804b034861. //потключены 3 библиотеки

Прежде чем двигаться дальше, вам нужно узнать о системе рефлексии Unreal. Эта система управляет различными частями движка, такими как панель Details и сборка мусора. При создании класса с помощью C++ Class Wizard движок Unreal добавляет в заголовок три строки:

Примечание: префиксы не отображаются в редакторе. Например, если вам нужно создать переменную типа ABasePlayer, то нужно искать BasePlayer.

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

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

Для Pawn игрока нам нужно добавить три компонента:

Примечание: Важно добавлять файл .generated.h последним. В нашем случае директивы include должны выглядеть следующим образом:

Если он будет не последним include, то при компиляции мы получим ошибку.

Теперь нам нужно объявить переменные для каждого компонента. Добавьте после SetupPlayerInputComponent() следующие строки:

Использованное здесь имя будет именем компонента в редакторе. В нашем случае компоненты будут отображаться как Mesh, SpringArm и Camera.

Также можно добавить к UPROPERTY() описатели (specifiers). Они будут управлять поведением переменной в различных аспектах движка.

VisibleAnywhere позволит каждому компоненту быть видимым в редакторе (в том числе и в Blueprints).

BlueprintReadOnly позволит получать ссылку на компонент с помощью нодов Blueprint. Однако он не позволит нам задавать компонент. Для компонентов важно быть read-only, потому что их переменные являются указателями. Мы не хотим, чтобы пользователи задавали их, иначе они могут указать на случайное место в памяти. Стоит заметить, что BlueprintReadOnly всё-таки позволяет задавать переменные внутри компонента, и именно к такому поведению мы стремимся.

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

Инициализация компонентов

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

Затем нам нужно настроить иерархию (выбрать корневой компонент и так далее). Добавьте после предыдущего кода следующее:

После завершения кода компонентов нам нужно выполнить компиляцию. Выберите один из следующих способов компиляции:

Однако в Blueprints достаточно будет просто выбрать меш из раскрывающегося списка.

unreal engine 4 примеры кода. aaad608eb70c7ed3d5929edd24fac0aa. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-aaad608eb70c7ed3d5929edd24fac0aa. картинка unreal engine 4 примеры кода. картинка aaad608eb70c7ed3d5929edd24fac0aa. //потключены 3 библиотеки

Если вы переместите ресурс в другую папку, в Blueprints ничего не испортится. Однако в C++ придётся менять каждую ссылку на этот ресурс.

Чтобы задать поворот меша и пружинного рычага в Blueprints, нужно будет создать Blueprint на основании BasePlayer.

Примечание: Обычно практикуется создание базовых классов в C++ с последующим созданием подкласса Blueprint. Это упрощает изменение классов для художников и дизайнеров.

Выделение подклассов классов C++

В Unreal Engine перейдите в папку Blueprints и создайте Blueprint Class. Разверните раздел All Classes и найдите BasePlayer. Выберите BasePlayer, а затем нажмите на Select.

unreal engine 4 примеры кода. b552831b1f32a1a73eb6466c5d12b238. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-b552831b1f32a1a73eb6466c5d12b238. картинка unreal engine 4 примеры кода. картинка b552831b1f32a1a73eb6466c5d12b238. //потключены 3 библиотеки

Переименуйте его в BP_Player, а затем откройте.

Сначала мы зададим меш. Выберите компонент Mesh и задайте для его Static Mesh значение SM_Sphere.

unreal engine 4 примеры кода. 086265983770bd21f487b43b73d68184. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-086265983770bd21f487b43b73d68184. картинка unreal engine 4 примеры кода. картинка 086265983770bd21f487b43b73d68184. //потключены 3 библиотеки

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

unreal engine 4 примеры кода. 63d7765fdbb72bec2f64e32636b4a53a. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-63d7765fdbb72bec2f64e32636b4a53a. картинка unreal engine 4 примеры кода. картинка 63d7765fdbb72bec2f64e32636b4a53a. //потключены 3 библиотеки

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

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Чтобы исправить это, нам нужно сделать так, чтобы поворот рычага был абсолютным. Нажмите на стрелку рядом с Rotation и выберите World.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Затем задайте для Target Arm Length значение 1000. Так мы отдалим камеру на 1000 единиц от меша.

unreal engine 4 примеры кода. 40d90e4a791470dd84b66dd352ec6edc. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-40d90e4a791470dd84b66dd352ec6edc. картинка unreal engine 4 примеры кода. картинка 40d90e4a791470dd84b66dd352ec6edc. //потключены 3 библиотеки

Затем нужно задать Default Pawn Class, чтобы использовать наш Pawn. Нажмите на Compile и вернитесь в редактор. Откройте World Settings и задайте для Default Pawn значение BP_Player.

unreal engine 4 примеры кода. 02f64fa25c4ee4e325f06f1c5895fbea. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-02f64fa25c4ee4e325f06f1c5895fbea. картинка unreal engine 4 примеры кода. картинка 02f64fa25c4ee4e325f06f1c5895fbea. //потключены 3 библиотеки

Нажмите на Play, чтобы увидеть Pawn в игре.

unreal engine 4 примеры кода. e1fda3bce1ec3c3654adbb93e4730d7b. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-e1fda3bce1ec3c3654adbb93e4730d7b. картинка unreal engine 4 примеры кода. картинка e1fda3bce1ec3c3654adbb93e4730d7b. //потключены 3 библиотеки

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

Реализация движения

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

Вернитесь в Visual Studio и откройте BasePlayer.h. Добавьте после переменных компонентов следующее:

EditAnywhere позволяет изменять MovementForce в панели Details. BlueprintReadWrite позволит задавать и считывать MovementForce с помощью нодов Blueprint.

Далее нам нужно создать две функции. Одну для движения вверх-вниз, другую — для движения влево-вправо.

Создание функций движения

Добавьте под MovementForce следующие объявления функций:

Позже мы свяжем с этими функциями привязки осей. Благодаря этому привязки осей смогут передавать свой scale (поэтому функциям нужен параметр float Value ).

Примечание: Если вы незнакомы с привязками осей и scale, изучите туториал про Blueprints.

Теперь нам нужно создать реализацию для каждой функции. Откройте BasePlayer.cpp добавьте в конец файла следующее:

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

Связывание привязок осей с функциями

Ради упрощения я уже заранее создал привязки осей. Они находятся в Project Settings, в разделе Input.

unreal engine 4 примеры кода. 3ccd5f00c1823ed19d237dd6a7a7cdf6. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-3ccd5f00c1823ed19d237dd6a7a7cdf6. картинка unreal engine 4 примеры кода. картинка 3ccd5f00c1823ed19d237dd6a7a7cdf6. //потключены 3 библиотеки

Примечание: Привязки осей не обязаны иметь то же название, что и функции, с которыми мы их связываем.

Добавьте внутрь SetupPlayerInputComponent() следующий код:

На этом мы закончили с функциями движения. Теперь нам нужно включить физику для компонента Mesh.

Включение физики

Добавьте внутрь ABasePlayer() следующие строки:

Первая строка позволит воздействовать на Mesh физическим силам. Вторая строка присваивает MovementForce значение 100000. Это значит, что при движении шару будет прибавлено 100 000 силы. По умолчанию физические объекты весят примерно 110 килограмм, так что для их перемещения потребуется много силы!

Если мы создали подкласс, некоторые свойства не изменятся, даже если мы изменим их в базовом классе. В нашем случае у BP_Player не будет включено Simulate Physics. Однако теперь во всех создаваемых подклассах оно будет включено по умолчанию.

Выполните компиляцию и вернитесь в Unreal Engine. Откройте BP_Player и выберите компонент Mesh. Затем включите Simulate Physics.

unreal engine 4 примеры кода. 18dccf6d330a8e221d8e0fbabfff8d4e. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-18dccf6d330a8e221d8e0fbabfff8d4e. картинка unreal engine 4 примеры кода. картинка 18dccf6d330a8e221d8e0fbabfff8d4e. //потключены 3 библиотеки

Нажмите Compile, а затем на Play. Нажимайте W, A, S и D, чтобы передвигать шар.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Далее мы объявим функцию C++, которую можно реализовать с помощью Blueprints. Это позволит дизайнерам создавать функционал без использования C++. Чтобы научиться этому, мы создадим функцию прыжка.

Создание функции прыжка

Сначала нам нужно связать привязку прыжка к функции. В этом туториале мы назначим прыжок на клавишу пробела.

unreal engine 4 примеры кода. a38415839528c87d56d8dca951a68e9a. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-a38415839528c87d56d8dca951a68e9a. картинка unreal engine 4 примеры кода. картинка a38415839528c87d56d8dca951a68e9a. //потключены 3 библиотеки

Вернитесь в Visual Studio и откройте BasePlayer.h. Добавьте под MoveRight() следующие строки:

Так как Jump — это привязка действия, способ связывания немного отличается. Закройте BasePlayer.h и откройте BasePlayer.cpp. Добавьте внутрь SetupPlayerInputComponent() следующее:

Дальше мы переопределим Jump() в Blueprints.

Переопределение функций в Blueprints

Выполните компиляцию и закройте BasePlayer.cpp. Затем вернитесь к Unreal Engine и откройте BP_Player. Перейдите в панель My Blueprints и наведите мышь на Functions, чтобы появился раскрывающийся список Override. Нажмите на него и выберите Jump. Так мы создадим Event Jump.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

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

Далее мы создадим следующую схему:

unreal engine 4 примеры кода. dc87218a8efce98549e7ee0b5b464306. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-dc87218a8efce98549e7ee0b5b464306. картинка unreal engine 4 примеры кода. картинка dc87218a8efce98549e7ee0b5b464306. //потключены 3 библиотеки

Так мы добавим Mesh импульс (JumpImpulse) по оси Z. Учтите, что в этой реализации игрок может прыгать бесконечно.

Далее нам нужно задать значение JumpImpulse. Нажмите на Class Defaults в Toolbar, а затем перейдите к панели Details. Задайте JumpImpulse значение 100000.

unreal engine 4 примеры кода. c646fc2e9b4c78bc02d03fc5efae4b74. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-c646fc2e9b4c78bc02d03fc5efae4b74. картинка unreal engine 4 примеры кода. картинка c646fc2e9b4c78bc02d03fc5efae4b74. //потключены 3 библиотеки

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

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

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

Собирание монет

Вернитесь в Visual Studio и откройте BaseCoin.h. Добавьте под PlayCustomDeath() следующие строки:

После связывания OnOverlap() будет исполнятся при наложении монеты и другого актора. OverlappedActor будет монетой, а OtherActor — другой актор.

Реализация наложений

Откройте BaseCoin.cpp и добавьте в конец файла следующее:

Теперь нам нужно выполнить приведение. В Unreal Engine приведение можно выполнить так:

Добавьте внутрь OnOverlap() следующее:

Связывание функции наложения

Так мы свяжем OnOverlap() с событием OnActorBeginOverlap. Это событие происходит всегда, когда актор накладывается на другого актора.

Выполните компиляцию и вернитесь в Unreal Engine. Нажмите Play и начните собирать монеты. При контакте с монетой она будет уничтожаться, что приводит к её исчезновению.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

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

Создание реализации функции по умолчанию

Следующим этапом будет реализация OnOverlap() в BP_Coin.

Создание реализации в Blueprint

Выполните компиляцию и закройте Visual Studio. Вернитесь к Unreal Engine и откройте BP_Coin. Переопределите On Overlap и создайте следующую схему:

unreal engine 4 примеры кода. 72f78bb403a67f6a63d479375d578adb. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-72f78bb403a67f6a63d479375d578adb. картинка unreal engine 4 примеры кода. картинка 72f78bb403a67f6a63d479375d578adb. //потключены 3 библиотеки

Теперь при наложении игрока на монету будет выполняться Play Custom Death.

Нажмите на Compile и закройте BP_Coin. Нажмите Play и соберите несколько монет, чтобы протестировать новую реализацию.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

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

Вы можете скачать готовый проект отсюда.

Как вы видите, работать с C++ в Unreal Engine довольно просто. Хотя мы уже добились кое-чего в C++, вам ещё нужно многому научиться! Я рекомендую изучить серию туториалов Epic по созданию с помощью C++ шутера с видом сверху.

Если вы новичок в Unreal Engine, то изучите нашу серию туториалов для начинающих из десяти частей. В этой серии вы познакомитесь с различными системами, такими как Blueprints, материалы и системы частиц.

Источник

Туториал по Unreal Engine. Часть 1: знакомство с движком

unreal engine 4 примеры кода. a987d76b6bf401a0c1cccbeec6db4334. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-a987d76b6bf401a0c1cccbeec6db4334. картинка unreal engine 4 примеры кода. картинка a987d76b6bf401a0c1cccbeec6db4334. //потключены 3 библиотеки

Unreal Engine 4 — это набор инструментов для разработки игр, имеющий широкие возможности: от создания двухмерных игр на мобильные до AAA-проектов для консолей. Этот движок использовался при разработке таких игр, как ARK: Survival Evolved, Tekken 7 и Kingdom Hearts III.

Разработка в Unreal Engine 4 очень проста для начинающих. С помощью системы визуального создания скриптов Blueprints Visual Scripting можно создавать готовые игры, не написав ни строчки кода! В сочетании с удобным интерфейсом это позволяет быстро изготавливать рабочие прототипы.

В этой части туториала по Unreal Engine 4 мы ознакомимся с основными возможностями программы. Вот основные темы, которые будут в нём рассмотрены:

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

Установка Unreal Engine 4

Для установки Unreal Engine 4 используется Epic Games Launcher. Перейдите на сайт Unreal Engine и нажмите на кнопку Get Unreal в правом верхнем углу.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

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

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

После скачивания и установки программы запуска откройте её. Появится следующее окно:

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Введите адрес электронной почты и пароль, использованный для скачивания программы загрузки и нажмите на Sign In. После выполнения входа откроется такое окно:

unreal engine 4 примеры кода. 5d427f82b3c924087a8d82f12913617e. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-5d427f82b3c924087a8d82f12913617e. картинка unreal engine 4 примеры кода. картинка 5d427f82b3c924087a8d82f12913617e. //потключены 3 библиотеки

Нажмите на Install Engine в левом верхнем углу. Программа запуска перейдёт к экрану, на котором можно будет выбрать устанавливаемые компоненты.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Примечание: Epic Games постоянно обновляет Unreal Engine, поэтому ваша версия движка может слегка отличаться от представленной на скриншотах. Например, после написания первого черновика этого туториала версия уже обновилась до 4.14.3! Туториал подойдёт вам, если у вас есть версия не ниже 4.14.

По умолчанию выбраны Starter Content, Templates and Feature Packs и Engine Source. Лучше так всё и оставить. Они будут полезны по следующим причинам:

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Выбрав нужные компоненты, нажмите на Install. После завершения установки движок появится в библиотеке. Теперь настало время создать проект.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

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

Нажмите на одну из кнопок Launch, чтобы открыть браузер проектов (Project Browser). После его открытия нажмите на вкладку New Project.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Нажмите на вкладку Blueprint. Здесь можно выбрать один из шаблонов. Однако, поскольку мы начинаем с нуля, то выберем шаблон Blank.

Ниже будут перечисленные дополнительные параметры.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Вот, за что отвечает каждая опция:

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Сменить папку хранения проекта можно, нажав на многоточие в конце поля Folder.

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

И наконец нажмите на Create Project.

Навигация по интерфейсу

После создания проекта откроется редактор. Он разделён на несколько панелей:

unreal engine 4 примеры кода. 8e5beae7603538a407cc3d80627203b4. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-8e5beae7603538a407cc3d80627203b4. картинка unreal engine 4 примеры кода. картинка 8e5beae7603538a407cc3d80627203b4. //потключены 3 библиотеки

Импорт ассетов

Какой смысл в поворотном столе, если на нём нечего показывать? Скачайте эту модель банана. Внутри находятся два файла: Banana_Model.fbx и Banana_Texture.jpg. Можете также использовать собственную модель, но зачем, если есть такой потрясающий банан?

Чтобы Unreal мог использовать файлы, их нужно импортировать. Перейдите в Content Browser и нажмите на Import.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

С помощью диспетчера файлов найдите папку, в которой находятся Banana_Model.fbx и Banana_Texture.jpg are. Выделите оба файла и нажмите Open.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Нажмите на Import. Два файла появятся в Content Browser.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

При импорте файла на самом деле он не сохраняется в проект, если не указать этого явным образом. Сохранять файлы можно, нажав на файл правой клавишей мыши и выбрав Save. Также можно сохранить все файлы за раз, выбрав File\Save All. Старайтесь сохраняться почаще!

Учтите, что в Unreal модели называются «мешами» (meshes). Теперь у нас есть меш банана, настало время добавить его на уровень.

Добавление мешей на уровень

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

Чтобы добавить на уровень меш, нажмите правой клавишу мыши и перетащите Banana_Model из Content Browser во Viewport. Отпустите левую клавишу мыши и меш добавится на уровень.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Объекты на уровне можно перемещать, поворачивать и масштабировать. Горячие клавиши для этих действий — W, E и R. После нажатия на них можно использовать манипулятор:

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

О материалах

Если внимательно посмотреть на банан, то можно увидеть, что он не жёлтый! На самом деле. он выглядит почти полностью серым.

Чтобы придать банану цвет и детали, необходимо создать материал.

Что такое «материал»?

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

unreal engine 4 примеры кода. cc1d4010925091ebb0dfa72846e9397d. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-cc1d4010925091ebb0dfa72846e9397d. картинка unreal engine 4 примеры кода. картинка cc1d4010925091ebb0dfa72846e9397d. //потключены 3 библиотеки

Создание материала

Для создания материала нужно перейти в Content Browser и нажать на зелёную кнопку Add New. Появится меню со списком ассетов, которые можно создать. Выберите Material.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Назовите материал Banana_Material, а затем дважды нажмите левой клавишей мыши на файле, чтобы открыть его в редакторе материалов.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Редактор материалов (Material Editor)

Редактор материалов состоит из пяти основных панелей:

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Что такое нод (узел)?

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

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

У нодов есть входы и выходы, представленные кругом со стрелкой. Входы расположены слева, а выходы — справа.

Вот пример с использованием нодов Multiply и Constant3Vector, добавляющих текстуре жёлтого цвета:

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

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

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

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

Для добавления модели цвета и деталей нам необходима текстура. Текстура — это просто двухмерное изображение. Обычно они проецируются на трёхмерные модели, придавая им цвет и детали.

Для текстурирования банана мы используем Banana_Texture.jpg. Применить в материале текстуру позволяет нод TextureSample.

Перейдите к панели Palette и найдите TextureSample. Добавьте нод, удерживая левую клавишу мыши и перетащив его на схему.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Для выбора текстуры необходимо сначала выделить нод TextureSample. Перейдите в панель Details и нажмите на раскрывающийся список, расположенный справа от Texture.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Откроется меню, в котором перечислены все текстуры проекта. Выберите Banana_Texture.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Чтобы увидеть текстуру на меше предварительного просмотра, нужно подключить её к ноду Result. Удерживайте левую клавишу мыши на белом контакте выхода нода TextureSample. Перетащите его на входной контакт Base Color нода Result.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Вернитесь во Viewport, чтобы увидеть текстуру на меше предварительного просмотра. Можно поворачивать его (удерживая левую клавишу мыши и перемещая мышь), чтобы рассмотреть другие детали.

unreal engine 4 примеры кода. 2d9e03aa6a45f0016f89ed25718397a0. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-2d9e03aa6a45f0016f89ed25718397a0. картинка unreal engine 4 примеры кода. картинка 2d9e03aa6a45f0016f89ed25718397a0. //потключены 3 библиотеки

Нажмите на Apply в Toolbar, чтобы обновить материал, и закройте редактор материалов после завершения.

Использование материалов

Чтобы применить материал на банан, нужно его назначить. Вернитесь к Content Browser и дважды нажмите на Banana_Model, чтобы открыть его. Появится следующее окно редактора:

unreal engine 4 примеры кода. 88b394ee3fdc6b37fcc657f164e5bb96. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-88b394ee3fdc6b37fcc657f164e5bb96. картинка unreal engine 4 примеры кода. картинка 88b394ee3fdc6b37fcc657f164e5bb96. //потключены 3 библиотеки

Перейдите в панель Details и найдите раздел Materials. Нажмите на раскрывающееся меню, расположенное справа от Element 0, и выберите Banana_Material.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Закройте редактор мешей, вернитесь к основному редактору и посмотрите на Viewport. Вы увидите, что теперь на банане есть текстура. Поздравляю, вы теперь знаете всё необходимео, чтобы стать дизайнером уровней!

unreal engine 4 примеры кода. a8a2d7c7f08f751f623b04f26efd77e5. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-a8a2d7c7f08f751f623b04f26efd77e5. картинка unreal engine 4 примеры кода. картинка a8a2d7c7f08f751f623b04f26efd77e5. //потключены 3 библиотеки

Примечание: если освещение слишком тёмное, можно изменить его, зайдя в World Outliner и нажав на Light Source. В панели Details найдите параметр Intensity и увеличьте его значение.

Про Blueprints

Даже несмотря на то, что банан выглядит отлично, будет ещё лучше, если он начнёт вращаться на поворотном столе. Проще всего создать его с помощью «чертежей» Blueprints.

В простейшем случае Blueprint представляет собой «вещь». Blueprints позволяют создавать свои поведения для объектов. Объект может быть чем-то физическим (типа поворотного стола) или чем-то абстрактным, например, системой здоровья.

Хотите создать движущийся автомобиль? Используйте Blueprint. А как насчёт летающей свинки? Используйте Blueprints. А если нужен взрывающийся при касании котик? Blueprints.

Как и в материалах, в Blueprints используется система на основе нодов. Это значит, что достаточно создать ноды и соединить их — никакого кода не требуется!

Примечание: если вы предпочитаете писать код, то используйте вместо этого C++.

Blueprints просты в использовании, однако не так быстры, как код на C++. То есть если вам нужно создать что-то «тяжёлое» с точки зрения вычислений, например, сложный алгоритм, то лучше воспользоваться C++.

Но даже если вы предпочитаете C++, то бывают случаи, когда оптимальнее использовать Blueprints. Вот некоторые из преимуществ Blueprints:

Создание Blueprint

Перейдите в Content Browser и нажмите на Add New. Выберите в списке Blueprint Class.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

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

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Примечание: поскольку мы можем расположить классы Pawn и Character, они также являются акторами (Actors).

Поворотный стол будет находиться на месте, поэтому самым подходящим будет класс Actor. Выберите Actor и назовите новый файл Banana_Blueprint.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Дважды нажмите на Banana_Blueprint, чтобы открыть его. Нажмите на Open Full Blueprint Editor, если появится подобное окно:

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Blueprint Editor

Во-первых, выберите в редакторе Blueprint editor вкладку Event Graph.

Blueprint editor состоит из четырёх основных панелей:

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

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

Для создания стола нам нужно две вещи — основание и подставка. Их можно создать с помощью компонентов.

Что такое «компоненты»?

Если Blueprint — это автомобиль, то компоненты — это строительные элементы, из которых он состоит. Примерами компонентов могут быть двери, колёса и двигатель.

Однако компоненты могут быть не только физическими объектами.

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

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

Чтобы увидеть компоненты, необходимо переключиться в режим Viewport. Нажмите на вкладку Viewport, чтобы переключиться на неё. Вот как это выглядит:

unreal engine 4 примеры кода. 39f49d77cf09fbb0b6928e7c99a1ee54. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-39f49d77cf09fbb0b6928e7c99a1ee54. картинка unreal engine 4 примеры кода. картинка 39f49d77cf09fbb0b6928e7c99a1ee54. //потключены 3 библиотеки

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

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

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Неплохо было бы сделать основание чуть короче. Активируйте манипулятор масштаба, нажав R, а затем уменьшите масштаб (точный размер неважен, можно будет изменить его позже).

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Теперь пора добавить меш. Вернитесь в панель компонентов Components и нажмите левой клавишей на пустой области, чтобы снять выделение с компонента Cylinder. Благодаря этому следующий добавляемый компонент не будет прикреплён к компонентуCylinder.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Примечание: если этого не сделать, то следующий компонент будет прикреплён к компоненту Cylinder. Это значит, что он также унаследует масштаб компонента Cylinder. Поскольку мы уменьшили масштаб цилиндра, следующий компонент тоже будет уменьшен.

unreal engine 4 примеры кода. d1490501d3a8740e8b5122fd18716ca1. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-d1490501d3a8740e8b5122fd18716ca1. картинка unreal engine 4 примеры кода. картинка d1490501d3a8740e8b5122fd18716ca1. //потключены 3 библиотеки

Затем нажмите на Add Component и выберите из списка Static Mesh.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Для отображения банана выберите компонент Static Mesh, а затем нажмите на вкладку Details. Нажмите на раскрывающий списков в правой части Static Mesh и выберите Banana_Model.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Переместите банан, если он находится в неправильном положении. Для этого активируйте манипулятор перемещения, нажав W, а затем переместите его вверх.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Про ноды Blueprint

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

В отличие от своих близких родственников — нодов материалов — ноды Blueprint имеют особые контакты, называемые контактами Execution. Контакт слева — это вход, контакт справа — выход. У всех нодов есть хотя бы по одному входу и выходу.

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

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Node A и Node B будут выполняться, потому что у их входных контактов есть подключение. Node C и Node D никогда не выполняются, потому что входной контакт Node C не имеет подключения.

Вращение поворотного стола

Прежде чем начать, давайте посмотрим на панель Components. Можно заметить, что у Cylinder и Static Mesh есть отступ, а у DefaultSceneRoot — нет, потому что они подключены к DefaultSceneRoot.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Если переместить, повернуть или отмасштабировать корневой компонент, то тоже самое произойдёт и с прикреплёнными к нему компонентами. Благодаря этому поведению можно поворачивать Cylinder и Static Mesh одновременно, а не по отдельности.

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

Чтобы приступить к созданию скриптов, переключитесь назад на вкладку Event Graph.

Реализация вращения объекта настолько проста, что требует всего одного нода. Нажмите правой клавишей на пустое пространство в графе, чтобы открыть меню доступных нодов. Найдите AddLocalRotation. Нам нужно поворачивать основание и банан, поэтому мы просто будем вращать корневой компонент. Выберите AddLocalRotation (DefaultSceneRoot).

Примечание: если нода нет в списке, снимите флажок Context Sensitive в правом верхней части меню.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

В вашем графе теперь появится новый нод AddLocalRotation. Вход Target автоматически подключится к выбранному компоненту.

Чтобы задать значение вращения, перейдите к входу Delta Rotation и измените значение Z на 1.0. Благодаря этому Blueprint сможет выполнять вращение относительно оси Z. Чем выше значения, тем быстрее будет вращаться стол.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Чтобы поворотный стол вращался постоянно, нужно вызывать AddLocalRotation в каждом кадре. Для выполнения нода в каждом кадре воспользуемся нодом Event Tick. Он уже находится в графе. Если его нет, то создайте его тем же способом, что и ранее.

Перетащите выходной контакт нода Event Tick ко входному контакту нода AddLocalRotation.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

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

Наконец, перейдите в Toolbar и нажмите на Compile, чтобы обновить Blueprint, а затем закройте Blueprint editor.

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

Добавление Blueprints на уровень

Прежде чем добавлять Blueprint, вернитесь ко Viewport в основном редакторе и удалите модель банана. Для этого выберите модель, а затем выберите Edit\Delete или нажмите клавишу Delete.

Добавление Blueprint — это тот же процесс, что и добавление меша. Удерживайте левую клавишу мыши на файле и перетащите его во Viewport.

Перейдите к Toolbar и нажмите Play, чтобы увидеть результаты своих трудов!

unreal engine 4 примеры кода. image loader. unreal engine 4 примеры кода фото. unreal engine 4 примеры кода-image loader. картинка unreal engine 4 примеры кода. картинка image loader. //потключены 3 библиотеки

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

Что делать дальше?

Готовый проект можно скачать отсюда.

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

Источник

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

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