Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
フィットネスバイクで VR空間を乗り回す話
Search
ざわざわ
February 24, 2021
Technology
1
430
フィットネスバイクで VR空間を乗り回す話
Roppongi.unity #8での登壇内容
ざわざわ
February 24, 2021
Tweet
Share
Other Decks in Technology
See All in Technology
Claude Code でアプリ開発をオートパイロットにするためのTips集 Zennの場合 / Claude Code Tips in Zenn
wadayusuke
4
490
MagicPod導入から半年、オープンロジQAチームで実際にやったこと
tjoko
0
110
COVESA VSSによる車両データモデルの標準化とAWS IoT FleetWiseの活用
osawa
1
380
「Linux」という言葉が指すもの
sat
PRO
4
140
dbt開発 with Claude Codeのためのガードレール設計
10xinc
2
1.3k
AIエージェント開発用SDKとローカルLLMをLINE Botと組み合わせてみた / LINEを使ったLT大会 #14
you
PRO
0
130
OCI Oracle Database Services新機能アップデート(2025/06-2025/08)
oracle4engineer
PRO
0
180
Terraformで構築する セルフサービス型データプラットフォーム / terraform-self-service-data-platform
pei0804
1
190
データ分析エージェント Socrates の育て方
na0
5
1.6k
AIエージェントで90秒の広告動画を制作!台本・音声・映像・編集をつなぐAWS最新アーキテクチャの実践
nasuvitz
3
330
💡Ruby 川辺で灯すPicoRubyからの光
bash0c7
0
120
RSCの時代にReactとフレームワークの境界を探る
uhyo
10
3.5k
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
How STYLIGHT went responsive
nonsquared
100
5.8k
A designer walks into a library…
pauljervisheath
207
24k
Scaling GitHub
holman
463
140k
Practical Orchestrator
shlominoach
190
11k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Making Projects Easy
brettharned
117
6.4k
Designing Experiences People Love
moore
142
24k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.9k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Transcript
フィットネスバイクで VR空間を乗り回す話 ざわざわ
自己紹介 ざわざわです • 新卒Unity(VR)エンジニア • 大学院時代にVRの開発を始める ◦ ビデオシースルーが大好き ◦ 歩きVRの研究をしていました
• 好きな技術分野はShaderです ◦ 特にジオメトリシェーダが好きです
今回のLTの発端 今とっても運動不足
そこで 家でも運動できるようにフィットネスバイクを買おう
そこで 家でも運動できるようにフィットネスバイクを買おう →買った
なんかオーディオ端子がついてるぞ
なんかオーディオ端子がついてるぞ →これにESP32っていう基盤くっつ けてArduino入門してみよう
なんかオーディオ端子がついてるぞ →これにESP32っていう基盤くっつ けてArduino入門してみよう →WifiとかBluetoothとかで速度情 報を飛ばせばUnityとかVRでおもし ろいことできるんじゃね??
完全なる見切り発車
ESP32をフィットネスバイクに取付 初めてのLチカ! 初めてのはんだ付け! ArduinoOSCというライブラリで1回転にかかった時間をUnityに送信(uOSCで受信)
そうだ、VRChatに持ち込んで空中サイクリングしてみよう と思うVRChatプレイ時間一桁のど素人であった
なんでVRChatなのか • ワールドというコンテンツが豊富 ◦ いろんなワールドを乗り回したい ◦ →ワールドに仕込むギミック以外の方法がいい • SteamVRというプラットフォーム準拠の機能を勉強したい ◦
可能であればSteamVRの他のアプリでも使えるようにしたい ◦ →アバターに仕込むコライダーとかのハック以外の方法がいい というわがままを言った結果...
SpaceDragとVMTとTrackingOverrides を組み合わせることに
SpaceDragとは • SteamVRのOVRAdvancedSettingsという無料アプリのいち機能 • コントローラで空間を掴んでドラッグすることによりプレイヤーの位置を移 動することができる • SteamVRのアプリで空中浮遊ができる(できないやつもあるみたい) しかし •
自由な空中サイクリングができない(腕の長さ領域に制約) そこで • 腕が無限に伸ばせるようにすればよいのでは?
VMTとは • バーチャルモーショントラッカー • SteamVRに仮想トラッカーを登録できる • uOSCから自身のposとrotを送って仮想トラッカーに反映
TrackingOverridesとは • OpenVR(HMDやVRデバイスを操作するAPI群やSDK)の機能の一つ • HMDやコントローラ、トラッカーの位置を上書きする • steamvr.vrsettings(json)を編集する
SpaceDragとVMTとTrackingOverrides を組み合わせることで 仮想トラッカーの位置を変えながらSpaceDragを行える! 空中サイクリングが可能となる! ただし片手はあきらめることになる!
簡易的な操作パネルも用意 • ± position.y • ± pitch • ± speedの係数
• EasyOpenVROverlayForUnity というスクリプトをお借りしました
とりあえずSteam VR Homeで動作 デモ動画
None
セルフフィードバック • 酔いやすい性質だけど、特に酔わなかった ◦ 行為と映像が一致しているため? ◦ HMD追従のUIがあるからかも • UIで高さとか傾きを変えるという体験の質が悪かった ◦
なんか3D空間が安っぽく感じてしまった ◦ 安易に高所に行けてしまったから? そこで • 頑張って漕ぐと上向きベクトル加算🚀 • さぼると下向きベクトル加算😖 デモ動画
None
VRChatでも動かしてみた 一瞬だけ動く でも、ESP32でOSC接続をしようとす るとVRChatがDisconnectedですよっ て言われてしまう。これはポート番 号とか接続の問題.....?? デモ動画
まとめ • フィットネスバイクをESP32につなげてUnityで制御をつくり、VR空間で空中 サイクリングをできるようにしてみたよ • SpaceDragとVMTとTrackingOverridesを使ったよ(片手は失うけどね) • 今更だけどOpenVRのAPIでできることが多いことがわかったよ