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
400
フィットネスバイクで VR空間を乗り回す話
Roppongi.unity #8での登壇内容
ざわざわ
February 24, 2021
Tweet
Share
Other Decks in Technology
See All in Technology
サイト信頼性エンジニアリングとAmazon Web Services / SRE and AWS
ymotongpoo
7
1.6k
Iceberg Meetup Japan #1 : Iceberg and Databricks
databricksjapan
0
370
OSS構成管理ツールCMDBuildを使ったAWSリソース管理の自動化
satorufunai
0
650
クラウド関連のインシデントケースを収集して見えてきたもの
lhazy
8
1.1k
【内製開発Summit 2025】イオンスマートテクノロジーの内製化組織の作り方/In-house-development-summit-AST
aeonpeople
2
670
生成AI “再”入門 2025年春@WIRED TUESDAY EDITOR'S LOUNGE
kajikent
0
120
30→150人のエンジニア組織拡大に伴うアジャイル文化を醸成する役割と取り組みの変化
nagata03
0
180
Share my, our lessons from the road to re:Invent
naospon
0
140
LINE NEWSにおけるバックエンド開発
lycorptech_jp
PRO
0
250
OPENLOGI Company Profile for engineer
hr01
1
20k
OPENLOGI Company Profile
hr01
0
60k
手を動かしてレベルアップしよう!
maruto
0
220
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
430
The Pragmatic Product Professional
lauravandoore
32
6.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
What's in a price? How to price your products and services
michaelherold
244
12k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Git: the NoSQL Database
bkeepers
PRO
427
65k
Side Projects
sachag
452
42k
Automating Front-end Workflow
addyosmani
1368
200k
Done Done
chrislema
182
16k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
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でできることが多いことがわかったよ