VaNiiMenu (バニーメニュー)


VR空間内ならソフトに関わらず、いつでも腕を振り下ろすだけで呼び出せるVRMMO風メニューツールです。

できること(簡易版)

もっと詳しく知りたい人は、ページ下部に「できること(詳細版)」および「説明書」、「開発の経緯」があります。

対応ソフト

HTC Viveに対応するすべてのVRソフトウェア
具体的にはOpenVRを使用するものであり、Steam外から起動するものも含みます。
Steam VRの画面が自動で出現するソフトウェアであれば基本的に動きます。

ただしOculus Riftの場合は、Oculus Runtime環境(Steam VRが起動しないもの)の場合は動作しません。

動画


撮影場所: Kouyou's small studio by ルミナスタジオ
アバター: ブレイダーちゃん - シンヤの模造武具

2019/3/3放送のV-TVにてこのPVを取り上げていただきました。

他の方の紹介動画

VaNiiMenu ver0.09aBeta の新機能、WindowViewerの紹介 (猫井夕菜様) CC-BY

VRオーバレイアプリケーション VaNiiMenu の紹介とOBSの操作について (猫井夕菜様) CC-BY

スクリーンショット

使い方

使い方: VaNiiMenu.exeをダブルクリックして起動してください。
 初回起動時には、起動後10秒で簡単なチュートリアルが起動します。
 操作は、表示に対して物理的にコントローラを押し当てることで行います。
 メニューを呼び出すには、勢いよく腕を振り下ろすことでできます。
 (周囲の障害物に十分注意してください)

表示がガクガクするときは、VaNiiMenuのウィンドウをアクティブにしてください。

「テクスチャをセットできませんでした」がすごい勢いで出るのは、実行GPUとHMDが接続されたGPUが異なるときに起きます。HMDと同じグラボに接続されたモニタで起動してください。

ダウンロード

VaNiiMenu Download(ライセンスと注意事項)

開発者向け情報
更新情報
説明書

本ソフトウェアはBSD3ライセンスです。
最新の更新、テスター募集はDiscordサーバーで配信しています。
バグ報告などもDiscordサーバーまで

できること(詳細)

VR空間内から、

v0.09aからの注意点

・デスクトップ全体を表示したい場合は高速なDesktopViewerを使用し、
 特定のウィンドウを表示したい場合はWindowViewerを使用することをおすすめします。
 ただし、GPUの問題やOSバージョンの問題でDesktopViewerが使用できない場合は
 速度は落ちますがWindowViewerでデスクトップを表示することができます。
・WindowViewerが表示されない場合は、Win/Deskボタンを何回か押してください。
・指定したウィンドウを表示中にウィンドウサイズを変更するとエラーが発生する場合があります。
・DesktopViewerはWindows 8.1以降のみ対応(Windows 10推奨)です。
 WindowViewerはWindows 7以降対応です。

v0.06からの注意点

・メモリが少なくなっている際、DesktopViewerを使用するとVRが不安定な挙動を示すことがあります。
 少し待つと復旧しますが、この状態の際には他のソフトも不安定になっていますので、
 ソフトの終了とメモリの開放をおすすめします。
・大量のファイルがあるフォルダを、ImageViewerに指定するとフリーズすることがあります
・大量のテキストファイルがあるフォルダを、TextViewerに指定するとフリーズすることがあります
・HTC Viveを拡張モードで動作させている際に、DesktopViewerでHMD側のモニタに切り替え、
 そこにマウスカーソルを持っていくとフリーズすることがあります。
 基本的にダイレクトモードで使用し、拡張モードで使用する際はモニタを切り替えないでください。
・ファンクションキーの操作は、録画ソフト等のホットキー用です。
 通常のソフトのキー入力に対しては動作しないことがあります。
 またキー操作の結果起きうる事象には十分注意して使用してください。
・OSC受信機能は既定で無効になりました。有効にするにはCommunication.jsonを編集してください。
・壁紙機能が付きました。有効にするには同じフォルダに画像を入れた上で、Background.jsonを編集してください。
 (trueにしてファイル名を指定)
・感度調整機能(AccelerationPeak)が付きましたが、基本的にオーバーな設定になりやすいので、
 Reset後、かなり注意深く縦振りして設定してください。

動画に映したい方・スクショ取りたい方へ

このツールの映像や動画を取るのは構わないどころかぜひやっていただきたいのですが、
このツールは、オーバーレイという仕組み上普通に撮影しようとしても映像になりません。
スクリーンショットにも映りません。

ではこのページのスクショや動画はどう撮影しているかというと、
Steam VR(「利用可能」と表示している小窓)の左上のメニューから
「ディスプレイミラー」を選択して出てきた画面には映るのでそこから撮影しています。
ここでも左上のメニューから表示方法が選べますが、おすすめはCenter Viewです。

注: DesktopViewerや、DeviceInformationの画面では個人を識別できる情報が映り込む場合があるので  撮影の際は十分注意を払ってください。

対応VR機器について

本ソフトウェアは、Steam VR(Open VR)のオーバーレイ機能を利用しています。
Oculus Riftは同様の機能を提供していません。

そのため
・HTC Viveは、極めて特殊な例を除きすべてのソフトウェアで動作することが期待できます。
・Oculus Riftは、OpenVR SDKを使用したゲームでのみ動作する可能性があります。
 一部のゲームにおいて動作報告があります。
 Oculus SDKを使ったゲーム上では動作しません。また電池残量表示など一部の機能は動きません。
 (両対応のゲームの場合、Windowsの互換性モードをWindows7にすると動作するようです)
・Windows MRは、OpenVR SDKを使用したゲームでのみする可能性があります。
 Windows Mixed Reality for SteamVRをご利用ください。
 (動作報告があります)
 Windows MRネイティブコンテンツでは動作しません。

VRオーバーレイの仕組み




Oculusユーザーの方へ

このソフトはOpenVR SDKで動作するソフトでのみ動きます。
Steamから起動したソフトであれば動く可能性が高いです。

また、Oculusの機器の詳細情報(バッテリー残量等)には対応していません。

Oculusユーザーの方の報告によりますと、Oculus Touchを使う場合は、
左手を時計回りに90°、右手を反時計回りに90°回転させた状態で操作すると反応するようです。
(おそらく手の甲を上向きにしてパンチするような感じ)

また、床の位置設定によりメニューの位置が操作しにくい場所に出る場合がありますが、
若干、頭を見上げるような感じに上に向けながら腕を振り下ろすと上の方にメニューが出ます。

開発の経緯

開発の開始は、2018年12月22。
いくつかのことが重なってアイディアが固まったのがきっかけであった。

前日にとあるVRMMOアニメを見終えたことや、システムメニュー以外のメニューの必要性を感じたこと、
かっこよさへのあこがれ、VaNiiGlassでの空間タッチの実装経験。

一方、今までのVRオーバーレイの開発経験、ソフトウェア開発者仲間との会話から、
ボタンによる操作はVRオーバーレイの操作においては不向きなことがわかっていた。

ボタン外の何らかの、しかしVR体験を阻害しない形での操作が必要。
そこに、見たアニメでの「手を滑り下ろしてメニューを呼び出す」操作が思い出され、
「ジェスチャーによるメニュー呼び出し」と、兼ねてから想像していた「空間タッチでのメニュー操作」、
「汎用アクセサリ集」の3つのアイディアが結びついたのだった。

これらを元に、翌日2018年12月23日には、位置から作成したUIデザインと、基本構造図が完成。
ハリボテ一枚絵ながら、腕を振り下ろしてVR空間にメニューらしきものを表示することに成功する。

開発方針は、「とにかくシンプルに」「とにかくスピーディに」「機能を載せすぎず」

Launcher、Music、Misc、Settings、Exitのメインメニューはこのときから現在にい至るまで全く変わっていない。
これらが選ばれた理由は以下である。

・Launcher: VR空間から別のVRソフトウェアを起動したい
・Music: VR空間から操作できなくて一番困るのは音楽という直感
・Misc: あとから多種多様な機能を追加できるように。
 (実は当初は、Miscは別のアプリケーションとの通信機能を搭載する予定であった)
・Settings: VR空間内から基本設定ができることは必須と考えていた
・Exit: 「このツールはログアウトできます」

このとき同時に、Tweenという基本的な考え方を知り、それまで自前でループでアニメーションしていたのを
関数一つでできるライブラリを導入、開発速度が飛躍的に向上した。

その日のうちに、詳細ボタンの設計まで完了。

一枚絵であった画面を、uGUIによるきちんとしたボタンに変更。
ダイアログの設計も済ませ、現在の画面デザインが正式な形で完成する。
同時に、今までのデバイス追従型の表示ではなく、一度現れるとそこに置かれっぱなしの
表示形態も実装されている。

日付が変わらないうちに、ボタンの共通処理を実装し、ボタンアニメーションと時計を実装。

ダイアログ画面の表示処理、ボタンインタラクションまで実装を終える。
そしてこの日、アルファテスターを募集し、最初の感触確認まで終えたのだった。

構想ができてから48時間以内のできごとである。

2018/12/24
アルファテスターからの感想は、概ね良好だが、難があるというものであった。
このときの感想をベースに実装されたのが、ロック機能、反応速度調整機能、現在の効果音、出現位置調整機能、現在の出現位置である。
当時はまだ、顔面に対して垂直に表示されていた。現在のように、操作しやすいように傾きをつけるようになったのはこのときである。

この日にLauncher機能の中身とjsonによる設定の管理を実装。4つのアプリケーションを起動できる機能がついた。
また、現在のOSC連携機能の先駆けである、VaNiiGlass互換機能
ロック機能(当時はグリップボタンのみ対応)を搭載。
アルファテストv0.2を発行。

テストの結果を待ちながら、Musicの音楽操作機能が搭載され、 また、絵文字で構成していたアイコンを、アイコン素材に変更し、現行のUIデザインが確定し、
アルファテストv0.3を発行。

このとき、テスターから、現在のStylish Modeのベースとなる案をいただいている。
また、右手と左手でメニューの出現位置が入れ替わる機能を実装。
さらに、シンセサイザーにより現行スタイル(調整前)の効果音と、
初回起動時のチュートリアルを実装した。
アルファテストv0.4を発行。

2018/12/25
一般公開(パブリックベータ)を開始。
当時は、腕を振るとメニューが出る、時計・音楽リモコン・ランチャーで、Miscの中は空っぽであった。

この日、要望を受け、任意のボタンでロックできる機能と、右手・左手のどちらかでしか反応しない機能、 Stylish Modeを実装。

2018/12/26
他の人の使い方に刺激を受け、Launcherを16個に拡張、Slide Close機能の実装。

2018/12/27
通信仕様の作成、Full lockモードの作成(メニュー出しながらも反応させたくない状態に対応するため)。
そして、TextViewerの実装。これがMiscで一番最初に実装された機能となる。
つづいて、画像ビューア機能を実装。

2018/12/28
通信機能としてuOSCを使うついでに、uDesktopDuplicationを導入。
Desktop Viewerが実装された。

ここまでで基本機能はほぼ完成になり、以降は細かい機能の追加などになっていく...
改めて確認してみると、アイディアから2日で最初のアルファテストになり、4日で一般公開。
一週間でほぼ現在の形となったことがわかる。

もっと便利な機能がほしいですか?

他の方々が作成されたオーバーレイツールも使ってみてください。
オーバーレイツールは多くの場合同時に使用できます。
VRツール一覧まとめwiki(VR Tool Wiki)

メニュー

トップページに戻る