J’ai rendu des gens malades avec mon propre logiciel. Pas exprès, mais le premier système de locomotion que j’ai construit avait une courbe d’accélération douce qui me convenait parfaitement et qui a rendu un tiers de mes testeurs verts en deux minutes. Cette expérience m’a appris plus sur le design VR que n’importe quel tutoriel. Le casque est sanglé sur le visage de quelqu’un et branché sur son système d’équilibre, donc une erreur d’UX ici n’est pas un clic raté, c’est une personne qui arrache l’appareil et ne revient jamais.
Pourquoi le mal des transports VR survient
Le mal du simulateur vient d’un décalage entre ce que vos yeux rapportent et ce que votre oreille interne ressent. Quand vous poussez le joystick pour avancer, vos yeux voient du mouvement mais votre corps sait qu’il est immobile. Votre cerveau interprète ce conflit comme il interprète un poison, ce qui explique la nausée. Tout le design de confort consiste à réduire cet écart ou à le masquer.
La sensibilité varie énormément d’une personne à l’autre. Certains joueurs peuvent courir et faire des pas latéraux en fluide pendant des heures, d’autres sont mal à l’aise après un simple virage lent. Vous ne pouvez pas concevoir pour la minorité au ventre solide. Vous concevez pour la majorité sensible et vous laissez les coriaces opter pour des options plus intenses.
Locomotion : choisir le bon outil
La façon de déplacer les joueurs est la plus grande décision de confort que vous prendrez. Il n’y a pas d’option parfaite, seulement des compromis.
- La téléportation est la plus sûre. Le joueur pointe, cligne vers un nouvel endroit, et il n’y a aucun mouvement continu pour contrarier l’oreille interne. Ça casse un peu l’immersion et c’est maladroit en combat, mais presque personne n’est malade avec ça. Faites-en votre option par défaut.
- La locomotion fluide, la marche au joystick qui semble naturelle aux joueurs, est la plus immersive et la plus nauséeuse. Si vous la proposez, rendez-la optionnelle et jamais le seul choix.
- Le déplacement par dash ou par petits sauts fait la moyenne avec un cligne rapide sur une courte distance.
- Le déplacement physique à l’échelle de la pièce, où le joueur marche vraiment, est le plus confortable de tous parce qu’il n’y a aucun décalage. Concevez vos espaces pour tenir dans une vraie zone de jeu quand vous le pouvez.
L’astuce que la plupart des jeux sortis utilisent est de proposer tout ça et de laisser les joueurs choisir dans un menu de confort qu’ils voient avant tout le reste. Respectez le fait que tout le monde n’a pas votre tolérance.
La rotation est plus sournoise que le déplacement
La rotation provoque plus de nausées que la translation chez beaucoup de gens, et c’est facile à négliger. La rotation fluide au joystick, où le monde tourne continuellement autour d’un joueur immobile, est brutale pour les utilisateurs sensibles. Le correctif standard est le snap turning, où la vue saute d’un angle fixe comme 30 ou 45 degrés à chaque coup de joystick. La coupe instantanée ne donne à l’oreille interne rien de continu à contester.
Proposez les deux et laissez les joueurs régler l’angle du snap. Je règle désormais chaque projet sur le snap turning par défaut et je traite la rotation fluide comme l’option avancée, l’inverse de ce qui semble intuitif quand on le construit.
Réduire le conflit visuel
Quand vous avez bel et bien un mouvement continu, vous pouvez l’adoucir. Une vignette qui rétrécit le champ de vision pendant le déplacement est l’outil le plus efficace que je connaisse. En noircissant la périphérie pendant que le joueur bouge, vous supprimez le flux optique sur les bords que le cerveau lit le plus fortement comme du mouvement. On croirait que ça donne une sensation de restriction mais la plupart des gens ne le remarquent jamais consciemment, et ça élargit nettement le nombre de gens qui peuvent jouer confortablement.
Voici l’idée en pseudo-code. L’intensité de la vignette varie avec la vitesse du joueur.
onUpdate(player):
speed = magnitude(player.velocity)
target = clamp(remap(speed, 0, maxSpeed, 0, maxVignette), 0, maxVignette)
// tendre vers la cible pour que les bords s'estompent en douceur
vignette.intensity = lerp(vignette.intensity, target, deltaTime * 8)
apply(vignette)
D’autres petites choses aident. Gardez un horizon stable, évitez de bouger la caméra d’une manière que le joueur n’a pas initiée, n’appliquez jamais de head-bob, et ne retirez jamais le contrôle de la caméra pendant le jeu. Tout mouvement que le joueur n’a pas causé lui-même est un déclencheur de nausée de premier ordre.
L’interaction à l’échelle humaine
Une fois que les gens peuvent se déplacer confortablement, ils doivent faire des choses, et l’interaction VR a ses propres règles. La plus grande est que l’échelle et la portée sont physiques. Si un bouton est trop haut, un joueur petit ne peut littéralement pas l’atteindre. Si vos menus flottent à deux mètres, personne ne peut les toucher. Concevez pour un joueur assis et un joueur debout, et testez avec des gens de tailles différentes.
- Rendez les objets interactifs visiblement attrapables. Mettez-les en surbrillance au survol, donnez-leur un léger halo ou contour, et accrochez la pose de la main à quelque chose qui ressemble à une vraie prise.
- Donnez du retour à travers plus d’un sens. Une vibration du contrôleur, plus un son de clic, plus un changement visuel, rend un appui réel parce que le joueur ne reçoit aucune résistance physique du vide.
- Posez les interfaces sur des surfaces que le joueur peut atteindre, ou attachez-les au poignet comme une montre, ou courbez-les légèrement pour que les bords ne soient pas plus loin que le centre.
- Acceptez qu’il n’y a aucun retour haptique. Sans résistance, les gens passent la main à travers une table virtuelle. Concevez autour de ça au lieu de le combattre.
Le confort est un réglage, pas un défaut qu’on devine
Le fil rouge de tout ça, c’est le choix. Vous ne connaissez pas la tolérance de votre joueur, sa taille, son espace de jeu, ni s’il est assis ou debout. Alors vous demandez, ou vous fournissez des options et des valeurs par défaut sensées. Un bon menu de confort VR couvre le type de locomotion, le style et l’angle de rotation, la force de la vignette et un calibrage de la hauteur. Affichez-le au premier lancement, pas enterré sous trois menus.
Si vous montez encore votre chaîne d’outils et n’avez pas choisi de moteur, je couvre ces bases dans débuter en développement VR. La configuration technique et le design de confort se nourrissent l’un l’autre, parce que le moteur que vous choisissez détermine quels outils de confort viennent gratuitement.
Tester sur des gens qui ne sont pas vous
Vous développerez une tolérance au fil du travail. Après une semaine à tester votre propre locomotion, vous ne ressentirez plus rien, ce qui fait de vous le pire juge possible de son confort. Faites venir régulièrement de nouveaux testeurs, surtout des gens qui n’ont jamais utilisé la VR. Observez leur corps. Les gens se penchent, ils tendent les bras, ils se cramponnent, et ils deviennent silencieux juste avant de se sentir mal. Ces signaux vous en disent plus que n’importe quel questionnaire.
Une bonne UX en VR est surtout faite de retenue. Déplacez les gens en douceur, donnez-leur le contrôle, rendez l’interaction évidente, et offrez toujours une issue. Faites ça et vous bâtirez des expériences où les gens restent une heure au lieu de fuir en cinq minutes.

Laisser un commentaire