Хелпикс

Главная

Контакты

Случайная статья





AI Steering+Avoidance



 

Motorsport Games

Тестовое задание - Unreal Engine/C++ developer

AI Steering+Avoidance

Задача

Необходимо реализовать:

- поведение транспортного средства, способного перемещаться по карте,

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

 

Требования

Если линия маршрута отсутствует на карте, AI должен двигаться в своем forward направлении. Транспортное средство обладает габаритами, представленными в виде вектора. Препятствия должны быть представлены стандартными Static Mesh Actor’ами (Box, Cylinder, Sphere и т.д.) и в совокупности иметь произвольную форму.

 

 

Ограничения

- Не использовать Navigation Unreal Engine 4 или любое другое решение для поиска путей.

- Не использовать компоненты движения Unreal Engine 4.

- Для препятствий не должно быть какой-либо предпросчитаной информации на карте.

- Препятствия не должны быть представлены каким-либо собственным классом (только StaticMesh Actor).

- Не должно быть класса, который агрегирует в себе все препятствия и выполняет какие-то предварительные вычисления и т.д.

- Ожидаем реализацию, в которой пользователю на новой карте надо создать экземпляр транспортного средства и настроить линию целевого маршрута (если это требуется).

- Проект должен быть разработан на Unreal Engine 4.22.

 

Желательно

- Составить документ, описывающий работу реализованного алгоритма.

- Использовать C++ за исключением случаев, где это нерационально.

- Протестировать свой алгоритм на препятствиях, перемещающихся в пространстве.

 

На чем СЛЕДУЕТакцентировать свое внимание при решении задачи:

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

- Правильный контроль AI скорости транспортного средства. Транспортное средство должно терять минимальное количество скорости при уклонении от препятствия.

- Следует учитывать габариты транспортного средства при уклонении.

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

- Успешность работы алгоритма не должна зависеть от формы препятствия.

 

На чем НЕ СЛЕДУЕТ акцентировать свое внимание при решении задачи:

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

- На оптимизации (в разумных пределах).

- На визуальной составляющей.

 

Что будет оцениваться

- Навыки программирования на С++ в контексте Unreal Engine 4.

- Умение правильно документировать свой код.

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

- Алгоритмическое мышление.

- Умение решать математические задачи в трехмерном пространстве.

- Знание инструментария движка и умение эффективно его использовать.

- Знание иерархии классов UE4, понимание их назначения и корректное применение.

- Умение находить решение в условиях ограничений.

- Умение тестировать работу своего алгоритма.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.