Prochain événement    Gros Multi Onward jeudi 8 déc. à 21h00 !    du 08/12/2016 (21:00) au 08/12/2016 (23:45)

ACTUALITÉ
ArmSwinger, la solution pour le déplacement en monde ouvert ?

Publié par
Article de la communauté
le 31/08/2016 à 17:25
Ah, Le déplacement en réalité virtuelle ! Encore un sujet qui revient souvent sur le tapis. Tiens à propos de tapis,  dès qu’on aborde le sujet du déplacement, on pense tout de suite au fameux simulateur de marche le Virtuix Omni, une option intéressante mais malgré tout onéreuse. Mais ce ne n’est pas le sujet du jour. Ce dont nous allons parler aujourd’hui est une solution purement logicielle, gratuite et sans accessoires autres que les contrôleurs (manettes) du HTC-Vive  :  le simulateur  de  déplacement ArmSwinger.  Pour l’instant,  il est développé  uniquement  pour le HTC-Vive, le seul casque à être proposé avec des manettes pour une utilisation en Roomscale. Malheureusement, le Roomscale, comme son nom l’indique, limite les déplacements à l’échelle d’une pièce. Si cela peut s’avérer suffisant pour certains jeux, cela peut aussi rendre frustrantes les expériences de jeux en monde ouvert.

Aujourd’hui la solution la plus fréquemment proposée pour pallier ce problème est la téléportation communément nommée « Blink », qui propose d’effectuer des sauts en pointant et en cliquant sur le contrôleur. Cette solution a l’avantage de ne pas provoquer de cinétose, et peut s’avérer très efficace dans des jeux qui ne nécessitent que quelques déplacements. Néanmoins, cette technique peut devenir fastidieuse dans des jeux d’exploration qui utilisent de grandes Maps ; on peut progresser dans le jeu mais au détriment de l’immersion, l’expérience est alors en partie gâchée.

Plusieurs méthodes sont encore au stade expérimental, mais celle qui semble sortir du lot et qui est d’ores et déjà adoptée dans quelques jeux est ArmSwinger. Cette solution est gratuite et facile à implémenter.


​C'EST GRATUIT, ÇA M'INTÉRESSE ! ALORS EXPLIQUEZ-MOI CE QU'EST ARMSWINGER.

ArmSwinger est un simulateur de déplacement en réalité virtuelle qui permet d’utiliser vos bras pour contrôler votre position dans un espace 3D. ArmSwinger se présente sous forme d’une librairie  développée sous Unity. Ce simulateur permet, une fois intégré dans un jeu prévu pour la réalité virtuelle et développé également sous Unity, de vous déplacer en balançant vos bras.  Il est proposé en Open Source sur GitHub depuis seulement un mois et mis à disposition pour toute personne souhaitant l’intégrer dans un projet, le tester ou l’améliorer. Ce simulateur est destiné avant tout à des jeux se déroulant dans des espaces ouverts et nécessitant une Map.

« C’est la manière la plus naturelle pour se déplacer, il provoque un minimum de désorientation ou de cinétose » C’est comme ça qu’ArmSwinger a été présenté par son créateur M. Keller (KJack), lead developer  d’Electric Night Owl.

Afin d’éviter cette  cinétose ou cette désorientation, l’inventeur d’ArmSwinger l’a bien compris, il faut réussir à tromper l’oreille interne en simulant la marche. Certains développeurs avaient essayé des solutions alternatives en marchant sur place par exemple, mais malheureusement le résultat n’est pas souvent concluant. 

SE DÉPLACER AVEC LES BRAS ? QUELLE IDÉE, ON MARCHE SUR LA TÊTE LÀ !

L’idée semble bonne car elle est basée sur le principe même de la marche, constatez par vous-même ! Quand vous marchez dans la rue, vous balancez vos bras naturellement le long du corps du côté opposé au mouvement des jambes : vous avancez votre bras droit pendant que vous avancez votre jambe gauche, et inversement. ArmSwinger se contente d’utiliser ce mouvement de balancier de vos bras comme si c’étaient vos jambes. Pour courir, il vous suffit d’accélérer la cadence de vos bras.

Vous aurez remarqué que j’utilise le mot « simulateur » pour parler d’ArmSwinger, car sa fonction principale est bien de simuler la marche. C’est vrai qu’il ne gère pas toute la physique du déplacement comme le ferait un moteur physique  en appliquant les lois de la mécanique classique, c’est-à-dire en prenant en compte toutes les forces que nous exerçons ou subissons à savoir la gravité, la masse…, cependant ArmSwinger gère les collisions, l’escalade, les chutes et simule bien l’inertie du mouvement comme nous le verrons plus bas dans l’article.
 

DONC, SI J'AI BIEN COMPRIS, POUR AVANCER IL FAUT BALANCER SES BRAS ET SI ON VEUT CHANGER DE DIRECTION, POUR ÉVITER UN OBSTACLE PAR EXEMPLE, ON CONTINUE À BALANCER SES BRAS MAIS CETTE FOIS EN POINTANT LES MANETTES DANS LA DIRECTION OÙ ON VEUT ALLER, C'EST ÇA ?

Oui, c’est tout à fait ça ! La direction du balancier donne la direction du déplacement, Vous pouvez ainsi marcher tout en tournant la tête dans toutes les directions et regarder l’environnement dans lequel vous évoluez, sans altérer le déplacement. C’est ce que vous faites naturellement quand vous vous promenez IRL.
Pour reculer, il suffit de lever les bras et les balancer en l’air, c’est aussi simple que ça ! 
 

QU'EST-CE QUI SE PASSE QUAND LE SOL N'EST PAS PLAT, DANS LE CAS D'UN ESCALIER OU UN MONTICULE PAR EXEMPLE ?

Pour monter un escalier,  grimper sur un monticule, descendre dans une crevasse, escalader une pente avec différents degrés d’inclinaison  ou simplement traverser un sol accidenté, vous n’avez rien d’autre à faire si ce n’est continuer à balancer vos bras et le simulateur fait le reste.  Tous ces cas sont simulés par ArmSwinger.
Par contre je vous préviens tout de suite, le Holodeck de Star Trek n’est pas pour tout de suite. Dites-vous bien que vous ne pourrez jamais ressentir les cailloux sous vos pieds, ni la force à déployer pour monter un escalier. Malgré tout ArmSwinger vous promet un mouvement fluide et cohérent pour vous éviter la cinétose et garder une bonne inertie du mouvement. Et…

STOP ! L'INERTIE DE QUOI ? QU'EST-CE QUE C'EST ENCORE CE TRUC ?

Pas de panique, je vais vous expliquer ça d’une manière très simple : Le principe d’inertie est la première des lois de Newton,  qui dit que tout objet placé dans un référentiel galiléen et soumis à des forces nulles est soit immobile, soit en mouvement rectiligne uniforme.

Heu… ! J’ai l’impression que, dit comme ça, ce n’est peut-être pas très clair ! 

Bon, je pense que ce serait plus facile à comprendre à travers un exemple : si on prend le cas d’un astronaute dans le vide de l’espace, et si personne ne le touche, il va rester cloué là ad vitam aeternam ! Il est soumis à des forces nulles et reste donc immobile, voilà ! Mais si quelqu’un le pousse… l’astronaute va alors se déplacer et continuer son mouvement de translation sans jamais s’arrêter. Il a été soumis à une force non nulle et il est donc passé en mouvement rectiligne uniforme.  C’est  le principe d’inertie. Et là si vous me dites : «Et s’il n’y a pas d’astre ou de galaxies autour de lui, comment sait-on s’il se déplace ? »,  alors je vous répondrais simplement que c’est pour ça que monsieur Newton a introduit dans sa loi la notion de référentiel galiléen. La notion de déplacement est relative ! On se déplace toujours par rapport à quelque chose.

Un autre exemple pour finir sur le sujet : la lumière.  Une fois émise par un astre, la lumière va continuer à se déplacer sur une ligne droite à vitesse constante, en suivant le principe d’inertie, sauf évidement si un élément extérieur la dévie de sa trajectoire ou l’arrête complètement. 


OK, MAIS POURQUOI A-T-ON BESOIN DE CETTE NOTION D'INERTIE DANS NOTRE CAS ?

Pour bien comprendre le pourquoi, on va considérer que l’inertie n’est pas activée dans ArmSwinger et observer ce qui se passerait  dans ce cas de figure.

Pour vous déplacer, vous devez balancer votre bras de l’arrière vers l’avant et arrivé en bout de course votre bras repart de l’avant vers l’arrière, et ainsi de suite. Pendant que votre bras bouge, vous vous déplacez dans le jeu, mais lorsque votre bras arrive en bout de course, la manette marque un arrêt bref avant de repartir dans l’autre sens ; durant ce très court instant vous seriez à l’arrêt dans le jeu si l’inertie n’était pas activé, et lors du mouvement de retour de votre bras dans l’autre sens, vous reprendriez votre déplacement, et ainsi de suite. Votre déplacement serait discontinu et ne correspondrait pas à la réalité. Votre déplacement serait dit en « Stop and Go ».

Maintenant, considérons que l’inertie est activée dans ArmSwinger : cette fois quand votre bras (et donc la manette) arrive en bout de course, le déplacement n’est plus interrompu. Quand votre bras repart dans l’autre sens, ArmSwinger déduit que vous continuez votre déplacement. Ainsi, vous gardez votre déplacement uniforme et fluide.

Lorsque vous voulez stopper votre progression dans le jeu, il suffit d’arrêter le mouvement de vos bras, alors votre déplacement s’arrête progressivement jusqu’à l’arrêt complet. 


C'EST VRAI QUE ÇA N'A PAS L'AIR SIMPLE, ARMSWINGER DOIT GALÉRER POUR GÉRER LE TRACKING DES MANETTES, NON ?

En effet, ArmSwinger effectue également une fonction de lissage du mouvement des contrôleurs. Il utilise une méthode d’échantillonnage pour éliminer les secousses générées par les manettes surtout lors du changement brusque de position. ArmSwinger élimine tous les mouvements parasites qui sont souvent liés à une mauvaise détection des manettes par leurs bases, car il ne faut pas l’oublier, la fonction de tracking du HTC-Vive est loin d’être parfaite.

Voici une vidéo qui nous montre le simulateur à l’œuvre !

C'EST BIEN JOLI TOUT-ÇA, MAIS PEUT-ON TESTER ARMSWINGER ?

Oui, nous allons tester ça tout de suite.
  • commencez par télécharger la dernière version (RC2) en cliquant-ici
  • dézippez l’archive téléchargée dans le dossier de votre choix
  • lancez SteamVR (allumez vos manettes, stations et casque)
  • lancez l’exécutable qui devrait s’appeler : ArmSwinger VR Locomotion Test Build – RC2.exe
    (clique droit, et exécutez en tant qu'administrateur)
  • Une fenêtre, ArmSwinger configurator, apparaît :
    vous pouvez modifier les paramétrages d’entrée ou de sortie (affichage),
    puis cliquez sur le bouton Play. 
  • mettez votre casque
  • vous êtes dans le jeu
Le « jeu » se présente sous forme d’un petit parcours qui va vous permettre de tester les différentes fonctionnalités d’ArmSwinger. Sa Map se compose suit :
  • un terrain
  • des bosses et des crevasses
  • un monticule et une plateforme surélevée : avec plusieurs descentes de pentes différentes
  • des couloirs de taille variable
  • des escaliers
  • et un immense panneau de contrôle mural
Pour avancer dans la Map, il faut maintenir appuyés les boutons sur la tranche des manettes du Vive et commencer à balancer vos bras. Si vous souhaitez par la suite n’avancer qu’en appuyant sur un seul des deux boutons, il faudra alors modifier le réglage sur le panneau de contrôle mural. Ce dernier cas de figure est intéressant lorsque par exemple vous vous déplacez et utilisez une arme en même temps. Ainsi vous vous déplacez d’une main, et vous combattez de l’autre.

Vous pouvez maintenant vous en donnez à cœur joie pour tester tous les paramètres du panneau mural d’ArmSwinger. Essayez de trouver les bons réglages, explorez le champ de bosses, testez le changement de vitesse, l’inertie du mouvement, montez et descendez les escaliers, grimpez sur la plateforme tout en testant les différentes pentes qui vous sont proposées en n’oubliant pas de grimper sur le monticule pour tester les crevasses. N’oubliez pas de tester les différents couloirs : une petite astuce, pour passer dans les couloirs étroits, rapprochez les manettes l’une de l’autre, vous amincissez ainsi votre personnage.

Tiens, une fois que vous êtes sur le monticule, essayez de vous jeter dans le vide… Vous remarquerez alors que vous ne pourrez pas tomber ! ArmSwinger effectue une sorte de machine arrière quand il détecte le vide ou une collision, le simulateur vous renvoie à votre position précédente (juste avant « l’impact »).


SUPER, JE VIENS D'ESSAYER  ! MAIS DANS LE JEU, J'AI UNE SENSATION BIZARRE... COMME UN DÉBUT D'ENVIE DE VOMIR ! POURQUOI ?

Ah oui, j’ai oublié de prévenir ! Il faut procéder au test progressivement, car votre cerveau ne s’est pas encore habitué à ce type de déplacement. Mais ne vous inquiétez pas, au bout d’un moment, le cerveau va l’intégrer (ou pas ?).

Pour limiter cet effet, essayez de bien paramétrer ArmSwinger, car sinon votre oreille interne vous le fera savoir.
Cette envie de vomir est la cinétose, c’est le mal des transports qui est provoqué lors d’une situation de discordance entre la perception visuelle et l’oreille interne. Pour simplifier et pour ceux qui ne le savent pas, quand l’oreille interne est perturbée, le cerveau l’interprète comme une tentative d’agression du corps par empoisonnement, et pour faire évacuer ce qu’il pense être le poison, il déclenche alors le vomissement.


OK ÇA VA POUR L'INSTANT. MAIS SI J'AI BIEN COMPRIS, ARMSWINGER N'EXISTE QUE SUR UNITY ?

Oui, c’est vrai qu’ArmSwinger est une bibliothèque Unity, cependant KJack n’était pas le seul à travailler sur les déplacements du type ArmSwinger, déjà en mai 2016 David Dewhirst proposait un prototype téléchargeable du même acabit. Ce prototype est moins abouti et il est développé sous Unreal 4.
 
 
Pour tester ce prototype, faites comme précédemment :
  • téléchargez ce prototype en cliquant-ici
  • dézippez l’archive télécharger dans le dossier de votre choix
  • lancez SteamVR (allumez vos manettes, stations et casque)
  • lancez l’exécutable qui devrait s’appeler : VR_Template.exe
    (Clique droit, et exécutez en tant qu'administrateur)
  • appuyez sur Alt+Entrée pour démarrer le tracking du casque et des contrôleurs
  • mettez votre casque
  • vous êtes dans le jeu.
    Appuyez sur le bouton sur la tranche de chaque manette et bouger vos bras pour vous déplacer.


OK, MAIS QUID D'UNE UTILISATION DANS LE CADRE D'UN FPS ?

C’est ce que nous allons voir tout de suite, en testant ArmSwinger dans le cadre d’un petit FPS développé pour l’occasion sous Unity par KJack.

Pour tester ce petit FPS, faites comme précédemment :
  • téléchargez cette démo FPS en cliquant-ici
  • dézippez l’archive télécharger dans le dossier de votre choix
  • lancez SteamVR (allumez vos manettes, stations et casque)
  • lancez l’exécutable qui devrait s’appeler : ArmSwinger FPS Demo v1.exe
    (Clique droit, et exécutez en tant qu'administrateur)
  • Une fenêtre, ArmSwinger configurator, apparaît :
    vous pouvez modifier les paramétrages d’entrée ou de sortie (affichage),
    puis cliquez sur le bouton Play. 
  • mettez votre casque
  • vous êtes dans le jeu
ArmSwinger, la solution pour le déplacement en monde ouvert ? - 24
 Alors  vous avez testé ?  Dans un environnement FPS ça rend mieux non ?

HEU... MOI JE PARLAIS D'UN FPS AVEC DES MONSTRES ET TOUT !

Avec des monstres ? Si vous rêvez d’entrer dans un monde magique peuplé de monstres et de dragons, un monde dont vous deviendrez le héros, un monde que vous allez sauver du désastre, si vous  êtes prêt à écrire votre propre légende, alors j'ai peut-être un jeu pour vous ! Bienvenue dans le monde de « Seekers Of Damocles ».

« Seekers Of Damocles » a été développé par « ModernDelta » qui s’est inspiré du travail de KJack pour réaliser une version pour Unreal Engine.

Pour tester cette démo, faites comme précédemment :
  • téléchargez cette démo en cliquant-ici
  • dézippez l’archive télécharger dans le dossier de votre choix
  • lancez SteamVR (allumez vos manettes, stations et casque)
  • lancez l’exécutable qui devrait s’appeler : SOD.exe
    (Clique droit, et exécutez en tant qu'administrateur)
  • mettez votre casque
  • vous êtes dans le jeu
N’oubliez pas d’activer ArmSwinger dans les options du menu du jeu. Pour accéder à ce menu, il vous suffit d’effectuer un appui long sur le bouton « menu » situé au-dessus du gros bouton central du contrôleur, puis de sélectionner le menu « Option » avec l'autre manette. 

Je vous laisse découvrir le jeu !
 



VERRA-T-ON UN JOUR ARMSWINGER DANS DE VRAIS JEUX ?


Mais… Comment ça dans de vrais jeux ???

« Seekers of Damocles » est un vrai jeu ! « ModernDelta »  développeur du jeu, a même été approché par Valve suite à l’intérêt porté par la communauté pour son jeu. Sa sortie sur Steam est prévue pour le dernier trimestre de cette année.

 

« ROOMSCALE TOWER » est un autre jeu qui utilise ArmSwinger et déjà en vente sur Steam. Pour l’instant ce jeu est prévu uniquement pour le HTC-Vive. 
« Roomscale Tower » est un jeu qui se déroule au moyen âge, il utilise la photogrammétrie pour ses scènes et intègre complétement la technologie d’ArmSwinger pour ses déplacements.
« Roomscale Tower » est en accès anticipé et vendu 16,99 € sur Steam.

Voilà, on a terminé ce long exposé sur ArmSwinger. Si vous souhaitez en apprendre un peu plus, je vous invite à regarder la série de vidéos  qui vous est proposée par « Electric Night Owl » sur leur chaine YouTube. Ces vidéos sont des didacticiels qui vont vous aider à comprendre les différentes fonctionnalités d’ArmSwinger et à vous familiariser avec les différents paramétrages. Et n’oubliez pas, nous sommes seulement un mois après son lancement, même s’il n’est pas encore parfait, ArmSwinger a l’avantage d’être pleinement fonctionnel.


Tag(s) associé(s) : réalité virtuelle, Jeu, Actualité, HTC Vive
9 COMMENTAIRES

Connectez-vous pour commenter.