#7 – Визуальный пример на базе движка Unity
Видеоурок
Что такое ML-Agents?
ML-Agents — это библиотека, разработанная Unity, которая позволяет создавать агентов в игровом мире и обучать их на основе подкрепления. Это значит, что агент изначально не знает, как себя вести, но, пробуя различные действия и получая за них награды или штрафы, со временем учится оптимальному поведению.
ML-Agents состоит из двух основных компонентов. Первый — это часть внутри Unity, представлена в виде плагина и набора скриптов. Второй — это внешняя Python-библиотека, с помощью которой вы запускаете обучение и контролируете процесс. Эти две части взаимодействуют друг с другом через специальный протокол.
Что будет в этом уроке?
Мы создадим простейшую сцену: агент в виде шара и цель в виде маленького кубика. Агенту предстоит научиться двигаться по плоскости и достигать цели. Это базовая задача, но она показывает все ключевые этапы: как создать агента, как задать правила, как соединить Unity с Python и как в итоге запустить обучение.
Подготовка проекта Unity
Надеюсь, Unity у вас уже установлен. Если нет — скачайте его и установите. В Unity создайте новый 3D-проект. Назовите его, например, MLBall.
Перейдите в Unity Asset Store и скачайте последнюю версию ML-Agents Unity Package. Этот плагин нужно будет добавить в проект Unity и импортировать все его содержимое.
После установки у вас появится возможность добавлять поведение агентам, а также использовать специальные компоненты.
Создание сцены: агент и цель
Теперь создаём саму сцену. Добавьте в сцену плоскость (3D Object > Plane) — это будет наша игровая площадка. Далее создайте шар (3D Object > Sphere) — это и будет агент. И добавьте куб (3D Object > Cube) — это будет цель.
Шар назовите Agent, а куб — Target. Назначьте им разные цвета с помощью материалов, чтобы легко отличать их при запуске игры. Добавьте к шару и кубу компонент Rigidbody — он отвечает за физику в Unity. Установите у шара параметр Use Gravity = false, так как он будет двигаться по плоскости.
Материалы для курса
Чтобы скачивать материалы к видеокурсам необходимо оформить подписку на сайт
Задание к уроку
Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям
Также стоит посмотреть