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
410
フィットネスバイクで VR空間を乗り回す話
Roppongi.unity #8での登壇内容
ざわざわ
February 24, 2021
Tweet
Share
Other Decks in Technology
See All in Technology
SDカードフォレンジック
su3158
1
660
Terraform Cloudで始めるおひとりさまOrganizationsのすゝめ
handy
2
210
2025-04-14 Data & Analytics 井戸端会議 Multi tenant log platform with Iceberg
kamijin_fanta
0
140
更新系と状態
uhyo
8
2.1k
QA/SDETの現在と、これからの挑戦
imtnd
0
150
ドキュメント管理の理想と現実
kazuhe
1
270
Running JavaScript within Ruby
hmsk
3
420
【Λ(らむだ)】最近のアプデ情報 / RPALT20250422
lambda
0
130
CodeRabbitと過ごした1ヶ月 ─ AIコードレビュー導入で実感したチーム開発の進化
mitohato14
0
160
Road to Go Gem #rubykaigi
sue445
0
1k
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
140
日経電子版 for Android の技術的課題と取り組み(令和最新版)/android-20250423
nikkei_engineer_recruiting
1
560
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.2k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
178
53k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Code Reviewing Like a Champion
maltzj
523
40k
Documentation Writing (for coders)
carmenintech
69
4.7k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2k
A better future with KSS
kneath
239
17k
4 Signs Your Business is Dying
shpigford
183
22k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.4k
Building an army of robots
kneath
305
45k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.2k
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でできることが多いことがわかったよ