VRChat Squat world: rows of training mats with instruction boards

Ingénierie

2022

VRChat Squat

Un monde VRChat où un personnage vous encourage pendant que vous faites des pompes et des squats.

VRChat

Unity / UdonSharp

Machine à états

Conception des classes

Maker Faire

Plateforme

VRChat, développé avec Unity et UdonSharp

Entrée

Position du casque uniquement — aucune manette ni capteur supplémentaire

Mon rôle

Presque toutes les étapes : conception du projet, machine à états, conception des classes et implémentation sous Unity

Sortie

Annoncé sur Twitter en novembre 2022 ; présenté à l’Ogaki Mini Maker Faire 2022

Contexte et défi technique

Depuis la pandémie, le besoin de compenser le manque d’exercice à la maison — et de faire du sport en VR — a grandi. Nous nous sommes intéressés à un problème bien connu : s’entraîner seul et en silence, c’est difficile à tenir dans la durée. L’objectif était un monde d’entraînement dans VRChat où l’on peut vérifier sa posture à côté d’avatars, continuer grâce aux encouragements, et y prendre vraiment plaisir.

Le cœur technique était une contrainte d’interaction : compter les squats et les pompes en utilisant uniquement la position du casque déjà fournie par VRChat (headData.position.y), sans manette ni capteur supplémentaire. La hauteur de la tête devait être suivie en temps réel pour que chaque descente soit comptée avec précision.

Contrainte : Aucun appareil supplémentaire : chaque répétition est comptée à partir de la seule hauteur de la tête.

Rôle et périmètre

Développé au sein de l’équipe ailab*, mais j’ai pris en charge presque toutes les étapes moi-même — de la conception du projet à l’implémentation sous Unity, en passant par la machine à états et la conception des classes.

Conception du projet

Un monde d’entraînement où l’on imite l’avatar d’à côté et où l’on est encouragé à continuer.

Conception de la machine à états

Quatre états de jeu, et les événements qui font passer le jeu de l’un à l’autre.

Conception des classes

De petites classes qui observent chacune l’état de jeu partagé et agissent de façon autonome.

Implémentation sous Unity

Le monde lui-même, avec des couloirs séparés pour les pompes et les squats.

Technologie et architecture

Plateforme

VRChat : le monde est construit avec Unity et UdonSharp.

Entrée

Aucun appareil supplémentaire. Le mouvement est détecté uniquement à partir des données de suivi de la tête du joueur (headData.position.y).

Gestion des états

GameStatus définit quatre états — GameStart → TrainingStart → TrainingEnd → GameEnd — et une machine à états passe de l’un à l’autre selon les événements : monter sur le tapis ou en descendre, appuyer sur Start, atteindre l’objectif, appuyer sur EXIT.

Le jeu est découpé en petites classes. Chacune observe l’état de jeu partagé et agit de façon autonome :

GameManagement

Déroulement et état du jeu.

MatON

Détection de présence sur le tapis.

PlayerUI

Écran et boutons.

Counter

Compteur de répétitions.

SoundSystem

Musique et voix d’encouragement.

CalorieCount

Affichage des calories.

Mirror

Réglages du miroir.

Le terrain comporte plusieurs couloirs — pour les pompes, pour les squats, etc. — afin que chaque joueur monte sur son propre tapis et joue indépendamment.

Class diagram of the VRChat Squat worldGameStatus state machine diagram

Ce qui a demandé du soin

Pour compter précisément une répétition à partir de la seule position de la tête, j’ai ajusté les seuils et le timing des squats.

Pour que plusieurs personnes jouant sur des tapis différents ne se perturbent jamais, chaque tapis possède sa propre machine à états indépendante.

Atteindre l’objectif déclenche une voix d’encouragement — un sentiment d’accomplissement digne d’un jeu, renforcé par le son et l’interface.

Squat lane: a mat, an instruction board and a cheering characterPush-up mode in VRChat: counter board and mat
Doing a push-up in a VR headset

Résultats et impact

Mise en ligne publique

Annoncé sur Twitter en novembre 2022 et ouvert à tous : un monde auquel n’importe qui peut jouer dans VRChat.

Ogaki Mini Maker Faire 2022

Exposé à l’Ogaki Mini Maker Faire 2022.

Accueil du concept

L’idée de pouvoir imiter l’avatar d’à côté pour s’entraîner avec une bonne posture a été bien accueillie.