Скачать бесплатную книгу по Blueprint для Unreal Engine.

Основная цель книги — дать общий, целостный и понятный обзор системы Blueprint. Книга предлагает взгляд с высоты «птичьего полёта» — ясную и чёткую карту игрового мира Unreal Engine, которая поможет увидеть ключевые взаимосвязи и понять, как устроена система визуального скриптинга.

Зарегистрироваться в ЛК и скачать книгу [Blueprints. Взгляд с высоты «птичьего полёта»]


Что такое ... в Unreal Engine?

Что такое Pure (чистая) функция в Unreal Engine? | UE4, UE5 | Blueprint

Автор: Будуев Антон / UE просто, Создана: 08.08.2026 в 09:20

Pure-функции в Blueprints

Pure (чистая) функция в Unreal Engine  — это функция в Blueprint, которая не изменяет состояние объекта или игрового мира и предназначена исключительно для получения данных или выполнения вычислений. Проще говоря, она отвечает на вопрос «Какое сейчас значение?», а не «Что нужно сделать?». Чаще всего такие функции используются в качестве геттеров (Getter) или для различных математических операций.

Главное отличие Pure-функции от обычной заключается в отсутствии пинов выполнения (Exec). У таких узлов нет белых стрелок входа и выхода, поэтому они не запускаются напрямую. Вместо этого Unreal Engine автоматически вызывает функцию в тот момент, когда другому узлу требуется её результат. Например, если значение из Pure-функции используется в условии узла Branch, функция будет вызвана непосредственно перед выполнением проверки.

Вторая важная особенность заключается в том, что Pure-функция не должна изменять состояние объекта или игрового мира. Внутри неё не следует изменять переменные класса, использовать узлы Set, создавать или уничтожать Акторов, изменять компоненты, запускать таймеры, воспроизводить звуки или выполнять любые другие действия, имеющие так называемые побочные эффекты. Идея Pure-функции заключается в том, что при одинаковых входных данных она всегда возвращает одинаковый результат, не влияя на состояние игры.

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

Создать Pure-функцию в Blueprints очень просто. Нужно создать новую функцию, выбрать её и в панели Details установить флажок Pure. После этого у функции исчезнут Exec-пины, а её узел в графе станет зелёного цвета.

Выполнение и производительность

Важно понимать, как именно выполняются Pure-функции. Многие начинающие разработчики ошибочно считают, что такая функция вычисляется один раз, а затем её результат используется повторно. На самом деле это не так. Pure-функция выполняется каждый раз, когда какому-либо узлу требуется её выходное значение. Если выход одной Pure-функции подключён одновременно к трём различным узлам, Unreal Engine вызовет её три раза. Каждый запрос значения — это отдельное выполнение функции.

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

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

Следует также помнить, что Pure-функции не кэшируют свой результат. Даже если функция вызывается несколько раз подряд с одинаковыми входными параметрами, движок каждый раз выполняет её код заново. Если необходимо избежать повторных вычислений, кэширование результата должен выполнять сам разработчик.

Преимущества и итог

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

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

===============

Зарегистрироваться в ЛК и скачать книгу по Blueprint: [Blueprint. Взгляд с высоты «птичьего полёта»]

33 просмотра

    Скачать бесплатную книгу по Blueprint для Unreal Engine.

    Основная цель книги — дать общий, целостный и понятный обзор системы Blueprint. Книга предлагает взгляд с высоты «птичьего полёта» — ясную и чёткую карту игрового мира Unreal Engine, которая поможет увидеть ключевые взаимосвязи и понять, как устроена система визуального скриптинга.

    Зарегистрироваться в ЛК и скачать книгу [Blueprints. Взгляд с высоты «птичьего полёта»]

      Канал Unreal Engine — это просто