VRである必要性とゲーム性
VRである必要性とゲーム性について、個人的に思っていることをただツラツラと駄文を書いていこうと思う。
VRである必要性
VRをやり始めるのは、コンソールゲーム機に比べてひと手間多い。
ゲーム機では、
- コントローラーを持つ
- ゲーム機を起動する(スリープを解除する/ゲーム機本体で必要な再設定をする)
- ゲームソフトを起動する
VRでは、
HMDを被るという行為がこれからVRを始めるという合図になっていると同時に、
HMDを被らないとできないのがVRゲーム。
だからこそ、VRである必要性はどうしても求められてしまう。
HMDとコントローラによるトラッキングこそがVRの最大の特性であり、立体映像体験はその補助的な位置づけとも言える。
横から声が聞こえて振り向けばそこにキャラが立っている。
コントローラーで触れればそれに反応する。
VRである必要性は、360度自由に見渡せることと、コントローラーにより干渉できる点だと言える。
VRのゲーム性
トラッキングが最大の特性である以上激しいアクションや運動がゲーム性の主体になりがちである。
- 360度どこからでも迫りくる敵をあちこち振り向きながら武器で攻撃する
- タイミングに合わせてコントローラーを振る
今はまだフィットネスゲームや音ゲーが流行しているから良いモノの、このようなアクション主体のゲームが氾濫してしまえばVRゲーム市場は先細り確定となりえる。
ゲーム性とは
まずはVR抜きにしてゲーム性とはなにかを考えてみる。
分かりやすくアクションゲームを挙げてみると
- 敵がいて当たるとダメージを受ける「失敗」
- 敵に攻撃を当てて倒す「成功」
短期サイクル(数分のプレイの間)にこのような成功/失敗の評価が存在し、プレイヤーは「失敗しないように成功の行動をとる」というのがゲームと言える。
長期サイクル的には、この「短期サイクルを如何にして成功に繋げるかの準備」がゲームの重要な要素だ。
- 敵の適性を考慮した最適な武具の調達
- 一時的な失敗をカバーするための補助アイテムの調達
などなど、短期サイクルを繰り返していくことで難易度が上昇し、それに合わせてスタイルが枝分かれしプレイヤーに選択の幅を与えるのが長期サイクルの役目と言える。
なおシナリオについては、世界観の説明や短期長期サイクルの動機付けが主な役割とし、ここではシナリオそのものは「ゲーム性」から除外する。
アクションばかりに頼らないVRゲーム案
脱出ゲーム
「周囲を見渡しアイテムを持ちそれを活用する」
VRの必要性から考えると最もマッチしているゲームだと思う。
ゲームサイクルの観点からは中期サイクルあたりとなり、短期的ゲーム性としては弱い。
鬼ごっこ
では、敵の存在を追加してみる。
「周囲を見渡しアイテムを得て、アイテムを活用して敵から逃げて、脱出を図る」
敵の存在により短期サイクルの緊張感は出てくる。
敵を倒せる必要はなく、足止めアイテムを仕掛けるなどでも十分短期的ゲーム性が生まれるだろう。
これなら椅子に座りながらコントローラーを振り回すこともなく緊張感あるゲームにできる。
しかし、すでに非VRのこの手のゲームがあふれているわけで、アイテム探し要素を念入りに組み上げないことにはVRの必要性は感じないかもしれない。
まとめ
VRの必要性とゲーム性の両立は思った以上に難しそうで、今後バラエティ豊かなVRゲーム市場が確立できるのかというとやはり課題が多そうだ。
もちろん、VRである必要性に拘らずに、フラットスクリーンに表示される扱いのゲームもHMDで巨大スクリーンで見るだけでも見違えるレベルなので、そういうのも含めてもっといろいろ出てきても良いとも思う。
(なお今回挙げた案などは一例にすぎず、実際に開発する場合の課題や売れるかどうかについては考慮していないので、実際どうかは知らん)
【Oculus Quest2】バーチャルリモートデスクトップ比較
Quest2でPCをリモート操作したい場合の各種アプリを比較した
Virtual Desktop
画質:◎
テクスチャフィルタリング(補間)が効いておりジャギーが目立たないので文字が読みやすい。
フレームレートやビットレートの指定だけでなく色味調整フラグも設定にある。
マウス操作性:×
タッチ風操作にするかどうかオン/オフできる。
オフにするとドラッグ操作がしやすい代わりに誤操作が頻発する。
タッチ風操作にするとドラッグ操作がしにくくなるので動画のシークバーなどがまともに使えない。
PC操作ではタッチ風操作オフの方がマウスと似たように扱えるので個人的にはそちらが良いが、手ブレ補正も全くなく誤操作が頻発するのが残念。
リモートデスクトップ用途の利用者が少ない(無線VR機能サポート重視)などの理由で改善する予定もないらしい。
キーボード操作性:〇
英字配列の仮想キーボード付き。
半角/全角切り替えはAlt + `(日本語配列キーボードで言うところの半角/全角キーのある場所のキー)を押す必要あり。
日本語配列に慣れた人にとっては初めは戸惑うかもしれないが、半角/全角の切り替え方法さえ分かっていれば何とかなる。
低遅延:◎
柔軟に設定できるので画質やフレームレートを犠牲に低遅延にできる。
マルチディスプレイ:×
1画面表示のみで切り替え方式。
同時に表示できない。
(アニメとか見るのに集中するのには逆に良いのかもしれないが、OP中に切り替えてTwitter見てたりだとOP終了後すぐに切り替えるのが億劫)
オーディオ:〇
PC内音声出力をVirtual Desktop用仮想デバイスを介してQuest2上で聞く方式アリ。
StreamerのMute computer speakersやUse virtual audio driverのチェックを外せばPCスピーカーからも音が出る方式になる。
特に問題もなく必要十分。
VR機能:◎
環境さえ整えてしまえばSteamVRを低遅延高画質を無線で遊べる。
独自のSteamVR対応であるためゲームによっては不安定なものもあるかもしれないが、無線でPCVRができる強みが大きい。
Immersed
画質:△
エンコードせずにそのまま転送して画面解像度そのままが表示されているようなので画質劣化はなさそう。
ただし、テクスチャフィルタリングが効いておらずジャギー(ドット絵素材を変形や回転しているような汚さ)が気になるので、ぱっと見キレイに見えない。
マウス操作性:×
タッチ風操作方式のみ。
(コントローラーのボタン押下してもマウス左ボタン押下イベントが即時に発行されず、離した時にクリック(押下&離す)イベント発行など、タッチ操作の実装方法も独特な気がする)
押下イベントが即時発行されないからかドラッグ操作もやりづらい。
手ブレ補正もない。
キーボード操作性:〇
英字配列の仮想キーボードに加え、物理キーボードの位置と仮想キーボードの位置をできうる限り一致させる機能付き。
ハンドトラッキングを有効にし、できれば英字の物理キーボードを使用し、キーボードの位置も固定されていることが条件。
ハンドトラッキングとキー入力によって位置特定する方法は面白いが、グローバル対応の面からみると日本語配列にも正式に対応する見込みは薄そう。
低遅延:△
設定項目としては画面解像度を下げてパフォーマンス改善する方式なので、1画面内の表示物量が犠牲になってしまう。
解像度下げてもラグかったりカクつくならさらに解像度下げるしかなく、ビットレートなどの設定がないので機能不足感あり
マルチディスプレイ:◎
多画面同時表示可能。
有料のサブスクリプション加入すれば仮想ディスプレイ追加機能もあり。
オーディオ:△
PC音声出力を内部的に録音して転送する方式っぽい。
PCに接続しているスピーカーからも音が鳴る関係か、接続直後に強制的に音量ゼロにされる。
設定はEnable Audioのチェックのみなので、スピーカーからは音を出したくないがQuest2上で聞きたい場合はスピーカー(あるいはオーディオインターフェイス等)自体の音量をゼロにしなければならない。
などなど不便な点が多い。
VR機能:×
なし。
無線PCVRできる別アプリか有線でLinkを使用するしかない。
Oculus Link
※Quest2にv23アップデートがまだ降りてこないのでQuest2側v21+PC側v23。
画質:×
キャプチャー解像度が低いのかぼけて見える。
解像度やビットレートなどの設定項目もないので調整もできない。
マウス操作性:〇
タッチ風操作方式のみ。
ボタン押下イベントは即時発行されているようなので、ドラッグ操作での違和感は少ない。
手ブレ補正もあるので、左クリックする分には他のアプリに比べて一番快適に操作できる。
右クリックするには直接ボタンが割り当てられておらず長押しのみなので、他のアプリに比べて一番やりづらいのが唯一の欠点。
キーボード操作性:×
無駄にKANAキーがついてる英字配列の仮想キーボード。
半角/全角切り替えを仮想キーボード上からできないっぽいので、半角英数入力に切り替えるにはWindows上のIMEで切り替えるしかなさそう。
Rift/SでOculus Dash使用時と違ってパススルーで周辺表示して物理キーボード入力もできない。
低遅延:◎
有線接続なので、逆に遅延が気になるようでは困る
マルチディスプレイ:〇
多画面同時表示可能。
ウィンドウ別表示機能もアリ(ただしメニューやダイアログなどが別途表示されるような時はその部分が表示されないので、その点で言えばあまり使えない)
オーディオ:〇
「コンピューターの音声をVRで聞く」設定を有効にするか、出力デバイスを「Oculus Virtual Audio Device」に変更して聴ける。
音声をVRで聞く設定の場合は、内部的に録音して転送しているっぽくスピーカーからも鳴る点に注意。
出力デバイスを「Oculus Virtual Audio Device」に変更する場合は、おそらくリモートデスクトップ用途は想定外なのか、動画を一時停止して無音になった一瞬だけノイズが聞こえるようになった。
勝手に音量ゼロにされるとかはないのでImmersedよりかはマシな感じ。
VR機能:◎
VDと比較すると有線である点は見劣りしてしまうが、Oculus正式対応という安定感はある。
【Oculus Quest2】【Virtual Desktop】快適無線VRライフまとめ
Virtual Desktopを使用してある程度快適な無線VRライフが確立できたので、2020年10月27日現在の状況をまとめておく。
目的
- 寝ながらアニメなどが見たい
- ワイヤレスでPCVRしたい(個人的にはこっちはオマケ)
必要なもの
Oculus Quest2
Facebookが2020年10月13日に発売したスタンドアロンVRヘッドセット。
Facebookアカウントが必須などで敬遠されがちだが、スタンドアロンVRヘッドセット機としては2020年10月現在最強だと思う。
PC不要でもVRができるが、PCとUSBで接続することでPC向けVRもできる(Oculus Link)。
非公式ながら後述するVirtual Desktopを購入することで、USB接続せずに無線でPCVR(正確にはSteamVR)ができるようにもなる。
Virtual Desktop
PCの画面をVR上に表示して操作できるようにするアプリ。
※PC接続専用VRヘッドセット向け(Oculus Rift版やSteam版)のVirtual Desktopもあるが、Quest2で使用するには必ずQuest版が必要。
PCVRもパッチを適用すればできるようになる。
パッチなどの導入方法は以下のページが参考になる。
追記:Mac環境での導入方法はこちらが参考になる(非PCVR)。
追記:注意点としてはPCVR対応と言っても厳密にはSteamVR対応であるため、Oculus Rift版ゲームで動作しない場合や、Steam版ゲームであってもTouchコントローラーが正常動作しない場合などもある。
あくまで非公式な方法で使用しているため、そのあたりは自己責任で。
要求されるPCスペック
デスクトップ操作機能のみであれば低スペックでも可能。
例えばグラボ未搭載でCPU内蔵グラフィックチップのみでもVD経由でブラウジングなどは十分できる(Mac miniでも試してみたが普通に操作できた)。
PCVRを使用する場合は、もとからPCVRが出来るレベルのPCスペックが必要。
SteamVR Performance Testでベンチマークを行い、PCスペックが十分か確認すると良いかも。
なお、画面エンコードもする都合上ぎりぎりのスペックにしてしまうとFPS低下やカクつきの原因になってしまうのである程度余裕あるスペックが欲しいところ。
ウチのPCスペック
参考までに
Wifiルーター
Virtual DesktopはWifi経由でPCからQuest2へ画面をキャストする関係で、無線通信を酷使する。
PCとWifi周りの環境によっては、ひどい遅延やカクつきとなるためルーター買い替えや配置/配線の見直しも必要になる。
要点
- ルーターへの同時接続数が多い場合はMU-MIMOなどが搭載しているルーターが必須になる
家族が動画見ている最中にVirtual Desktopを使おうとすると帯域不足になり遅延やカクつきにつながる。
MU-MIMOが搭載されていれば、同時通信していてもある程度遅延やカクつきが抑えられる。 - ルーターとPCは有線接続推奨
PCとルーター間もWifiの場合、往復する分通信コストがかかるなど無駄が多いため遅延の原因になる。
出来る限り有線接続するのが望ましい。 - 5GHz帯で接続
2.4GHz帯での接続ではリンク速度も遅いので、5GHz帯で接続できるものを使用する。
リンク速度も速ければ速いほど良いが、PCスペック的にビットレートにも限界があるためリンク速度が速いからと言って最高画質低遅延が実現できるかと言うとそうでもない。
なお、トライバンドで「実質○○Mbps」というルーターの場合でも1帯域のみ使用するので、5GHz帯〇〇Mbps x1 + 5GHz帯〇〇Mbps x1という個別表記を確認すること。 - Wifi6は必ずしも必要ではない
Quest2はWifi6(11ax)に対応しているが、Wifi6対応ルーターをわざわざ新規購入しても違いはさほどわからない。
もし今使ってるWifiルーターでカクつくようならWifi6かどうかというよりも、ルーターそのものの性能不足や配置配線状況によるところが大きいと思われる。
以上のことから
- PCの近くにMU-MIMOなど搭載の11acルーター(もしくは中継器)を置く
- PCと有線接続
- Quest2と5GHz接続
これがベター
なお、Windows10のモバイルホットスポットでPCそのものをWifiルーターにする方法もあるが、5GHz帯は屋外利用制限がある関係でドライバーレベルでふさがれているケースも多いので非推奨。
うちもIntel Wifi6 AX200で試してみたがモバイルホットスポットを5GHzで有効にできなかったので注意されたし。
ウチのWifi環境
こちらにまとめてある
ちなみに、試しにSteam版Beat Saberをやってみているが、latency(VR)がおおよそ27msくらいで遅延はほぼ感じず、なんだったらいままでよりも良いスコア出ている曲もあるくらいには遊べている。
Virtual Desktopの操作性改善
Virtual Desktopは本来仮想デスクトップ機能がメインのはずが、PCVRも出来る機能にばかり注力されている現状。
Oculus Touchコントローラーにおけるデスクトップ操作は細かな調整もされずに放置されているようなので、クリック/ダブルクリック/ドラッグなどが誤判定されまくってしまう。
多少なりとも改善する方法については以下にまとめている。
自作の改善ツールも作成した。
ただし、各種アプリケーションが独自実装している箇所については設定が反映されないなど限界もあるので、Virtual Desktop側で本格対応してほしいところ。
試していないが、Steam版Virtual DesktopをQuest版Virtual Desktop経由で使用すればある程度改善されるかもしれない(マルチディスプレイ同時表示にはできそう)
追記:どうやらVirtual Desktop内部でもDragWidthなどの数値が設定されるようになっているっぽいので、手動設定は不要な模様(むしろツール使ってると余計な混乱を招くっぽい)
【Oculus Quest2】【Virtual Desktop】操作性改善ツール VDSetting v0.1
Virtual Desktopにてデスクトップ操作をする際に手ブレなどで操作性が悪いので、一時的に改善するツールを作成しました。
※「VDの改善用に作成した」というだけでVDとは一切関係ない単独動作するツールです
追記:どうやらVirtual Desktop内部でも自動的に設定されるみたいなので手動設定は不要(むしろ使ってると余計な混乱を招く)っぽい
(開発者名義としてはcaitsithwareとなっていますが、お遊び半分でやっているためこちらで報告)
導入方法
- 上記ページからVDSetting_v0.1.zipをダウンロードし解凍。
- 任意でVDSetting_v0.1フォルダを適当なフォルダへ移動。
- VDSetting.exeを起動
アンインストール
レジストリなどは弄っていないのでフォルダごと削除
免責事項
このソフトウェアを使用して際に発生したいかなる障害についても責任を負いません。
自己責任で使用して下さい。
使い方
概要
- Virtual Desktop使用時にデスクトップ操作(エクスプローラーのドラッグやダブルクリックなど)の操作性を多少改善するためのツール。
- 各種アプリケーション内で独自実装している操作性については、この設定値を参照していなければ反映されない。
各アプリケーション内の設定を個別に行う必要がある。
起動
VDSetting.exeを起動。
設定
- DoubleClickHeight
マウス押下した位置から2回目のクリックまでにカーソルをどれくらい縦方向に移動させてもダブルクリック扱いにするかの縦幅。 - DoubleClickWidth
マウス押下した位置から2回目のクリックまでにカーソルをどれくらい横方向に移動させてもダブルクリック扱いにするかの横幅。 - DragHeight
マウス押下した位置からどれくらい縦方向にカーソルを移動させたらドラッグを開始するかの縦幅。 - DragWidth
マウス押下した位置からどれくらい横方向にカーソルを移動させたらドラッグを開始するかの横幅。 - RevertToDefaultOnQuit
終了時に初期値へ戻すかどうかのフラグ。
Trueにした場合は起動直前の設定値に戻る。
Falseにした場合は終了しても設定が維持される(PC再起動すると戻る)。
タスクトレイに格納
最小化するとタスクトレイへ格納される。
終了
フォームの×ボタンをクリック、もしくはタスクトレイのアイコンを右クリックして「Quit」を選択。
【Oculus Quest2】【Virtual Desktop】デスクトップ操作改善メモ
「Use touch input」をオフ
Use touch inputがオンの場合、ドラッグ操作がスマホのようにスクロール操作になってしまう。
テキストを選択したり、動画のシークバーをドラッグする場合にわずらわしいのでオフにする。
- Virtual Desktop Streamerを開く。
- 「Use touch input」をオフ
ポインターの軌跡を表示
VRのコントローラーによるポインターのみ表示されていて、マウスカーソルが非表示になっているのでポイント位置によるカーソル変化がわからない。
そこで、Windows側のポインターの軌跡を表示することで、暫定的に表示させる。
なお、軌跡を表示するとテキスト選択カーソルが場所によって見えなくなるWindowsのバグがあるようなので、カーソルの種類を変更して回避する。
誤ドラッグ抑制
手ブレによってクリックするつもりがドラッグ扱いになってしまい選択できないケースが多いので、ドラッグ開始範囲の設定を変更することで抑制する。
なお、システム設定を参照せずに独自実装しているソフトも多いので、その場合は諦めるしかない。
レジストリを変更する方法
設定やコントロールパネルでは変更ができないためレジストリを変更する必要がある。
なお、レジストリ変更は自己責任で。
レジストリを変更したくない場合は後述のsetDragXYを使用する方法を参照。
- WInキー + Rキーを押す
- 名前に「regedit」と入力してOK
- アドレスに「HKEY_CURRENT_USER\Control Panel\Desktop」と入力
- 念のため「DragWidth」と「DragHeight」の初期値をメモっておく(自分の場合は「4」だった)
- 「DragWidth」と「DragHeight」の値のデータを30などの大き目の数値に変更
※数値は適当に調整して - Windows再起動
setDragXYを使用する方法
DragWidth、DragHeightを設定できるソフトを有志の方が公開していたので、それを使用する。
探したらソフトあったので使ってみてるだけで中身についての保証はできない。
こちらも自己責任で。
- 上記ページの「setDragXY100.zip」をクリックしDL
- zipファイルを解凍
- 解凍したフォルダを適当な場所に配置
- setDragXY.exeを起動
- 「ドラッグ操作の開始とは見なされない範囲の設定」の数値を30など大きめに設定。
※数値は適当に調整して - 最小化するとタスクトレイに格納される。
- 「終了時に初期値に戻してから終了する」がオンになっていれば終了時に元に戻る。
- このソフトを実行する前に起動していたソフトには設定が反映されないっぽいので、他ソフトの起動し直しなどもする
ダブルクリックの範囲設定
手ブレでダブルクリックできないケースが多いので、ダブルクリックの判定範囲を変更することで改善する。
こちらも、ソフトによっては独自実装しているケースもあるので、全てのソフトで改善できるとは限らない。
レジストリを変更する方法
設定やコントロールパネルでは変更ができないためレジストリを変更する必要がある。
なお、レジストリ変更は自己責任で。
- WInキー + Rキーを押す
- 名前に「regedit」と入力してOK
- アドレスに「HKEY_CURRENT_USER\Control Panel\Mouse」と入力
- 念のため「DoubleClickWidth」と「DoubleClickHeight」の初期値をメモっておく(自分の場合は「4」だった)
- 「DoubleClickWidth」と「DoubleClickHeight」の値のデータを30などの大き目の数値に変更
※数値は適当に調整して - Windows再起動
レジストリを変更したり見つけたソフトそのまま使うなどリスクもあので、いずれオープンソースのソフトでも作成しようかと考え中。
追記:作りました
【Oculus Quest2】【Virtual Desktop】Wifi環境改善のためTP-Link Deco X20購入
Quest2 + Virtual Desktopで動画視聴してるだけでも、一瞬音飛びするなどカクついていたので、Wifi環境を改善するためにTP-LInkのDeco X20を購入した。
接続状況
[リビング]ONU
↓[有線]
[リビング]光BBユニット
↓[有線/DMZ設定]
[リビング]Deco X20(ルーター)
↓[Wifi]
[自室]Deco X20(サテライト)
↓[有線] ↓[Wifi]
[自室]PC [自室]Quest2
所感
Virtual Desktopでリンク速度1200Mbpsを実現できた。
いままでは光BBユニットを直接使用していたためビームフォーミングやMU-MIMOは未搭載だったのもあり、安定性の向上は体感できた。
ただしLatencyは20ms~30msのままでさほど変化がなかったので、WindowsやQuest2側の設定の見直しが必要かもしれない。
とはいえ、動画視聴をメインに使用していくのであればこれで十分かと思われる。
これから数日様子見して必要に応じて設定の見直しなどを行っていくとする。
【Oculus Quest2】Virtual Desktopでアニメ見てみた
Quest2単体ではソフトの操作性が悪くてストレス感じたので、Virtual Desktopで見てみた。
(PCVRについては、Rift S持ってて不満もさほどないので割愛)
視聴環境
感想
ルーター経由で11ac(5GHz帯)接続
Virtual Desktop StreamerのAutomatically adjust bitrateをオフにして
Quest2のVirtual Desktop側の設定でDesktop bitrateをそこそこ上げればカクツキが抑えられる。
部屋とルーターの位置関係や同時接続台数などによるので、家族がルーターの近くで動画再生してたりしたら不安定になるかも。
モバイルホットスポットに接続
試しにWindowsのモバイルホットスポットを有効にしてQuest2を直接接続してみたが、電波法の関係?で2.4GHz接続しかできないので転送速度やレイテンシーが悪い。
いろいろ設定も変えてみたがどうこう出来るレベルではなさそうで、どうしてもカクツキがでてしまい実用的ではなかった。
最適なWifi接続環境としては、Wifi6対応のメッシュWifiとPCを有線接続し、Quest2とPC間の通信経路を可能な限り最短にするのが良いのかもしれない。
(安くてDeco X20が2個セットで約2万円……Quest2のために購入するには悩ましいところ)
Virtual Desktopの操作性
トリガーで左クリックが、遊びがなさ過ぎてクリックしにくい。
Aボタンでも左クリックだが、寝転がってコントローラー持ってるとAボタンが押しにくい(Rift Sだとさほど気にしてなかったのでQuest2の形状の違いか?)
Virtual Desktop StreamerのUse touch inputをオンにしていると、ドラッグ操作ができないのでオフにすべし。