Unreal Engine Array: Blueprint массивы в UE5, UE4

Друзья, приветствую, с Вами Будуев Антон. В данной статье мы поговорим о том, что такое в Unreal Engine массивы (Array). Разберём циклы, а также функции для работы с массивами в Blueprint (UE4, UE5).

Вскоре выйдет моя бесплатная книга по Blueprints для Unreal Engine в PDF формате. Как она выйдет, рекомендую её скачать, чтобы Вы детально изучили блюпринты Анрил Энджин.

Unreal Engine Array (Blueprint)

Blueprint массивы (Blueprint Arrays) в Unreal Engine — это инструмент для хранения и управления коллекциями данных одного типа. Они позволяют хранить несколько однотипных значений (например, строк, чисел или ссылок на Акторы) в одной переменной, что делает их незаменимыми при работе с множеством схожих элементов.

Blueprint массивы (Blueprint Arrays) в Unreal Engine
Blueprint массивы (Blueprint Arrays) в Unreal Engine

Визуально в Blueprint массивы отличаются от обычных переменных: иконка переменной-массива выглядит как квадрат с сеткой 3×3, окрашенной в цвет типа данных. Если массив не подключён к узлам, центр иконки затемнён — это означает, что переменная объявлена, но пока не используется в графе. Как только массив подключается к другим узлам (например, для добавления элемента или перебора в цикле), центр сетки также становится виден, сигнализируя об активном использовании. Такая визуальная обратная связь помогает быстро ориентироваться в логике и упрощает отладку.

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

Другой распространённый случай — патрулирование AI. Враги или NPC могут следовать по заранее заданным точкам, которые хранятся в виде массива векторов. Используя индекс, персонаж последовательно перемещается от одной точки к другой, а достигнув конца массива, может вернуться к началу или изменить направление. Такой подход легко масштабируется: достаточно добавить новые точки в массив, и путь автоматически обновится без изменения логики поведения.

Либо же, как на скриншоте ниже, где приведена Blueprint-логика, которая при старте уровня с помощью функции Get All Actors Of Class получает массив всех объектов дверей класса BP_Door, найденных на уровне, и сохраняет его в переменную-массив Array Doors. Далее, при вызове пользовательского события CollectKeys, с помощью цикла For Each Loop происходит перебор всех элементов массива Array Doors, и для каждого объекта вызывается его внутренняя функция Activate. Это позволяет активировать двери, чтобы персонаж мог их открыть.

Работа с массивами в Blueprints
Работа с массивами в Blueprints

Создание массивов (Blueprint Array)

My Blueprint / Variables

Создание массива в Unreal Engine начинается с добавления новой переменной в Blueprint.

Для этого необходимо открыть редактор Blueprint, перейти в панель My BlueprintVariables и нажать кнопку +, чтобы создать новую переменную. По умолчанию она будет иметь вид Single, то есть предназначена для хранения одного значения.

Добавление переменной вида Single
Добавление переменной вида Single

Далее нужно выбрать тип данных, который будет храниться в массиве. Это могут быть как простые типы — целые числа, дробные значения, логические переменные, строки — так и сложные: объекты, Акторы, векторы, трансформы или пользовательские структуры. Выбор зависит от задачи. Например, если требуется отслеживать всех врагов на уровне, массив должен иметь тип Actor с соответствующим фильтром. Если же нужно задать путь для AI (точки для перемещения), логичным выбором станет массив векторов (Vector).

Чтобы превратить переменную в массив, во вкладке Details найдите параметр Variable Type и рядом с ним измените значение с Single на Array. После этого переменная станет контейнером, способным хранить несколько значений указанного типа.

Во вкладке Details найдите параметр Variable Type и рядом с ним измените значение с Single на Array
Во вкладке Details найдите параметр Variable Type и рядом с ним измените значение с Single на Array

После нажатия кнопки Compile откроется возможность задать значения по умолчанию для массива в панели Details. Там можно вручную добавить элементы, которые будут присутствовать при запуске игры. Каждому элементу автоматически присваивается порядковый номер — индекс, начиная с нуля. Например, первый элемент имеет индекс 0, второй — 1, третий — 2 и так далее. Эта нумерация важна при обращении к элементам массива с помощью узлов Get, Set или Remove, где индекс указывается явно.

Default Value - значения по умолчанию для массива
Default Value — значения по умолчанию для массива

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

Ниже в статье мы разберём подробнее все эти узлы для работы с массивами.

Make Array

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

Для этого в Blueprint предназначена функция Make Array, позволяющая объединить несколько переменных одного типа в новый массив.

Make Array - функция динамического создания массивов
Make Array — функция динамического создания массивов

Вы можете добавлять элементы в массив, подключая их ко входам узла: 0, 1, 2 и так далее, нажимая кнопку Add Pin +. Каждый вход принимает значение того же типа, что и другие.

Тип массива определяется автоматически на основе первого подключённого элемента. Если вы начали с типа String, все остальные элементы также должны быть строками.

На выходе «Array» узел возвращает готовый массив, который можно сохранить в переменную (ЛКМ по данному выходу / Promote to variable), передать в другой узел или использовать в цикле.

Make Array особенно полезен в следующих случаях:

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

Важно помнить, что Make Array создаёт массив один раз — при активации узла. Он не обновляется автоматически при изменении исходных значений, если только узел не будет вызван снова.

Если есть необходимость динамически изменять созданный массив (добавлять/удалять элементы), тогда его нужно сохранить в переменную-массив и уже для этой переменной-массива использовать узлы Add, Remove или Clear.

Работа с массивами в циклах

Массив — это упорядоченная коллекция элементов одного типа, и на практике часто возникает необходимость последовательно обработать каждый элемент: проверить условие, изменить значение, активировать объект или удалить ненужный элемент.

Для этого используются циклы, позволяющие выполнять однотипные или условные действия для каждого элемента массива.

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

  • Избегайте изменения структуры массива во время перебора: добавление или удаление элементов в процессе цикла может привести к пропуску элементов из-за сдвига индексов. Если нужно удалить или добавить элементы, соберите их в отдельный временный массив и выполните изменения после завершения цикла. Исключением является обработка с конца (см. ниже).
  • Разница между копиями и ссылками в переменной цикла: при обходе массива в Blueprint переменная цикла содержит копию элемента для типов по значению (числа, структуры, векторы), поэтому изменения полученного элемента не влияют на исходный массив и требуют явного обновления через узел Set Array Elem по индексу. Для типов по ссылке (Акторы, Объекты) переменная цикла содержит ссылку на оригинальный объект, и изменения свойств объекта напрямую отражаются в самом объекте, так как он передан по ссылке, однако заменить сам элемент на другой (например, ссылку на другой Актор) можно только через Set Array Elem с указанием индекса и нового объекта.
  • Производительность: циклы в Blueprint выполняются синхронно — весь перебор происходит в один кадр. При работе с большими массивами (сотни и тысячи элементов) это может вызвать лаги. Оптимизируйте логику: избегайте тяжёлых операций внутри цикла или используйте пакетную обработку по частям.

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

For Each Loop

Цикл для перебора элементов массива - For Each Loop
Цикл для перебора элементов массива — For Each Loop

For Each Loop — это самый простой и распространённый узел для обхода массивов в Blueprint. Он автоматически принимает массив любого типа и на каждой итерации (переборе каждого элемента массива) выдаёт текущий элемент (Array Element) и его индекс (Array Index), активируя поток выполнения через выход Loop Body.

Именно в Loop Body размещается логика, которая будет выполняться для каждого элемента — например, вызов функции, изменение свойства, проверка условия или запись данных. На каждой итерации вы можете использовать Array Element и Array Index как входные данные для последующих узлов.

Цикл продолжается до тех пор, пока не будут обработаны все элементы. После завершения перебора активируется выход Completed, который используется для запуска действий, следующих за циклом — например, вывод результата или переход к следующему этапу.

Пример работы цикла For Each Loop
Пример работы цикла For Each Loop

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

For Each Loop with Break

Цикл For Each Loop with Break
Цикл For Each Loop with Break

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

Для таких ситуаций в Blueprint существует специальный узел — For Each Loop with Break.

Этот цикл работает полностью аналогично базовому For Each Loop: на каждой итерации он возвращает текущий элемент через Array Element, его индекс через Array Index и активирует поток выполнения через Loop Body.

Однако, в отличие от стандартного цикла, For Each Loop with Break имеет дополнительный вход — Break.

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

Например, если вы ищете определённого врага в массиве, как только он будет найден, можно активировать Break, и цикл завершится без проверки всех оставшихся элементов — это экономит ресурсы и повышает производительность.

Reverse For Each Loop

Unreal Engine Array: Blueprint массивы в UE5, UE4

Также иногда возникает необходимость обработать элементы массива в обратном порядке — начиная с последнего и заканчивая первым. Для таких случаев в Blueprint используется узел Reverse For Each Loop.

Цикл Reverse For Each Loop работает аналогично стандартному For Each Loop, но перебирает элементы массива в обратной последовательности: от последнего элемента (с индексом Length1) до первого (с индексом 0).

На каждой итерации узел возвращает текущий элемент через выход Array Element и его индекс через Array Index, после чего активирует поток выполнения через Loop Body.

Именно в Loop Body размещается логика, которая будет применяться к каждому элементу — например, удаление, проверка условия или вызов функции.

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

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

Функции (узлы, ноды) для работы с массивами в Blueprint

Array Add

Blueprint-функция Add
Blueprint-функция Add

Blueprint-функция Add добавляет указанный элемент в конец переданного массива и увеличивает его размер. Возвращает индекс добавленного элемента. Если массив достиг максимального размера, добавление не выполняется, и выводится предупреждение в лог.

Параметры:

  • Target Array — массив, в который будет добавлен новый элемент.
  • New Item — элемент, который необходимо добавить в массив.

Возвращаемое значение: индекс нового элемента в массиве после добавления или INDEX_NONE, если добавление не удалось (например, из-за превышения максимального размера массива).

Array Add Unique

Blueprint-функция Add Unique
Blueprint-функция Add Unique

Blueprint-функция Add Unique добавляет указанный элемент в массив, если он ещё отсутствует, и возвращает индекс добавленного элемента. Если элемент уже присутствует в массиве, функция не добавляет его и возвращает INDEX_NONE. Это предотвращает дублирование данных. Если массив достиг максимального размера, добавление не выполняется, и выводится предупреждение в лог.

Параметры:

  • Target Array — массив, в который будет добавлен элемент, если такой элемент ещё отсутствует в массиве.
  • New Item — элемент для добавления в массив.

Возвращаемое значение: индекс нового элемента в массиве после добавления, либо INDEX_NONE, если элемент уже существует в массиве или массив уже переполнен.

Array Shuffle

Unreal Engine Array: Blueprint массивы в UE5, UE4

Blueprint-функция Shuffle перемешивает (рандомизирует) элементы указанного массива, изменяя их порядок случайным образом.

Параметры:

  • Target Array — массив, элементы которого необходимо перемешать.

Array Shuffle From Stream

Blueprint-функция Shuffle From Stream
Blueprint-функция Shuffle From Stream

Blueprint-функция Shuffle From Stream перемешивает (рандомизирует) элементы переданного массива, используя заданный поток случайных чисел (Random Stream). Это позволяет добиться детерминированного результата перемешивания, что полезно для повторяемого поведения в игре или симуляции.

Параметры:

  • Target Array — массив, элементы которого необходимо перемешать.
  • Random Stream — поток случайных чисел, используемый для генерации случайных индексов при перемешивании.

Array Identical

Blueprint-функция Identical
Blueprint-функция Identical

Blueprint-функция Identical проверяет, являются ли два массива элемент-за-элементом идентичными, возвращая True, если все элементы совпадают по содержимому и размеру, и False в противном случае.

Параметры:

  • Array A — первый массив для сравнения.
  • Array B — второй массив для сравнения.

Возвращаемое значение: логическое значение True, если массивы имеют одинаковую длину и все соответствующие элементы равны, иначе False.

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

Array Append

Blueprint-функция Append
Blueprint-функция Append

Blueprint-функция Append добавляет элементы из Source Array в конец массива Target Array, расширяя его на необходимое количество элементов. Определяется максимальный индекс, до которого можно добавлять элементы, и учитывается, сколько элементов из исходного массива реально можно добавить, чтобы не превысить лимит. Если элементы не все могут быть добавлены из-за ограничения по размеру, генерируется предупреждение в лог о превышении максимальной вместимости контейнера.

Параметры:

  • Target Array — массив, к которому будут добавлены элементы из Source Array.
  • Source Array — массив с элементами, которые нужно добавить.

Array Insert

Blueprint-функция Insert
Blueprint-функция Insert

Blueprint-функция Insert вставляет новый элемент в массив по указанному индексу, сдвигая элементы начиная с этого индекса вправо. Если индекс находится вне допустимого диапазона (меньше 0 или больше текущего размера массива), операция не выполняется, и выводится предупреждение в лог.

Параметры:

  • Target Array — массив, в который производится вставка элемента.
  • New Item — элемент, который нужно вставить в массив.
  • Index — позиция в массиве, на которую должен быть вставлен новый элемент. Индекс может быть равен текущему размеру массива, что соответствует вставке в конец.

Array Remove Index

Blueprint-функция Remove Index
Blueprint-функция Remove Index

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

Параметры:

  • Target Array — массив, из которого будет удалён элемент.
  • Index To Remove — индекс элемента, который нужно удалить.

Array Remove Item

Blueprint-функция Remove Item
Blueprint-функция Remove Item

Blueprint-функция Remove Item удаляет из массива Target Array все вхождения указанного элемента Item: производится поиск элемента Item, если элемент найден, он удаляется, затем производится поиск следующего элемента Item и так далее, пока не будут удалены все элементы Item. Функция возвращает True, если был удалён хотя бы один элемент, иначе False.

Параметры:

  • Target Array — массив, из которого нужно удалить элемент(ы).
  • Item — элемент, который требуется удалить из массива.

Array Clear

Blueprint-функция Clear
Blueprint-функция Clear

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

Параметры:

  • Target Array — массив, который необходимо очистить.

Array Resize

Blueprint-функция Resize
Blueprint-функция Resize

Blueprint-функция Resize изменяет размер переданного массива Target Array до заданного значения Size. Если новый размер больше текущего, массив расширяется, добавляя элементы с инициализированными значениями по умолчанию; если меньше — лишние элементы удаляются. При попытке задать отрицательный размер выводится предупреждение в лог, а массив остаётся без изменений.

Параметры:

  • Target Array — массив, размер которого необходимо изменить.
  • Size — новый размер массива (должен быть неотрицательным).

Array Reverse

Blueprint-функция Reverse
Blueprint-функция Reverse

Blueprint-функция Reverse переворачивает порядок элементов в переданном массиве, меняя первый элемент с последним, второй с предпоследним и так далее, до середины массива.

Параметры:

  • Target Array — массив, порядок элементов которого необходимо обратить.

Array Length

Blueprint-функция Length
Blueprint-функция Length

Blueprint-функция Length возвращает количество элементов в переданном массиве.

Параметры:

Target Array — массив, длину которого нужно получить.

Возвращаемое значение: целочисленное значение, равное количеству элементов в массиве Target Array. Если массив не инициализирован (Null), возвращается 0.

Array Is Empty

Blueprint-функция Is Empty
Blueprint-функция Is Empty

Blueprint-функция Is Empty проверяет, пуст ли переданный массив, и возвращает логическое значение True, если в массиве нет элементов, и False — в противном случае.

Параметры:

  • Target Array — массив для проверки на пустоту.

Возвращаемое значение:

  • True, если массив пуст (содержит 0 элементов) или ссылка на массив равена Null.
  • False, если в массиве есть хотя бы один элемент.

Array Is Not Empty

Blueprint-функция Is Not Empty
Blueprint-функция Is Not Empty

Blueprint-функция Is Not Empty проверяет, содержит ли переданный массив хотя бы один элемент, и возвращает True, если массив не пустой, и False — если пустой или неинициализированный (Null).

Параметры:

Target Array — массив, который требуется проверить на наличие элементов.

Возвращаемое значение:

  • True, если в массиве есть один или более элементов.
  • False, если массив пуст или ссылка на массив равена Null.

Array Last Index

Blueprint-функция Last Index
Blueprint-функция Last Index

Blueprint-функция Last Index возвращает последний допустимый индекс в переданном массиве. Если массив пуст или не инициализирован, возвращается значение INDEX_NONE.

Параметры:

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

Возвращаемое значение: целочисленное значение, равное индексу последнего элемента массива (текущий размер массива минус один).

Если массив пуст (т.е. длина 0) или ссылка на массив равена Null, возвращается INDEX_NONE (-1).

Array Get (a copy)

Blueprint-функция Get a copy
Blueprint-функция Get a copy

Blueprint-функция Get a copy возвращает временную копию элемента массива по заданному индексу. Если индекс выходит за пределы массива, функция выводит предупреждение в лог и инициализирует результат значением по умолчанию. Поскольку это копия, изменения с данным элементом никак не скажутся на исходном массиве.

Параметры:

  • Array — массив, из которого необходимо получить элемент.
  • Dimension — индекс элемента в массиве.

Возвращаемое значение: временная копия элемента массива по заданному индексу.

Array Get (a ref)

Blueprint-функция Get a ref
Blueprint-функция Get a ref

Blueprint-функция Get a ref возвращает прямую ссылку на элемент массива по заданному индексу. Поскольку это прямая ссылка на элемент массива, изменения с данным элементом напрямую скажутся на исходный массив.

Параметры:

  • Array — массив, из которого необходимо получить элемент.
  • Dimension — индекс элемента в массиве.

Возвращаемое значение: прямая ссылка на элемент массива по заданному индексу.

Set Array Elem

Blueprint-функция Set Array Elem
Blueprint-функция Set Array Elem

Blueprint-функция Set Array Elem присваивает указанное значение элементу массива по заданному индексу. Если индекс выходит за текущий размер массива, но флаг Size To Fit установлен в True, то массив автоматически расширяется до нужного размера, чтобы вместить новый элемент. При этом, если индекс отрицательный или превышает максимальный допустимый размер массива, операция не выполняется, а генерируется предупреждение в лог.

Параметры:

  • Target Array — массив, в котором нужно установить элемент.
  • Index — индекс элемента, который необходимо присвоить.
  • Item — значение для установки на позицию с индексом Index.
  • Size To Fit — при значении True, расширяет массив, если индекс больше текущего размера массива.

Swap Array Elements

Blueprint-функция Swap Array Elements
Blueprint-функция Swap Array Elements

Blueprint-функция Swap Array Elements меняет местами два элемента в переданном массиве по указанным индексам. Если индексы совпадают, функция не выполняет никаких действий, так как обмен элементом с самим собой не меняет порядок.

Параметры:

  • Target Array — массив, элементы которого нужно поменять местами.
  • First Index — индекс первого элемента для обмена.
  • Second Index — индекс второго элемента для обмена.

Если массив пуст (число элементов 0), выводится предупреждение в лог о попытке поменять элементы в пустом массиве. Также если какой-либо индекс выходит за допустимый диапазон, выводится предупреждение в лог с информацией об индексах и доступном диапазоне.

Array Find Item

Blueprint-функция Find Item
Blueprint-функция Find Item

Blueprint-функция Find Item ищет в массиве первое вхождение указанного элемента и возвращает индекс этого элемента. Если элемент не найден, возвращается значение INDEX_NONE (-1).

Параметры:

  • Target Array — массив, в котором осуществляется поиск.
  • Item To Find — элемент, который нужно найти в массиве.

Возвращаемое значение: индекс первого найденного элемента, совпадающего с Item To Find или INDEX_NONE (-1), если элемент в массиве отсутствует.

Array Contains Item

Blueprint-функция Contains Item
Blueprint-функция Contains Item

Blueprint-функция Contains Item проверяет, содержится ли указанный элемент в массиве, и возвращает True, если элемент найден, и False, если отсутствует.

Параметры:

  • Target Array — массив для поиска.
  • Item To Find — элемент, который нужно найти.

Filter Array

Blueprint-функция Filter Array
Blueprint-функция Filter Array

Blueprint-функция Filter Array фильтрует массив ссылок на объекты класса Actor (или его наследников), возвращая новый массив только с теми элементами, которые являются объектами классов, производных от заданного фильтрующего класса.

Параметры:

  • Target Array — входной массив ссылок на объекты Actor.
  • Filter Class — класс (или подкласс) Actor, который используется для фильтрации. В результирующий массив попадут только объекты, которые являются экземплярами этого класса или его наследниками.
  • Filtered Array (возвращаемое значение) — возвращаемый массив, который будет заполнен отфильтрованными объектами.

Array Is Valid Index

Blueprint-функция Is Valid Index
Blueprint-функция Is Valid Index

Blueprint-функция Is Valid Index проверяет, является ли переданный индекс Index To Test валидным для данного массива Target Array. Валидный индекс — это целое число, которое больше или равно нулю и строго меньше текущего размера массива.

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

Параметры:

  • Target Array — массив, в котором проверяется валидность индекса.
  • Index To Test — индекс, который нужно проверить.

Возвращаемое значение:

  • True, если индекс находится в диапазоне индексов массива.
  • False, если индекс отрицательный, равен или больше размера массива, либо если массив не инициализирован (Null).

Random Array Item

Blueprint-функция Random Array Item
Blueprint-функция Random Array Item

Blueprint-функция Random Array Item выбирает случайный элемент из переданного массива и возвращает копию этого элемента в параметре Out Item, а также индекс выбранного элемента — в параметре Out Index. Если массив пустой, возвращаемый индекс будет равен INDEX_NONE (-1), а элемент инициализируется значением по умолчанию, при этом выводится предупреждение в лог.

Параметры:

  • Target Array — массив, из которого нужно выбрать случайный элемент.
  • Out Item (возвращаемое значение) — переменная для записи копии случайно выбранного элемента массива.
  • Out Index (возвращаемое значение) — переменная для записи индекса выбранного элемента. Если массив пуст, будет -1.

Random Array Item from Stream

Blueprint-функция Random Array Item from Stream
Blueprint-функция Random Array Item from Stream

Blueprint-функция Random Array Item from Stream — это версия выбора случайного элемента из массива, которая вместо глобального генератора случайных чисел использует переданный случайный поток (Random Stream). Это полезно для детерминированного или воспроизводимого случайного выбора, когда последовательность псевдослучайных чисел должна быть предсказуемой.

Параметры:

  • Target Array — массив, из которого выбирается случайный элемент.
  • Random Stream — ссылка на объект Random Stream, управляющий генерацией псевдослучайных чисел.
  • Out Item (возвращаемое значение) — переменная для записи копии случайно выбранного элемента массива.
  • Out Index (возвращаемое значение) — переменная для записи индекса выбранного элемента. Если массив пуст, будет -1.

Sort String Array

Blueprint-функция Sort String Array
Blueprint-функция Sort String Array

Blueprint-функция Sort String Array служит для сортировки массива строк (Array String) в алфавитном порядке, с возможностью выбора стабильного сортирования и направления сортировки (по возрастанию или убыванию).

Параметры:

  • Target Array — массив строк (Array String), который будет отсортирован. Передаётся по ссылке и изменяется на месте (элементы перераспределяются внутри исходного массива).
  • Stable Sort — флаг, указывающий, нужно ли использовать стабильную сортировку. При стабильной сортировке сохраняется изначальный порядок элементов с одинаковым значением, хотя сама сортировка работает медленнее. По умолчанию — False.
  • Sort Order — направление сортировки: по возрастанию (Ascending) или по убыванию (Descending). По умолчанию — Ascending.

Sort Name Array

Blueprint-функция Sort Name Array
Blueprint-функция Sort Name Array

Blueprint-функция Sort Name Array предназначена для сортировки массива имён (Array Name), предоставляя гибкие опции по виду сортировки, стабильности и направлению.

Параметры:

  • Target Array — массив имён (Array Name), который необходимо отсортировать. Передаётся по ссылке и меняется на месте (элементы перераспределяются внутри исходного массива).
  • Stable Sort — флаг, указывающий, нужно ли использовать стабильную сортировку. При стабильной сортировке сохраняется изначальный порядок элементов с одинаковым значением, хотя сама сортировка работает медленнее. По умолчанию — False.
  • Lexical Sort — если True, сортировка выполняется по лексикографическому (текстовому) значению имени, то есть по строковому представлению имени. Это более затратный способ сортировки. Если False, используется более быстрый метод сравнения индексов имён, не учитывающий фактическое текстовое значение.
  • Sort Order — направление сортировки: по возрастанию (Ascending) или по убыванию (Descending). По умолчанию — Ascending.

Sort Byte Array

Blueprint-функция Sort Byte Array
Blueprint-функция Sort Byte Array

Blueprint-функция Sort Byte Array предназначена для сортировки массива байтов (Array Byte) с возможностью выбора стабильной сортировки и направления сортировки (по возрастанию или по убыванию).

Параметры:

  • Target Array — массив байтов (Array Byte), передаваемый по ссылке, который будет отсортирован на месте (элементы перераспределяются внутри исходного массива).
  • Stable Sort — флаг, указывающий, нужно ли использовать стабильную сортировку. При стабильной сортировке сохраняется изначальный порядок элементов с одинаковым значением, хотя сама сортировка работает медленнее. По умолчанию — False.
  • Sort Order — направление сортировки: по возрастанию (Ascending) или по убыванию (Descending). По умолчанию — Ascending.

Sort Integer Array

Blueprint-функция Sort Integer Array
Blueprint-функция Sort Integer Array

Blueprint-функция Sort Integer Array предназначена для сортировки массива целых чисел (Array int32) с возможностью выбора стабильного алгоритма сортировки и направления сортировки (по возрастанию или убыванию).

Параметры:

  • Target Array — ссылка на массив целых чисел (Array int32), который будет отсортирован на месте (элементы перераспределяются внутри исходного массива).
  • Stable Sort — флаг, указывающий, нужно ли использовать стабильную сортировку. При стабильной сортировке сохраняется изначальный порядок элементов с одинаковым значением, хотя сама сортировка работает медленнее. По умолчанию — False.
  • Sort Order — направление сортировки: по возрастанию (Ascending) или по убыванию (Descending). По умолчанию — Ascending.

Sort Integer64 Array

Blueprint-функция Sort Integer64 Array
Blueprint-функция Sort Integer64 Array

Blueprint-функция Sort Integer64 Array предназначена для сортировки массива 64-битных целых чисел (Array int64) с возможностью выбора стабильного алгоритма сортировки и направления сортировки (по возрастанию или по убыванию).

Параметры:

  • Target Array — ссылка на массив 64-битных целых чисел (Array int64), который сортируется на месте (элементы перераспределяются внутри исходного массива).
  • Stable Sort — флаг, указывающий, нужно ли использовать стабильную сортировку. При стабильной сортировке сохраняется изначальный порядок элементов с одинаковым значением, хотя сама сортировка работает медленнее. По умолчанию — False.
  • Sort Order — направление сортировки: по возрастанию (Ascending) или по убыванию (Descending). По умолчанию — Ascending.

Sort Float Array

Blueprint-функция Sort Float Array
Blueprint-функция Sort Float Array

Blueprint-функция Sort Float Array предназначена для сортировки массива чисел с плавающей запятой (Array float) с возможностью выбора стабильного алгоритма сортировки и направления сортировки — по возрастанию или по убыванию.

Параметры:

  • Target Array — ссылка на массив чисел с плавающей запятой (Array float), который сортируется на месте (элементы перераспределяются внутри исходного массива).
  • Stable Sort — флаг, указывающий, нужно ли использовать стабильную сортировку. При стабильной сортировке сохраняется изначальный порядок элементов с одинаковым значением, хотя сама сортировка работает медленнее. По умолчанию — False.
  • Sort Order — направление сортировки: по возрастанию (Ascending) или по убыванию (Descending). По умолчанию — Ascending.

Совет. Вскоре выйдет моя бесплатная книга по Blueprints для Unreal Engine в PDF формате. Как она выйдет, рекомендую её скачать, чтобы Вы детально изучили блюпринты Анрил Энджин.


наш Телеграм канал

Оцените статью
( 1 оценка, среднее 5 из 5 )
Поделитесь этой статьей со своими знакомыми в социальных сетях, возможно, эта статья кому-то будет полезна
Unreal Engine - это просто
Добавить комментарий

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