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
420
フィットネスバイクで VR空間を乗り回す話
Roppongi.unity #8での登壇内容
ざわざわ
February 24, 2021
Tweet
Share
Other Decks in Technology
See All in Technology
Reach American Airlines®️ Instantly: 19 Calling Methods for Fast Support in the USA
flyamerican
1
180
TLSから見るSREの未来
atpons
2
240
サイバーエージェントグループのSRE10年の歩みとAI時代の生存戦略
shotatsuge
4
830
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
2
7.8k
敢えて生成AIを使わないマネジメント業務
kzkmaeda
2
510
対話型音声AIアプリケーションの信頼性向上の取り組み
ivry_presentationmaterials
2
690
「Chatwork」のEKS環境を支えるhelmfileを使用したマニフェスト管理術
hanayo04
1
240
AIの全社活用を推進するための安全なレールを敷いた話
shoheimitani
2
640
20250707-AI活用の個人差を埋めるチームづくり
shnjtk
6
4.1k
モニタリング統一への道のり - 分散モニタリングツール統合のためのオブザーバビリティプロジェクト
niftycorp
PRO
1
360
Contributing to Rails? Start with the Gems You Already Use
yahonda
2
120
american airlines®️ USA Contact Numbers: Complete 2025 Support Guide
supportflight
1
120
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
336
57k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
54k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
How to train your dragon (web standard)
notwaldorf
96
6.1k
It's Worth the Effort
3n
185
28k
Become a Pro
speakerdeck
PRO
29
5.4k
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でできることが多いことがわかったよ