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
450
フィットネスバイクで VR空間を乗り回す話
Roppongi.unity #8での登壇内容
ざわざわ
February 24, 2021
Tweet
Share
Other Decks in Technology
See All in Technology
茨城の思い出を振り返る ~CDKのセキュリティを添えて~ / 20260201 Mitsutoshi Matsuo
shift_evolve
PRO
1
160
Digitization部 紹介資料
sansan33
PRO
1
6.8k
日本語テキストと音楽の対照学習の技術とその応用
lycorptech_jp
PRO
1
410
Mosaic AI Gatewayでコーディングエージェントを配るための運用Tips / JEDAI 2026 新春 Meetup! AIコーディング特集
genda
0
150
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
210
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
生成AI時代にこそ求められるSRE / SRE for Gen AI era
ymotongpoo
5
2.4k
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
17k
MySQLのJSON機能の活用術
ikomachi226
0
140
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
360
Frontier Agents (Kiro autonomous agent / AWS Security Agent / AWS DevOps Agent) の紹介
msysh
3
140
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
420
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
28
2.4k
Darren the Foodie - Storyboard
khoart
PRO
2
2.3k
Docker and Python
trallard
47
3.7k
GitHub's CSS Performance
jonrohan
1032
470k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
Building Applications with DynamoDB
mza
96
6.9k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
180
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
Automating Front-end Workflow
addyosmani
1371
200k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
sira's awesome portfolio website redesign presentation
elsirapls
0
140
Scaling GitHub
holman
464
140k
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でできることが多いことがわかったよ