Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
フィットネスバイクで VR空間を乗り回す話 ざわざわ
Slide 2
Slide 2 text
自己紹介 ざわざわです ● 新卒Unity(VR)エンジニア ● 大学院時代にVRの開発を始める ○ ビデオシースルーが大好き ○ 歩きVRの研究をしていました ● 好きな技術分野はShaderです ○ 特にジオメトリシェーダが好きです
Slide 3
Slide 3 text
今回のLTの発端 今とっても運動不足
Slide 4
Slide 4 text
そこで 家でも運動できるようにフィットネスバイクを買おう
Slide 5
Slide 5 text
そこで 家でも運動できるようにフィットネスバイクを買おう →買った
Slide 6
Slide 6 text
なんかオーディオ端子がついてるぞ
Slide 7
Slide 7 text
なんかオーディオ端子がついてるぞ →これにESP32っていう基盤くっつ けてArduino入門してみよう
Slide 8
Slide 8 text
なんかオーディオ端子がついてるぞ →これにESP32っていう基盤くっつ けてArduino入門してみよう →WifiとかBluetoothとかで速度情 報を飛ばせばUnityとかVRでおもし ろいことできるんじゃね??
Slide 9
Slide 9 text
完全なる見切り発車
Slide 10
Slide 10 text
ESP32をフィットネスバイクに取付 初めてのLチカ! 初めてのはんだ付け! ArduinoOSCというライブラリで1回転にかかった時間をUnityに送信(uOSCで受信)
Slide 11
Slide 11 text
そうだ、VRChatに持ち込んで空中サイクリングしてみよう と思うVRChatプレイ時間一桁のど素人であった
Slide 12
Slide 12 text
なんでVRChatなのか ● ワールドというコンテンツが豊富 ○ いろんなワールドを乗り回したい ○ →ワールドに仕込むギミック以外の方法がいい ● SteamVRというプラットフォーム準拠の機能を勉強したい ○ 可能であればSteamVRの他のアプリでも使えるようにしたい ○ →アバターに仕込むコライダーとかのハック以外の方法がいい というわがままを言った結果...
Slide 13
Slide 13 text
SpaceDragとVMTとTrackingOverrides を組み合わせることに
Slide 14
Slide 14 text
SpaceDragとは ● SteamVRのOVRAdvancedSettingsという無料アプリのいち機能 ● コントローラで空間を掴んでドラッグすることによりプレイヤーの位置を移 動することができる ● SteamVRのアプリで空中浮遊ができる(できないやつもあるみたい) しかし ● 自由な空中サイクリングができない(腕の長さ領域に制約) そこで ● 腕が無限に伸ばせるようにすればよいのでは?
Slide 15
Slide 15 text
VMTとは ● バーチャルモーショントラッカー ● SteamVRに仮想トラッカーを登録できる ● uOSCから自身のposとrotを送って仮想トラッカーに反映
Slide 16
Slide 16 text
TrackingOverridesとは ● OpenVR(HMDやVRデバイスを操作するAPI群やSDK)の機能の一つ ● HMDやコントローラ、トラッカーの位置を上書きする ● steamvr.vrsettings(json)を編集する
Slide 17
Slide 17 text
SpaceDragとVMTとTrackingOverrides を組み合わせることで 仮想トラッカーの位置を変えながらSpaceDragを行える! 空中サイクリングが可能となる! ただし片手はあきらめることになる!
Slide 18
Slide 18 text
簡易的な操作パネルも用意 ● ± position.y ● ± pitch ● ± speedの係数 ● EasyOpenVROverlayForUnity というスクリプトをお借りしました
Slide 19
Slide 19 text
とりあえずSteam VR Homeで動作 デモ動画
Slide 20
Slide 20 text
No content
Slide 21
Slide 21 text
セルフフィードバック ● 酔いやすい性質だけど、特に酔わなかった ○ 行為と映像が一致しているため? ○ HMD追従のUIがあるからかも ● UIで高さとか傾きを変えるという体験の質が悪かった ○ なんか3D空間が安っぽく感じてしまった ○ 安易に高所に行けてしまったから? そこで ● 頑張って漕ぐと上向きベクトル加算🚀 ● さぼると下向きベクトル加算😖 デモ動画
Slide 22
Slide 22 text
No content
Slide 23
Slide 23 text
VRChatでも動かしてみた 一瞬だけ動く でも、ESP32でOSC接続をしようとす るとVRChatがDisconnectedですよっ て言われてしまう。これはポート番 号とか接続の問題.....?? デモ動画
Slide 24
Slide 24 text
まとめ ● フィットネスバイクをESP32につなげてUnityで制御をつくり、VR空間で空中 サイクリングをできるようにしてみたよ ● SpaceDragとVMTとTrackingOverridesを使ったよ(片手は失うけどね) ● 今更だけどOpenVRのAPIでできることが多いことがわかったよ