Visual Logger, или сокращенно VisLog, — это мощный инструмент профилирования, который позволяет вам легко захватывать, визуализировать и отлаживать внутриигровые события. Он обычно используется с визуализацией отладки ИИ, однако он отлично подходит для множества других вариантов использования, таких как —
- Прогнозируемые пути актеров
- Следы столкновений
- Траектории атаки/снаряда
- Отладка сети (сравнение данных клиентов и сервера)
- Использование с системой запросов окружающей среды (EQS)
- И т. д.
Курс «Создание мультиплеерной игры на Unreal Engine»
Базовый курс «Unreal Engine 5»
Курс «Создание игр на Unreal Engine 5»
Как открыть Visual Logger?
Открыть Visual Logger можно двумя способами:
Метод 1 — Панель меню
Визуальный регистратор можно открыть из строки меню редактора.
1. Панель меню
Найдите строку меню в верхней части редактора Unreal Engine.
2. Инструменты
В строке меню редактора щелкните по нужной Toolsопции.
3. Отлаживать
В Toolsменю выберите нужную Debugопцию.
4. Визуальный регистратор
В Debugменю нажмите кнопку Visual Logger, чтобы открыть окно Visual Logger.
Метод 2 — Консольная команда
Используйте VisLogконсольную команду, чтобы открыть окно Visual Logger.
VisLog записывает по умолчанию?
Нет. VisLog записывает данные только тогда, когда он включен.
Используйте эту Enable VisLog Recordingфункцию для включения и выключения VisLogging.
FVisualLogger& VisualLogger = FVisualLogger::Get();VisualLogger.SetIsRecording(true);
Как фиксировать события VisLog?
Существует множество функций и методов, которые могут быть использованы в событиях VisLog. Вот несколько распространенных —
Расположение VisLog
Функция VisLog Location регистрирует конкретное местоположение, представленное в виде сферы с указанным радиусом.
Эта функция может быть полезна для визуализации —
- следы удара
- расположение объектов/данных
- пути вдоль сегментов
- и т. д.
Как фиксировать события VisLog?
Существует множество функций и методов, которые могут быть использованы в событиях VisLog. Вот несколько распространенных —
Расположение VisLog
Функция VisLog Location регистрирует конкретное местоположение, представленное в виде сферы с указанным радиусом.
Эта функция может быть полезна для визуализации —
- следы удара
- расположение объектов/данных
- пути вдоль сегментов
- и т. д.
Сегмент VisLog
Функция VisLog Segment записывает строку с указанным начальным и конечным положением.
Эта функция может быть полезна для визуализации —
- расстояние между объектами
- траектории и пути
Текст VisLog
Функция VisLog Text полезна для регистрации простой текстовой строки, идеально подходящей для сбора данных, относящихся к определенному событию.
Формы VisLog
При использовании C++ доступен широкий спектр форм для визуализации, что позволяет вам представлять практически все. Хотя большинство этих форм не доступны напрямую в Blueprints, их можно использовать в Blueprints, что обеспечивает еще большую гибкость.
UE_VLOG_BOX
UE_VLOG_CONE
UE_VLOG_ARROW
UE_VLOG_CIRCLE
UE_VLOG_CYLINDER
И многое другое…
Хотя я и рассказал о самых распространенных, я хочу хотя бы упомянуть об интересных.
Есть еще несколько макросов C++, которые могут оказаться полезными —
UE_VLOG_MESH
Макрос UE_VLOG_MESHиспользуется для рисования пользовательской сетки с использованием вершин и индексов. Полезно для отладки проблем, связанных с коллизиями или навигацией.
Функции скриптинга процедурной сетки и геометрии весьма полезны при использовании этого макроса.
UE_VLOG_HISTOGRAM
Макрос UE_VLOG_HISTOGRAM используется для рисования гистограммы на области просмотра, которая представляет статистическое распределение набора данных. Его можно использовать для визуализации распределений данных (например, распределения веса принятия решений ИИ, изменения атрибутов персонажей и т. д.)
Примечание: для визуализации гистограммы обязательно включите опцию «Графики» в Visual Logger.
UE_VLOG_CONVEXPOLY
Макрос UE_VLOG_CONVEXPOLY используется для рисования 2D-выпуклого полигона. Его можно использовать для визуализации областей или регионов (например, навигация, прокладка маршрута, прицел и т. д.)
UE_VLOG_EVENT_WITH_DATA
Макрос UE_VLOG_EVENT_WITH_DATA используется для предоставления пользовательских данных на основе событий в Visual Logger. Его можно использовать для записи определенных событий или действий с соответствующими данными, предоставляя больше контекста для отладки и анализа.
UE_VLOG_EQS
Макрос UE_VLOG_EQS используется для регистрации данных, относящихся к системе запросов окружающей среды (EQS), которая сама по себе является системой запросов к окружающей среде для принятия решений на основе ИИ.
В частности, этот макрос регистрирует результаты запросов EQS, предоставляя информацию о принятии решений ИИ.
Как начать работу с Visual Logger в C++?
К счастью, начать работу с Visual Logger в C++ довольно просто. Вот несколько фрагментов кода, с которых можно начать —
Включать
Это необходимое включение C++ для Visual Logger.
#include "VisualLogger/VisualLogger.h"
Определить статический журнал
При работе с VisLogging вам может потребоваться определить конкретный тип журнала.
DEFINE_LOG_CATEGORY_STATIC( LogUDVisLog, Log, All )
Сорт
Класс, используемый для вызова функций VisLog.
FVisualLogger
Пример
Вот минимальный жизнеспособный пример рисования блока VisLog.
Пример.cpp
#include "VisualLogger/VisualLogger.h"
DEFINE_LOG_CATEGORY_STATIC( LogUDVisLog, Log, All )
AUDVisLogExample::Example()
{
#if ENABLE_VISUAL_LOG
if (!FVisualLogger::IsRecording()) { return; }
const UWorld* World = GetWorld();
if (!World) { return; }
const FVector BoxLocation = GetActorLocation() + FVector(500.0f, 0.0f, 0.0f);
const FVector BoxExtent(100.0f, 100.0f, 100.0f);
const FBox Box(BoxLocation - BoxExtent, BoxLocation + BoxExtent); UE_VLOG_BOX(World, LogUDVisLog, Log, Box, FColor::Blue, TEXT("Draw Box"));
#endif
}
Онлайн курсы по Unreal Engine 5: