VRChat Squat world: rows of training mats with instruction boards

Engineering

2022

VRChat Squat

VRChat内でキャラクターに応援されながら、腕立て伏せ・スクワットができるワールド。

VRChat

Unity / UdonSharp

ステートマシン

クラス設計

Maker Faire

プラットフォーム

VRChat(Unity / UdonSharpベースのワールド開発)

入力

ヘッドセットの位置情報のみ(コントローラーやセンサーの追加不要)

担当領域

企画からステートマシン設計、クラス設計、Unityでの実装まで、ほぼすべての工程

公開・発表

2022年11月にTwitterで公開・発表、Ogaki Mini Maker Faire 2022に出展

背景と技術的課題

コロナ禍以降、自宅での運動不足解消やVR上でのフィットネス体験へのニーズが高まる中、「一人で黙々と筋トレするのはモチベーションが続かない」という課題に着目。VRChat上に、正しいフォームをアバターと一緒に確認しながら、応援を受けて楽しく続けられる筋トレワールドを作ることを目指した。

技術的な核心は、コントローラーやセンサーを追加せず、VRChat標準のヘッドセット位置情報(headData.position.y)だけでスクワット・腕立て伏せの回数を検知するという制約下でのインタラクション設計。頭の高さをリアルタイムでトラッキングし、しゃがんだ/沈んだ回数として正確にカウントする必要があった。

制約:追加デバイスなし — 回数はすべて頭の高さだけで数える。

役割と担当範囲

「あいらぼ*(ailab*)」チームでの開発だが、企画からステートマシン設計、クラス設計、Unityでの実装まで、ほぼすべての工程を自身が担当した。

企画

隣のアバターを真似しながら、応援を受けて続けられる筋トレワールドという企画。

ステートマシン設計

4つのゲーム状態と、状態を遷移させるイベントを設計。

クラス設計

共有のゲームステータスを見て、各クラスが自律的に動く小さなクラス構成を設計。

Unityでの実装

腕立て伏せ用・スクワット用など複数レーンを持つワールドを実装。

技術選定とアーキテクチャ

プラットフォーム

VRChat:Unity / UdonSharpベースのワールド開発。

入力

コントローラーなど追加デバイス不要。プレイヤーの頭部トラッキングデータ(headData.position.y)のみで動作を検知する。

状態管理設計

GameStatusとして GameStart → TrainingStart → TrainingEnd → GameEnd の4状態を定義し、「マットに乗る/離れる」「Startボタン押下」「目標回数到達」「EXITボタン押下」といったイベントで状態遷移するステートマシンを設計。

ゲームは小さなクラスに分割し、各クラスが共有のゲームステータスを見て自律的に動作する:

GameManagement

ゲームの進行・ステータス管理

MatON

マットの乗降検知

PlayerUI

画面表示・ボタン操作

Counter

回数カウント

SoundSystem

BGM・応援音声

CalorieCount

カロリー表示

Mirror

鏡の設定切り替え

ゲームフィールドは腕立て伏せ用・スクワット用など複数レーンを用意し、各プレイヤーが個別にマットに乗ってプレイできる設計。

Class diagram of the VRChat Squat worldGameStatus state machine diagram

実装で工夫した点・詰まった点

頭の位置情報だけで「1回」を正確にカウントするため、しゃがみ動作の閾値やタイミング判定を調整した。

複数人が同時に別々のマットでプレイしても状態が混線しないよう、マットごとに独立したステートマシンを持たせる設計にした。

目標回数に到達すると応援ボイスが流れる演出など、ゲーム的な達成感を音・UIで補強した。

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

成果・パフォーマンス

一般公開

2022年11月、Twitterで一般公開・発表。VRChat内で誰でもプレイ可能なワールドとして公開した。

Ogaki Mini Maker Faire 2022

Ogaki Mini Maker Faire 2022に出展。

コンセプトへの反応

「隣のアバターを真似すれば正しいフォームで筋トレできる」というコンセプトが反応を得た。