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
Clonez le projet GitLab.
git clone ssh://git@gitlab.intech.lu:10022/intechvr/firstdemonstration.git
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
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 icecast2yum :
sudo yum install icecast2brew (macOS) :
sudo brew install icecastWindows
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.