Найти тему
exemestUG

Переменные в Unreal Engine 5+

Сегодня я познакомлю Вас с переменными в UE5+.

Теория

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

Что такое переменная?

Переменная - это память, выделенная для хранения данных, а если еще проще, то это ящик, в который мы складываем что либо. Только вот что? Явно не носки или безделушки. Мы складываем туда определенные типы данных. Подчеркну, ОПРЕДЕЛЕННЫЕ, в UE5+ ящик, который мы называем переменной, может хранить только ОДИН тип данных. Давайте разберем основные типы данных, которые мы будем использовать:

Integer - целочисленный тип данных, он может принимать значения только целого числа, например: 1; 100; 15618; 8468465363 и т.п.

Float - тип данных с плавающей точкой, говоря проще, это десятичные дроби: 3,15; 45,1258; 0,4896 и т.п.

String - строковый тип данных, он заключает в себя какой либо текст, причем UE не важно на каком языке этот текст будет написан.

Boolean - логический тип данных, он может принимать только два значения: Правда (True) или Ложь (False). На нем мы более подробно остановимся, когда будем изучать логические операции и условные операторы.

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

Для чего нужны переменные?

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

Давайте рассмотрим с виду такую простую ситуацию как удар мечом в любой RPG игре. Казалось бы, что сложного? Мы нажимаем на левую кнопку мышки и бьем врага, отнимая у него здоровье. Но нет, мы видим эту ситуацию со стороны игрока, и так она действительно выглядит очень просто. Но теперь давайте рассмотри ту же ситуацию со стороны программиста:

1. При нажатии на кнопку мыши активируется событие (Event), который влечет за собой логику начала анимации удара и расчета вашей силы удара. Вы же не можете бить все время одним стабильным ударом правда? Это было бы предсказуемо и неинтересно.

2. Давайте возьмем простую формулу расчета силы удара:

Сила Удара = (Ваш Урон от Оружия + Ваша Сила) - Защита Врага

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

Урон = Здоровье Врага - (Сила Удара/100)

Мы рассчитали урон.

Так вот, Сила Удара, Урон от Оружия, Защита Врага, Здоровье Врага - это все переменные. Без них мы бы в лучшем случае махнули мечом в сторону врага. И это самый банальный пример. Я не упоминал вероятность попадания которая зависит от пересечения коллизий, зависимость урона от уклонения врага и части тела в которую вы попали, критический удар, зачарован меч или нет, магический урон от меча и сопротивляемость магии этого типа у вашего врага. Много, очень много разных переменных участвуют в простом клике мышкой.

Что можно делать с переменными?

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

В примере выше мы настолько упростили ситуацию и опустили тот момент что перед тем как сложиться в формулу, мы должны ПОЛУЧИТЬ значения тех переменных, которые участвую в этой формуле, а после расчета мы должны ЗАДАТЬ значение той переменной, которую с помощью формулы мы рассчитывали.

Запомните, значение ЛЮБОЙ публичной переменой, можно ЗАДАТЬ (Set) и ПОЛУЧИТЬ (Get). О том какие бывают переменные кроме публичных, мы будем говорить в следующих уроках.

На этом теория заканчивается. Для того чтобы посмотреть практику по этому уроку перейдите по ссылке ниже:

Урок 1 Переменные

Подписывайтесь на меня в Дзен и на Rutube.

Так же вступайте в мою группу в ВК: https://vk.com/exemestunrealgames, чтобы быть в курсе анонсов будущих статей и роликов, интересных бесед на тему создания игр на UE и многого другого.

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

Подключите Дзен Про за 159 ₽ в месяц