# Развертывание симуляции зоны ЧС в Unity # 1. Установка UnityHub Установка лаунчера подробно описано [на официальном сайте](https://docs.unity.com/en-us/hub/install-hub-linux#install-the-hub-on-an-ubuntu-linux-distribution). Дублирую информацию: 1.1 Проверяем наличие или устанавливаем при необходимости утилиту curl: ``` sudo apt install curl ``` 1.2 Добавляем публичный ключ для подписи ``` sudo install -d /etc/apt/keyrings curl -fsSL https://hub.unity3d.com/linux/keys/public | sudo gpg --dearmor -o /etc/apt/keyrings/unityhub.gpg ``` 1.3 Добавляем репозиторий Unity Hub (только для x86_64/amd64) ``` echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/unityhub.gpg] https://hub.unity3d.com/linux/repos/deb stable main" | sudo tee /etc/apt/sources.list.d/unityhub.list ``` 1.4 Устанавливаем приложение ``` sudo apt update sudo apt install unityhub ``` # 2. Установка Unity Заходим в Unityhub и во вкладке `Installs` нажимаем `Install Editor`. В появившимся окне выбираем `Unity 6.0`, проверяем, достаточно ли свободного места на диске, никакие дополнительные модули не ставим и подтверждаем установку. При необходимости модули можно будет доставить потом. # 3. Развертывание симуляции 1. Склонировать симуляцию из [Git‑репозитория](https://git.robofob.ru/sirius/sirius_unity_sim.git) в любую удобную папку на диске: ```bash git clone --recurse-submodules https://git.robofob.ru/sirius/sirius_unity_sim.git ``` Если репозиторий уже был склонирован без модуля, то выполнить: ```bash git submodule init git submodule update ``` 2. Скачиваем модели мира [Industrial_Zone_Modular_Pack](https://disk.yandex.ru/d/leNWr7JXhXlNJQ) и разархивируем ее в папку `Assets`. Должна получится струткура `Assets/Industrial_Zone_Modular_Pack` 3. В UnityHub добавляем проект `Add new project` и выбираем папку `sirius_unity_sim`. 4. Открываем проект и ждем процесса компиляции проекта. Unity не сможет скомпилировать некоторые скрипты и из-за этого предложит перейти в режим `Safe Mode`. Соглашаемся. 5. После открытия программы устанавливаемя дополнительные пакеты для организации свзяи ROS+Unity: - Через меню `Window > Package manager` выбрать раздел `Unity Registry` и установить библиотеку `Mathematics`,`Burst` - Через интерфейс "+" выбрать `Add package from git URL...` и ввести прикрепленные ниже ссылки - [ROS-TCP-Connector](https://github.com/Unity-Technologies/ROS-TCP-Connector) - перессылка сообещинй из ROS в Unity и обратно `https://github.com/Unity-Technologies/ROS-TCP-Connector.git?path=/com.unity.robotics.ros-tcp-connector`. - Visualizations - визуализация данных ROS-сообщений в Unity в реальном времени `https://github.com/Unity-Technologies/ROS-TCP-Connector.git?path=/com.unity.robotics.visualizations` - [URDF-Importer](https://github.com/Unity-Technologies/URDF-Importer) `https://github.com/Unity-Technologies/URDF-Importer.git?path=/com.unity.robotics.urdf-importer#v0.5.2` 6. Если не все ошибки были исправленны, то выходим из режима `Safe Mode > Exit Safe Mode`. Во вкладке `Robotics > ROS Settings` переключаем на протокол `ROS2` и ждем компиляции проекта. После компиляции оставшихся скриптов не должно возникнуть никаких критических ошибок.