Aller au contenu principal

1 - Mise en place du démonstrateur

Dans cette section, nous détaillons les différentes étapes nécessaires pour mettre en place le démonstrateur.

Dans l'état actuel, il n'existe pas de version de distribution, basé sur des images et éléments exécutables récupérables en ligne. Toute la mise en place est réalisée à partir du code source trouvé sur GitLab : https://gitlab.intech.lu/intechvr/firstdemonstration/-/tree/dev

Téléchargement

  1. Clonez le projet GitLab.

    git clone ssh://git@gitlab.intech.lu:10022/intechvr/firstdemonstration.git

  2. Récupérer la version stable la plus à jour, actuellement sur dev (idéalement sur main).

    git checkout dev

Les fichiers que vous avez importé contiennent :

  • L'API, unrealapi
  • Le serveur web, unrealweb
  • Le projet Unreal Engine 4, UEFirstDemo
  • Le serveur média, icecast
  1. Installez Icecast2.

    Linux/MacOS

    Sur les systèmes UNIX, vous pouvez tout simplement utiliser le gestionnaire d'installation des paquets pour installer Icecast2.

    apt-get : sudo apt-get install icecast2

    yum : sudo yum install icecast2

    brew (macOS) : sudo brew install icecast

    Windows

    Sur Windows, vous devez installer l'exécutable. https://downloads.xiph.org/releases/icecast/icecast_win32_2.4.4.exe

Préparation du projet Unreal

Dans firstdemonstration/UEFirstDemo, cliquez droit sur le projet Unreal et générez les fichiers Visual Studio.

Ouvrez le projet Visual Studio.

Générez le projet.

Lancez le projet Unreal en éditeur.

Dans File > Package project :

  • Sélectionnez Build Configuration : Development
  • Sélectionnez Build Target : UEFirstDemo
  • Puis sélectionnez le packaging adapté à votre OS. Mettez les fichiers packagés dans le répertoire de votre choix, par exemple un dossier Packaged dans le projet Unreal.

Vous y trouverez l'exécutable du client unreal.

Vous ne pouvez pas packager la version serveur de l'application Unreal sans une version spécifique et un processus laborieux. Gardez l'éditeur ouvert, vous vous en servirez pour démarrer un serveur de jeu.

Lancement

Démarrez l'API.

cd firstdemonstration/unrealapi
npm i
node index.js

Démarrez le serveur web.

cd firstdemonstration/unrealweb
npm i
npm run serve

Vous pouvez dès à présent lancer des clients web à localhost:8080.

Démarrez le serveur média.

cd firstdemonstration/icecast2 && icecast2 -c icecast.xml

Vous pouvez consulter le panneau d'administration du serveur média au port localhost:8000.

Lancez l'exécutable du client Unreal.

Créer et rejoindre un salon

Avec un client, renseignez un pseudonyme et demandez à créer un salon.

L'API crée le salon et demande qu'un serveur Unreal soit lancé pour le servir. Notez l'id du salon créé.

Configurez le projet Unreal pour que le serveur se connecte correctement au salon. Pour ce faire modifiez le fichier UEFirstDemo/Config/DefaultGame.ini, remplacez la valeur de idRoom par l'id relevé plus tôt.

De retour dans l'éditeur Unreal, dans Edit > Editor Preferences > Level Editor - Play > Multiplayer Options, activez Launch Separate Server et désactiver Run Under One Process.

Lancez le jeu depuis l'éditeur. Un terminal devrait s'ouvrir, c'est le serveur. Il se connecte au salon au lancement.

Automatiquement, le client se connecte au serveur unreal s'il est un client Unreal.

Une fois le serveur démarré, d'autres clients peuvent rejoindre le salon. Renseignez simplement pseudonyme et id du salon.