2021/01/03
Oculus Quest 2 のスペックと TVLauncherGo の呼び出し
Oculus Quest 2 を入手しました。性能が上がりつつ価格も下がっており、今 VR を始めるなら間違いなくこれが候補にあがるのではないかと思います。ケーブルも外部センサーも不要なモバイル VR でありながらルームスケールに対応しており、Oculus Link を使えば PC の VR ゲームもプレイできます。
Oculus Quest 1 とスペックを比較してみます。
VR HMD はハイエンド向けとモバイル向けに分かれています。ハイエンド向けではトラッキングの精度やトラッカーの数でまだまだ Lighthouse 方式が優勢でしょう。モバイル向けでは仕様的に Oculus Quest で完成されており、Quest 2 はさらなる機能強化が図られています。
まずパネル解像度が上がっており、片目だけで Full HD の 1.7倍 (1920x1832) に達しています。Quest 1 と比べても明らかにドットの隙間が見えにくくなっているのがわかります。
ガーディアンの外に出ると外部カメラの画像に切り替わりますが、Quest 2 の方が歪みが減って明るくなっており、そのまま違和感なく歩けます。
プロセッサも強化されています。スペックを調べると CPU は 1+3+4 構成の Octa core で、それぞれ 2.8GHz, 2.4GHz, 1.8GHz でした。GPU も Adreno 650 だったので、Snapdragon XR2 は Snapdrago 865 をベースにしていると思われます。
基本性能が強化された反面、コストダウンが見える部分もあります。Oculus Go と同じゴムバンドになっており、軽量化されているものの装着時の安定度は Quest 1 の方が上です。また小型化のためか内部の空間に余裕がなくなり、スペーサーを入れてもメガネがかなり入りづらくなっています。
一番残念だったのが、画面を見ながら IPD の微調整ができなくなっていることです。一旦 HMD を外してから直接レンズ部分をずらす必要があり、切り替えも 3段階のみとなっています。
また新しく Oculus デバイスをセットアップする場合は Facebook アカウントが必要です。
● Bluetooth Keyboard
Oculus Quest の UI は更新されており、外部ツールを使わなくても設定から Bluetooth Keyboard をペアリングできるようになっています。Quest 1 でもできるようになっています。
・設定 → テスト機能 → Bluetooth ペアリング
ただしキーボードレイアウトの変更はできないので、日本語配列などレイアウトを切り替えたい場合はやはり TVLauncerGo などの外部ツールから Android 本来の設定画面を呼び出す必要があります。レイアウト変更手順は下記の通り。
・TVLauncerGo → 設定 → システム → 言語と入力 → 物理キーボード → 物理キーボードを選択 → キーボードレイアウトの設定
● TVLauncherGo の呼び出し
Oculus Quest 1 と同じように TVLauncherGo が動きました。アカウントを開発者登録してから PC と USB で接続し、adb コマンドでインストールしています。
・Oculus Go で一般 Android アプリを起動できるランチャーを作ってみた
・GitHub: TVLauncherGo
Oculus TV がシステムに統合されているため、以前の解説と起動方法は異なっています。
1. Oculus ボタンのメニューから「アプリ」を選択
2. 右上のプルダウンを「すべて」にする
3. 右上の「テレビ」を選択
4. テレビアプリの左から「チャンネル」→「提供元不明のアプリ」


もしくは下記の方法でも直接呼び出せます。
1. アプリの右上のプルダウンを「提供元不明」にする
2. 直接 TV Launcher Go を選ぶ。

● Termux / UserLAnd
Termux は Version によっては動かないことがあるようです。昨年 2020/10 月に試したときは、Quest 1 で使っていた古いバージョンを使用しました。
UserLAnd は問題なくインストールできました。VNC を使うときに注意が必要な点も Quest 1 と同じです。Termux は単独で起動できますが、UserLAnd は TVLauncherGo 経由で呼び出す必要があります。詳しくは下記をご覧ください。
・Oculus Quest も文章書き&開発マシンにする
なお Android 10 になったため CTRL+SPACE の入力ができなくなっています。Quest 1 は Android 7.1 なので入力できました。
・UserLAnd : Android 9.0 で Ctrl + SPACE を使えるようにする
関連エントリ
・Oculus Quest で Rift のゲームをプレイする (Oculus Link)
・Oculus Quest 5万円ちょうどで買えるフルスペック VR
・Oculus Quest も文章書き&開発マシンにする
・Android/Oculus Go/Daydream の画面をミラーリングするツールを作ってみた
・Oculus Go で一般 Android アプリを起動できるランチャーを作ってみた
・VR で物が大きく見えたり小さく見えたりするわけ
・Oculus Go は VR ができる新しい携帯ゲーム機
Oculus Quest 1 とスペックを比較してみます。
Oculus Quest | Oculus Quest 2 | |
---|---|---|
SoC | Snapdragon 835 | Snapdragon XR2 |
CPU | Kryo 280 (A73 + A53) | Kryo 585 (A77 + A55) |
CPU Clock | 2.5GHz / 1.9GHz | 2.8GHz / 2.4GHz / 1.8GHz |
RAM | 4GB | 6GB |
GPU | Adreno 540 | Adreno 650 |
OS | Adnroid 7.1 (API 25) | Android 10 (API 29) |
Display | OLED 1440 x 1600 x2 | LCD 1832 x 1920 x2 |
IPD調節 | 無段階 | 3段階のみ |
発売 | 2019/05 | 2020/10 |
価格 | 49800円 (64GB) | 37100円 (64GB) |
VR HMD はハイエンド向けとモバイル向けに分かれています。ハイエンド向けではトラッキングの精度やトラッカーの数でまだまだ Lighthouse 方式が優勢でしょう。モバイル向けでは仕様的に Oculus Quest で完成されており、Quest 2 はさらなる機能強化が図られています。
まずパネル解像度が上がっており、片目だけで Full HD の 1.7倍 (1920x1832) に達しています。Quest 1 と比べても明らかにドットの隙間が見えにくくなっているのがわかります。
HMD | ROM | 価格 | 重さ | RAM | 画面 | 解像度比 | |
---|---|---|---|---|---|---|---|
Oculus Go | 32GB | 23800円 | $199 | 468g | 3GB | 2560x1440 | 1.00 |
Oculus Go | 64GB | 29800円 | $249 | 468g | 3GB | 2560x1440 | 1.00 |
Oculus Quest | 64GB | 49800円 | $399 | 571g | 4GB | 2880x1600 | 1.25 |
Oculus Quest | 128GB | 62800円 | $499 | 571g | 4GB | 2880x1600 | 1.25 |
Oculus Quest2 | 64GB | 37100円 | $299 | 503g | 6GB | 3664x1920 | 1.91 |
Oculus Quest2 | 256GB | 49200円 | $399 | 503g | 6GB | 3664x1920 | 1.91 |
ガーディアンの外に出ると外部カメラの画像に切り替わりますが、Quest 2 の方が歪みが減って明るくなっており、そのまま違和感なく歩けます。
プロセッサも強化されています。スペックを調べると CPU は 1+3+4 構成の Octa core で、それぞれ 2.8GHz, 2.4GHz, 1.8GHz でした。GPU も Adreno 650 だったので、Snapdragon XR2 は Snapdrago 865 をベースにしていると思われます。
基本性能が強化された反面、コストダウンが見える部分もあります。Oculus Go と同じゴムバンドになっており、軽量化されているものの装着時の安定度は Quest 1 の方が上です。また小型化のためか内部の空間に余裕がなくなり、スペーサーを入れてもメガネがかなり入りづらくなっています。
一番残念だったのが、画面を見ながら IPD の微調整ができなくなっていることです。一旦 HMD を外してから直接レンズ部分をずらす必要があり、切り替えも 3段階のみとなっています。
また新しく Oculus デバイスをセットアップする場合は Facebook アカウントが必要です。
● Bluetooth Keyboard
Oculus Quest の UI は更新されており、外部ツールを使わなくても設定から Bluetooth Keyboard をペアリングできるようになっています。Quest 1 でもできるようになっています。
・設定 → テスト機能 → Bluetooth ペアリング
ただしキーボードレイアウトの変更はできないので、日本語配列などレイアウトを切り替えたい場合はやはり TVLauncerGo などの外部ツールから Android 本来の設定画面を呼び出す必要があります。レイアウト変更手順は下記の通り。
・TVLauncerGo → 設定 → システム → 言語と入力 → 物理キーボード → 物理キーボードを選択 → キーボードレイアウトの設定
● TVLauncherGo の呼び出し
Oculus Quest 1 と同じように TVLauncherGo が動きました。アカウントを開発者登録してから PC と USB で接続し、adb コマンドでインストールしています。
・Oculus Go で一般 Android アプリを起動できるランチャーを作ってみた
・GitHub: TVLauncherGo
Oculus TV がシステムに統合されているため、以前の解説と起動方法は異なっています。
1. Oculus ボタンのメニューから「アプリ」を選択
2. 右上のプルダウンを「すべて」にする
3. 右上の「テレビ」を選択
4. テレビアプリの左から「チャンネル」→「提供元不明のアプリ」


もしくは下記の方法でも直接呼び出せます。
1. アプリの右上のプルダウンを「提供元不明」にする
2. 直接 TV Launcher Go を選ぶ。

● Termux / UserLAnd
Termux は Version によっては動かないことがあるようです。昨年 2020/10 月に試したときは、Quest 1 で使っていた古いバージョンを使用しました。
UserLAnd は問題なくインストールできました。VNC を使うときに注意が必要な点も Quest 1 と同じです。Termux は単独で起動できますが、UserLAnd は TVLauncherGo 経由で呼び出す必要があります。詳しくは下記をご覧ください。
・Oculus Quest も文章書き&開発マシンにする
なお Android 10 になったため CTRL+SPACE の入力ができなくなっています。Quest 1 は Android 7.1 なので入力できました。
・UserLAnd : Android 9.0 で Ctrl + SPACE を使えるようにする
関連エントリ
・Oculus Quest で Rift のゲームをプレイする (Oculus Link)
・Oculus Quest 5万円ちょうどで買えるフルスペック VR
・Oculus Quest も文章書き&開発マシンにする
・Android/Oculus Go/Daydream の画面をミラーリングするツールを作ってみた
・Oculus Go で一般 Android アプリを起動できるランチャーを作ってみた
・VR で物が大きく見えたり小さく見えたりするわけ
・Oculus Go は VR ができる新しい携帯ゲーム機
2019/11/28
Oculus Quest で Rift のゲームをプレイする (Oculus Link)
Oculus Quest が PC 接続に対応しました。まだベータですが、Oculus Quest で PC 向けの VR ゲームも遊べるようになります。
・Oculus Questスタートガイド。
使い方は上のページから「Oculus Questヘッドセットを設定するにはどうすればよいですか。」→「Oculus LinkでQuestを設定する」の順で開くと出てきます。
Oculus Quest は 6.6DoF、頭と両手合わせて合計自由度 18 に対応しつつ完全ワイヤレス化を実現した VR HMD です。外部のセンサー設置も不要で準備いらず。ルームスケール対応の本格的な VR ゲームができるのに充電して電源を入れるだけ。携帯ゲーム機のような手軽さが魅力の一体型 VR です。
ただし Platform は Android ベースの独自のもので、Quest 対応ソフトしかプレイできませんでした。Oculus Go/GearVR との互換性もなかったのですが、この辺りは徐々に解消されつつあるようです。
さらに Oculus Link 機能によってハイエンド系 VR ゲームもプレイできるようになります。つまり PC とケーブルがあれば Oculus Quest が Oculus Rift/Oculus Rift S の代わりになりるわけです。
まだ専用の Oculus Link ケーブルが発売されていないので、β版を試すには USBケーブルが必要です。

↑推奨のケーブル (Anker USB 3.0 3m) を使用しています。
専用ケーブルではないのでコネクタが斜め前方に飛び出して少々じゃまになりがち。ケーブルを引っ張ると簡単に抜けてしまうので写真ではベルトで止めています。
使い方は Oculus Rift と同じです。予め PC 側で Oculus アプリをインストールしておくと、接続時に Quest を認識します。Quest 側にダイアログが出るので許可すれば OK です。

Oculus Store で Rift 向けアプリがプレイできますし、そのまま SteamVR を起動すれば Steam の VR ゲームも動きました。

特に遅延なども見られず遜色ない動きです。使用した PC は Ryzen 7 1800X + GeForce RTX 2070 SUPER。モバイルも据え置きもこれ一台。今お勧めできるデバイスを選ぶとしたら Quest 一択になりそうです。
関連エントリ
・Oculus Quest 5万円ちょうどで買えるフルスペック VR
・Oculus Quest も文章書き&開発マシンにする
・Android/Oculus Go/Daydream の画面をミラーリングするツールを作ってみた
・Oculus Go で一般 Android アプリを起動できるランチャーを作ってみた
・VR で物が大きく見えたり小さく見えたりするわけ
・Oculus Go は VR ができる新しい携帯ゲーム機
・Oculus Questスタートガイド。
使い方は上のページから「Oculus Questヘッドセットを設定するにはどうすればよいですか。」→「Oculus LinkでQuestを設定する」の順で開くと出てきます。
Oculus Quest は 6.6DoF、頭と両手合わせて合計自由度 18 に対応しつつ完全ワイヤレス化を実現した VR HMD です。外部のセンサー設置も不要で準備いらず。ルームスケール対応の本格的な VR ゲームができるのに充電して電源を入れるだけ。携帯ゲーム機のような手軽さが魅力の一体型 VR です。
ただし Platform は Android ベースの独自のもので、Quest 対応ソフトしかプレイできませんでした。Oculus Go/GearVR との互換性もなかったのですが、この辺りは徐々に解消されつつあるようです。
さらに Oculus Link 機能によってハイエンド系 VR ゲームもプレイできるようになります。つまり PC とケーブルがあれば Oculus Quest が Oculus Rift/Oculus Rift S の代わりになりるわけです。
まだ専用の Oculus Link ケーブルが発売されていないので、β版を試すには USBケーブルが必要です。

↑推奨のケーブル (Anker USB 3.0 3m) を使用しています。
専用ケーブルではないのでコネクタが斜め前方に飛び出して少々じゃまになりがち。ケーブルを引っ張ると簡単に抜けてしまうので写真ではベルトで止めています。
使い方は Oculus Rift と同じです。予め PC 側で Oculus アプリをインストールしておくと、接続時に Quest を認識します。Quest 側にダイアログが出るので許可すれば OK です。

Oculus Store で Rift 向けアプリがプレイできますし、そのまま SteamVR を起動すれば Steam の VR ゲームも動きました。

特に遅延なども見られず遜色ない動きです。使用した PC は Ryzen 7 1800X + GeForce RTX 2070 SUPER。モバイルも据え置きもこれ一台。今お勧めできるデバイスを選ぶとしたら Quest 一択になりそうです。
関連エントリ
・Oculus Quest 5万円ちょうどで買えるフルスペック VR
・Oculus Quest も文章書き&開発マシンにする
・Android/Oculus Go/Daydream の画面をミラーリングするツールを作ってみた
・Oculus Go で一般 Android アプリを起動できるランチャーを作ってみた
・VR で物が大きく見えたり小さく見えたりするわけ
・Oculus Go は VR ができる新しい携帯ゲーム機
2019/06/08
Oculus Quest 5万円ちょうどで買えるフルスペック VR
Oculus Go が登場してからちょうど一年。新しい VR デバイス Oculus Quest が発売されました。最大の特徴はポジショントラッキングにフル対応したスタンドアロン型になっていることです。
要するに、これまで PS4 かデスクトップ PC でしか遊べなかった両手モーションコントローラやルームスケール対応ゲームが、部屋へのベースステーション設置作業とかケーブルの配線とか一切の準備不要で、完全ワイヤレスで楽しむことができるようになるわけです。
・ケーブルなし
・外部センサーやベースステーションの設置なし
・両手モーションコントローラでポジショントラッキング対応
・ルームスケール対応
例えると最初のマルチタッチ対応スマートフォンが出たようなもの。手軽に VR を楽しむために欲しかったものが一通り実現されたことになるので、後はスマートフォンのように年々プロセッサの性能を上げていけばいいだけです。
もちろんモバイルプラットフォームなので、ハイエンド PC と比べると CPU/GPU 性能には大きな隔たりがあります。特に描画性能は落ちるため、決して従来型のコンソールやデスクトップ向け VR HMD が不要になるわけではありません。またアーキテクチャも違うので、Steam などの既存のゲームがそのまま動くわけでもなく、対応ソフトの登場を待つ必要があります。
対応ソフトはまだまだ少ないですが、VR 機能が統一されたので Quest 向けゲームはだいぶ開発しやすくなります。今まではコントローラやトラッキングの仕様が違いすぎて、PC の本格的な VR ゲームをモバイルやスタンドアロン機へ移植するのが困難でした。
またケーブルやベースステーションがないことで、ルームスケール範囲の自由度はむしろ従来のデスクトップ型 VR よりも高くなります。
なお Oculus Quest と同等のデバイスとしては HTC Vive Focus Plus があります。Quest より値段は高いものの、こちらもスタンドアロンかつ両手のモーションコントローラ込みでポジショントラッキングに対応しています。Daydream も HMD のポジショントラッキングに対応した Mirage Solo が出ていますが、6DoF 対応のモーションコントローラがまだありません。ただし Daydream も 6DoF 対応コントローラの開発は行われているようです。
・Google VR: Experimental Daydream 6DoF controllers
今後はモバイル系のスタンドアロン機も 6.6DoF 対応が標準になっていくものと思われます。
Oculus の場合アーキテクチャ面でのプラットフォームは2種類ですが、ソフトウエアの対応は Rift, Quest, Go それぞれ異なっています。Oculus Quest の OS やアーキテクチャはモバイル系に属しますが、トラッキング性能やコントローラは PC 系の Rift (S) と同じです。アーキテクチャ上は Quest でも Go/GearVR ソフトが動きそうですが、今のところは対応していないようです。
ちなみに Daydream と Vive の場合は下記の通り。
より詳しいスペックはこちらに載せています。
・HMD VR / AR Device spec 一覧
関連エントリ
・Oculus Quest も文章書き&開発マシンにする
・Android/Oculus Go/Daydream の画面をミラーリングするツールを作ってみた
・Oculus Go で一般 Android アプリを起動できるランチャーを作ってみた
・Oculus Go を文章書き&開発マシンにする
・VR で物が大きく見えたり小さく見えたりするわけ
・Oculus Go は VR ができる新しい携帯ゲーム機
要するに、これまで PS4 かデスクトップ PC でしか遊べなかった両手モーションコントローラやルームスケール対応ゲームが、部屋へのベースステーション設置作業とかケーブルの配線とか一切の準備不要で、完全ワイヤレスで楽しむことができるようになるわけです。
・ケーブルなし
・外部センサーやベースステーションの設置なし
・両手モーションコントローラでポジショントラッキング対応
・ルームスケール対応
例えると最初のマルチタッチ対応スマートフォンが出たようなもの。手軽に VR を楽しむために欲しかったものが一通り実現されたことになるので、後はスマートフォンのように年々プロセッサの性能を上げていけばいいだけです。
もちろんモバイルプラットフォームなので、ハイエンド PC と比べると CPU/GPU 性能には大きな隔たりがあります。特に描画性能は落ちるため、決して従来型のコンソールやデスクトップ向け VR HMD が不要になるわけではありません。またアーキテクチャも違うので、Steam などの既存のゲームがそのまま動くわけでもなく、対応ソフトの登場を待つ必要があります。
対応ソフトはまだまだ少ないですが、VR 機能が統一されたので Quest 向けゲームはだいぶ開発しやすくなります。今まではコントローラやトラッキングの仕様が違いすぎて、PC の本格的な VR ゲームをモバイルやスタンドアロン機へ移植するのが困難でした。
またケーブルやベースステーションがないことで、ルームスケール範囲の自由度はむしろ従来のデスクトップ型 VR よりも高くなります。
なお Oculus Quest と同等のデバイスとしては HTC Vive Focus Plus があります。Quest より値段は高いものの、こちらもスタンドアロンかつ両手のモーションコントローラ込みでポジショントラッキングに対応しています。Daydream も HMD のポジショントラッキングに対応した Mirage Solo が出ていますが、6DoF 対応のモーションコントローラがまだありません。ただし Daydream も 6DoF 対応コントローラの開発は行われているようです。
・Google VR: Experimental Daydream 6DoF controllers
今後はモバイル系のスタンドアロン機も 6.6DoF 対応が標準になっていくものと思われます。
Oculus の場合アーキテクチャ面でのプラットフォームは2種類ですが、ソフトウエアの対応は Rift, Quest, Go それぞれ異なっています。Oculus Quest の OS やアーキテクチャはモバイル系に属しますが、トラッキング性能やコントローラは PC 系の Rift (S) と同じです。アーキテクチャ上は Quest でも Go/GearVR ソフトが動きそうですが、今のところは対応していないようです。
Oculus | HMD | Controller | Host | OS | Arch |
---|---|---|---|---|---|
Oculus Rift / Rift S | 6DoF | 6DoF Touch x2 | 外部 PC | Windows | x64 |
Oculus Quest | 6DoF | 6DoF Tocuh x2 | Standalone | Android 7.1 | arm64 |
Oculus Go (Gear VR) | 3DoF | 3DoF x1 | Standalone | Android 7.1 | arm64 |
ちなみに Daydream と Vive の場合は下記の通り。
Daydream | HMD | Controller | Host | OS | Arch |
---|---|---|---|---|---|
Daydream | 3DoF | 3DoF x1 | Smartphone | Android 7.1+ | arm64 |
Daydream Standalone | 6DoF | 3DoF x1 | Standalone | Android 7.1+ | arm64 |
HTC Vive | HMD | Controller | Host | OS | Arch |
---|---|---|---|---|---|
HTC Vive/Pro/Eye | 6DoF | 6DoF x2 +α | 外部 PC | Windows 他 | x64 |
HTC Cosmos | 6DoF | 6DoF x2 | 外部 PC? | Windows 他? | x64? |
HTC Focus Plus | 6DoF | 6DoF x2 | Standalone | Android | arm64 |
HTC Focus | 6DoF | 3DoF x1 | Standalone | Android | arm64 |
より詳しいスペックはこちらに載せています。
・HMD VR / AR Device spec 一覧
関連エントリ
・Oculus Quest も文章書き&開発マシンにする
・Android/Oculus Go/Daydream の画面をミラーリングするツールを作ってみた
・Oculus Go で一般 Android アプリを起動できるランチャーを作ってみた
・Oculus Go を文章書き&開発マシンにする
・VR で物が大きく見えたり小さく見えたりするわけ
・Oculus Go は VR ができる新しい携帯ゲーム機
2019/06/07
VR Daydream 上で UserLAnd / Termux を使う
前回 Daydream 上でのテストに使用した方法です。通常のスマートフォンなら Oculus TV のような仕組みが不要なので、VR 上で動く VNC か SSH client があれば OK です。ブラウザ上で動く noVNC を使ってみました。
●noVNC での接続
事前に Bluetooth キーボードを接続しておくことをおすすめします。まずはスマートフォン単体で。
(1) UserLAnd の Install
(2) UserLAnd を立ち上げ、任意の Linux Distribution を選んで VNC を選択
(3) Termux の Install
(4) Termux に noVNC を入れて起動する
(5) Android の Chrome ブラウザから "http://localhost:6080/vnc.html" を開く
(6) noVNC の画面になるので "Connect" を押して VNC password を入れると Desktop が表示される。
(7) Menu の設定から Scaling Mode を "Local Scaling" に変更するとデスクトップ全体になります。
noVNC を開いたところ

Android の Chrome 内で UserLAnd で Linux (Ubuntu)

●VR 上での接続
Daydream View を使います。
(1) VR 上でライブラリのアプリ一覧から Chrome ブラウザを選びます。
(2) あとは同じように "http://localhost:6080/vnc.html" を開くだけです。
Daydream の Chrome でも UserLAnd で Linux (Ubuntu)

●速度面
前回 も載せましたが、さらに VR なしの noVNC のデータを追加しました。UserLAnd 上から Termux に ssh localhost -p 8022 で繋いでビルドを行っています。
・Time はビルドにかかった時間で単位は秒。Time の値が小さい方が高速。
●画面など
デスクトップウィンドウのような細かい文字だと Pixel 3 の解像度 (2180x1080) ではかなり厳しいことがわかりました。携帯できる大画面モニタとして使えると便利かと思いましたが、全体的にぼやけており逆に画面が狭くなったように感じます。
ZenFone AR は解像度 (2560x1440) が高い反面、ビルドのような高負荷な状態が続くと処理落ちが発生します。リプロジェクションも追従できなくなっており、酔いやすいので注意です。
どちらもレンズの端に歪みが生じていたり、何らかのタイミングで 2D アプリのウィンドウが表示されたりと専用機と比べるとどうしてもあらが目立つ印象です。今回テストした範囲では UserLAnd/termux で VR を使うメリットはありませんでした。Pixel 3 XL や Galaxy S9、Mirage Solo ではまた違った結果になるかもしれません。
関連ページ
・Android の上の開発環境
・HMD VR / AR Device spec 一覧
関連エントリ
・Oculus Quest も文章書き&開発マシンにする
・Android UserLAnd の更新と VNC 画面設定
・UserLAnd : Android 9.0 で Ctrl + SPACE を使えるようにする
・Android Termux で日本語入力を行う / UserLAnd との併用
・Android 9.0 と Bluetooth Keyboard による日本語入力
・Android/Oculus Go/Daydream の画面をミラーリングするツールを作ってみた
・Oculus Go で一般 Android アプリを起動できるランチャーを作ってみた
・Oculus Go を文章書き&開発マシンにする
・UserLAnd とブラウザ
・Android 上の開発環境と UserLAnd
・OS の中の Linux (WSL/Chrome OS/Android UserLAnd)
・ARM CPU 上の開発環境とコンパイル時間の比較 (2) Pixel 3/UserLAnd
・Oculus Go は VR ができる新しい携帯ゲーム機
●noVNC での接続
事前に Bluetooth キーボードを接続しておくことをおすすめします。まずはスマートフォン単体で。
(1) UserLAnd の Install
(2) UserLAnd を立ち上げ、任意の Linux Distribution を選んで VNC を選択
(3) Termux の Install
(4) Termux に noVNC を入れて起動する
$ pkg install git $ git clone https://github.com/novnc/noVNC.git $ ./noVNC/utils/launch.sh --vnc localhost:5951
(5) Android の Chrome ブラウザから "http://localhost:6080/vnc.html" を開く
(6) noVNC の画面になるので "Connect" を押して VNC password を入れると Desktop が表示される。
(7) Menu の設定から Scaling Mode を "Local Scaling" に変更するとデスクトップ全体になります。
noVNC を開いたところ

Android の Chrome 内で UserLAnd で Linux (Ubuntu)

●VR 上での接続
Daydream View を使います。
(1) VR 上でライブラリのアプリ一覧から Chrome ブラウザを選びます。
(2) あとは同じように "http://localhost:6080/vnc.html" を開くだけです。
Daydream の Chrome でも UserLAnd で Linux (Ubuntu)

●速度面
前回 も載せましたが、さらに VR なしの noVNC のデータを追加しました。UserLAnd 上から Termux に ssh localhost -p 8022 で繋いでビルドを行っています。
VR あり | VR利用 | SoC | RAM | Thread | Time |
---|---|---|---|---|---|
Daydream + Pixel 3 (noVNC) | あり | Snapdragon 845 | 4GB | 8 | 72 秒 |
Oculus Quest | あり | Snapdragon 835 | 4GB | 8 | 105 秒 |
Oculus Go | あり | Snapdragon 821 | 3GB | 4 | 275 秒 |
Daydream + ZenFone AR (noVNC) | あり | Snapdragon 821 | 8GB | 4 | 349 秒 |
VR なし | VR利用 | SoC | RAM | Thread | Time |
Pixel 3 (Termux Console) | 無し | Snapdragon 845 | 4GB | 8 | 32 秒 |
Pixel 3 (noVNC) | 無し | Snapdragon 845 | 4GB | 8 | 38 秒 |
Essential Phone | 無し | Snapdragon 835 | 4GB | 8 | 38 秒 |
ZenFone 3 Max ZC553KL | 無し | Snapdragon 430 | 3GB | 8 | 100 秒 |
ZenFone AR (Termux Console) | 無し | Snapdragon 821 | 8GB | 4 | 111 秒 |
ZenFone AR (noVNC) | 無し | Snapdragon 821 | 8GB | 4 | 135 秒 |
Nexus 5X | 無し | Snapdragon 808 | 2GB | 6 | 135 秒 |
・Time はビルドにかかった時間で単位は秒。Time の値が小さい方が高速。
●画面など
デスクトップウィンドウのような細かい文字だと Pixel 3 の解像度 (2180x1080) ではかなり厳しいことがわかりました。携帯できる大画面モニタとして使えると便利かと思いましたが、全体的にぼやけており逆に画面が狭くなったように感じます。
ZenFone AR は解像度 (2560x1440) が高い反面、ビルドのような高負荷な状態が続くと処理落ちが発生します。リプロジェクションも追従できなくなっており、酔いやすいので注意です。
どちらもレンズの端に歪みが生じていたり、何らかのタイミングで 2D アプリのウィンドウが表示されたりと専用機と比べるとどうしてもあらが目立つ印象です。今回テストした範囲では UserLAnd/termux で VR を使うメリットはありませんでした。Pixel 3 XL や Galaxy S9、Mirage Solo ではまた違った結果になるかもしれません。
関連ページ
・Android の上の開発環境
・HMD VR / AR Device spec 一覧
関連エントリ
・Oculus Quest も文章書き&開発マシンにする
・Android UserLAnd の更新と VNC 画面設定
・UserLAnd : Android 9.0 で Ctrl + SPACE を使えるようにする
・Android Termux で日本語入力を行う / UserLAnd との併用
・Android 9.0 と Bluetooth Keyboard による日本語入力
・Android/Oculus Go/Daydream の画面をミラーリングするツールを作ってみた
・Oculus Go で一般 Android アプリを起動できるランチャーを作ってみた
・Oculus Go を文章書き&開発マシンにする
・UserLAnd とブラウザ
・Android 上の開発環境と UserLAnd
・OS の中の Linux (WSL/Chrome OS/Android UserLAnd)
・ARM CPU 上の開発環境とコンパイル時間の比較 (2) Pixel 3/UserLAnd
・Oculus Go は VR ができる新しい携帯ゲーム機
2019/06/06
Oculus Quest も文章書き&開発マシンにする
Oculus Go に続いて上位機種 Oculus Quest が登場しました。両手のモーションコントローラ含めてポジショントラッキングに対応しており、スタンドアロンながら 6.6DoF のフルスペック VR になっています。
Oculus Quest にも Oculus TV が入っており、以前作成した TVLauncherGo がそのまま使えるようです。Oculus Go と同じように Oculus TV 上で Android アプリが動きました。
・設定アイコンから Bluetooth Keyboard の接続
・同じく設定から物理キーボードのキーレイアウト変更
・UserLAnd を使って Linux をインストール
・VNC アプリの起動 (制限あり)
などなど一通りうまくいっています。UserLAnd が動けば、開発環境や日本語入力環境の構築ができます。
つまり Oculus Quest と Bluetooth Keyboard を持ち歩けばどこでも大画面で作業に没頭できるようになるわけです。

ちなみに開発環境には Termux も併用しています。Termux 自体は TVLauncherGo がなくても動きます。(併用する理由はこちら)
● Oculus Quest の速度
Oculus Go よりも性能が上がってだいぶ快適になりました。下記の表は Termux 上でのコンパイル速度の比較です。Quest は Go よりも 2.6 倍速くなっています。
・Time の単位は秒。値が小さい方が高速。
当然ながら VR を使わない状態だともっと高速です。同じ SoC を搭載した機種同士で比べると、VR 空間上でのコンパイルは通常の状態より 2.5 倍前後遅くなっています。それだけ VR の描画は負荷が高いわけです。
Quest の結果は VR 無しの ZenFone AR (Snapdragon 821) や ZenFone 3 Max (Snapdragon 430) とほぼ同じくらいになっています。VR 上で素の Snapdragon 821 や Snapdragon 430 が動いていると思えば速度のイメージが掴めるのではないでしょうか。
比較用に Daydream も試しましたが、Snapdragon 845 の Pixel 3 は速いものの画面解像度が低く実用には厳しいものがありました。XL ならちょうど良いのかもしれません。Zenfone AR はビルド中、発熱のためか処理落ちが多く不安定でした。やはり専用機である Oculus Go や Quest は解像度が高く画面端の歪みもなく安定しています。
●持ち歩きやすさ
可搬性に関しては Go の方が上です。性能が上がりサイズと重量が若干増えたのもありますが、バンドがしっかりした作りになったため Go のように折り畳めなくなっています。また場所が変わると毎回ガーディアン設定が出てくるので、使うまでにひと手間かかります。

●ポジショントラッキング
ポジショントラッキングのおかげで VR 内での見え方はかなり自然になりました。スクリーンに近づいたり離れたりできるので、文字が小さくて見えにくい場合も近寄れば読むことができます。ただしガーディアン範囲を抜けると外部カメラ映像に切り替わってしまうので、大きく動く場合はルームスケールの範囲設定が必要。
●環境設定など
Go とはコントローラが違いますが使うボタンは限られています。Oculus TV で前の画面に戻るには (B) ボタンを使います。
Oculus TV で前の画面に戻る操作
・Oculus Go : メニューボタン
・Oculus Quest : 右コントローラの (B) ボタン
(1) TVLauncherGo の apk を install
(2) Oculus TV → TVLauncherGo → 設定アイコン → Bluetooth
・ Bluetooth キーボードを接続
・ 必要に応じてレイアウト選択
・ 設定の言語→キーボードレイアウト
・ (「106/109106/109ハードウェアキーボード配列変更 (+親指Ctrl) [日本語配列]」が使えます。
(3) UserLAnd の apk を install
(3) Oculus TV → TVLauncherGo → UserLAnd
・Linux install (SSH を選択)
下記の記事も参考にしてください。
・Oculus Go を文章書き&開発マシンにする
・Oculus Go で一般 Android アプリを起動できるランチャーを作ってみた
● VNC を使う場合
UserLAnd が bVNC Free 以外の client にも対応したため手順が若干変わりました。Real VNC Viewer を使う場合でも UserLAnd が直接呼び出してしまうため、一旦停止させてから Oculus TV 経由で起動する必要があります。そのかわり複数の VNC client を入れることで起動をキャンセルできます。
以下は「環境設定など」の続きです。
(1) Real VNC Viewer の apk を install
(2) Oculus TV → TVLauncherGo → UserLAnd
・ Linux Distribution 名長押しで VNC に変更
(3) Linux を起動すると画面真っ黒でロード待ちになるので、右コントローラの Oculus Button で戻る
・Real VNC Viewer は大丈夫ですが、bVNC だとここで戻れないので再起動になります。
(4) 右コントローラの (B) ボタンで TVLauncerGo に戻り強制停止する
・VNC Viewer アイコン長押しで「アプリ情報」の画面を開く (設定→アプリ→VNC Viewer でも構わない)
・VNC Viewer アプリを強制停止する (起動した状態を一旦クリアするため)
(5) TVLauncerGo に戻る
(6) あらためて VNC Viewer を起動し、下記の設定で接続する
・ HOST: 127.0.0.1
・ PORT: 5951
(7) VNC 接続時にパスワードを聞かれるので、UserLAnd の Linux アカウント作成時に設定した VNC Password を入れる
最初は画面が Native 解像度になっているので ~/.vncrc を書き換えて調節してください。1280x720 推奨。
UserLAnd の日本語環境設定についてはこちらを参考にしてください。
なお Real VNC Viewer は比較的安全に起動できますが、モーションコントローラでのマウス操作には難があります。ウィンドウなどドラッグ移動できないのと、ちょっとしたブレでタスクバーのメニューが開かないなど制限があります。少々手間がかかりますが bVNC を使う方法があります。
● VNC を使う場合 (bVNC)
UserLAnd からの呼び出しをキャンセルするために、Real VNC Viewer と bVNC の両方を install しておく必要があります。必ず Bluetooth Keyboard を接続しておいてください。
(1) Real VNC Viewer の apk を install
(2) bVNC の apk を install
(3) Oculus TV → TVLauncherGo → UserLAnd
・ Linux Distribution 名長押しで VNC に変更
(4) Linux を起動すると VNC client 選択画面になるので、Bluetooth Keyboard の [ESC] を押してキャンセル
(5) 右コントローラの (B) ボタンで TVLauncerGo に戻る
(6) TVLauncerGo から bVNC を起動
(7) 下記の設定で接続する。右上の [CONNECT] を押す
・ HOST: 127.0.0.1
・ PORT: 5951
・ Linux アカウント作成時に入力したユーザー名とパスワード
(8) つながったら bVNC の設定メニューから 「Input Mode」 → 「Direct, Hold Pan」 を選択する
これでモーションコントローラだけでウィンドウ操作もできるようになります。タスクバーのメニューも簡単に開きます。
Oculus TV を経由せずに UserLAnd が直接 bVNC を起動してしまうと操作できなくなるので注意してください。
関連ページ
・Android の上の開発環境
・HMD VR / AR Device spec 一覧
関連エントリ
・Android UserLAnd の更新と VNC 画面設定
・UserLAnd : Android 9.0 で Ctrl + SPACE を使えるようにする
・Android Termux で日本語入力を行う / UserLAnd との併用
・Android 9.0 と Bluetooth Keyboard による日本語入力
・Android/Oculus Go/Daydream の画面をミラーリングするツールを作ってみた
・Oculus Go で一般 Android アプリを起動できるランチャーを作ってみた
・Oculus Go を文章書き&開発マシンにする
・UserLAnd とブラウザ
・Android 上の開発環境と UserLAnd
・OS の中の Linux (WSL/Chrome OS/Android UserLAnd)
・ARM CPU 上の開発環境とコンパイル時間の比較 (2) Pixel 3/UserLAnd
・Oculus Go は VR ができる新しい携帯ゲーム機
Oculus Quest にも Oculus TV が入っており、以前作成した TVLauncherGo がそのまま使えるようです。Oculus Go と同じように Oculus TV 上で Android アプリが動きました。
・設定アイコンから Bluetooth Keyboard の接続
・同じく設定から物理キーボードのキーレイアウト変更
・UserLAnd を使って Linux をインストール
・VNC アプリの起動 (制限あり)
などなど一通りうまくいっています。UserLAnd が動けば、開発環境や日本語入力環境の構築ができます。
つまり Oculus Quest と Bluetooth Keyboard を持ち歩けばどこでも大画面で作業に没頭できるようになるわけです。

ちなみに開発環境には Termux も併用しています。Termux 自体は TVLauncherGo がなくても動きます。(併用する理由はこちら)
● Oculus Quest の速度
Oculus Go よりも性能が上がってだいぶ快適になりました。下記の表は Termux 上でのコンパイル速度の比較です。Quest は Go よりも 2.6 倍速くなっています。
VR あり | VR利用 | SoC | RAM | Thread | Time |
---|---|---|---|---|---|
Daydream + Pixel 3 | あり | Snapdragon 845 | 4GB | 8 | 72 |
Oculus Quest | あり | Snapdragon 835 | 4GB | 8 | 105 |
Oculus Go | あり | Snapdragon 821 | 3GB | 4 | 275 |
Daydream + ZenFone AR | あり | Snapdragon 821 | 8GB | 4 | 349 |
VR なし | VR利用 | SoC | RAM | Thread | Time |
Pixel 3 | 無し | Snapdragon 845 | 4GB | 8 | 32 |
Essential Phone | 無し | Snapdragon 835 | 4GB | 8 | 38 |
ZenFone 3 Max ZC553KL | 無し | Snapdragon 430 | 3GB | 8 | 100 |
ZenFone AR ZS571KL | 無し | Snapdragon 821 | 8GB | 4 | 111 |
Nexus 5X | 無し | Snapdragon 808 | 2GB | 6 | 135 |
・Time の単位は秒。値が小さい方が高速。
当然ながら VR を使わない状態だともっと高速です。同じ SoC を搭載した機種同士で比べると、VR 空間上でのコンパイルは通常の状態より 2.5 倍前後遅くなっています。それだけ VR の描画は負荷が高いわけです。
Quest の結果は VR 無しの ZenFone AR (Snapdragon 821) や ZenFone 3 Max (Snapdragon 430) とほぼ同じくらいになっています。VR 上で素の Snapdragon 821 や Snapdragon 430 が動いていると思えば速度のイメージが掴めるのではないでしょうか。
比較用に Daydream も試しましたが、Snapdragon 845 の Pixel 3 は速いものの画面解像度が低く実用には厳しいものがありました。XL ならちょうど良いのかもしれません。Zenfone AR はビルド中、発熱のためか処理落ちが多く不安定でした。やはり専用機である Oculus Go や Quest は解像度が高く画面端の歪みもなく安定しています。
●持ち歩きやすさ
可搬性に関しては Go の方が上です。性能が上がりサイズと重量が若干増えたのもありますが、バンドがしっかりした作りになったため Go のように折り畳めなくなっています。また場所が変わると毎回ガーディアン設定が出てくるので、使うまでにひと手間かかります。

●ポジショントラッキング
ポジショントラッキングのおかげで VR 内での見え方はかなり自然になりました。スクリーンに近づいたり離れたりできるので、文字が小さくて見えにくい場合も近寄れば読むことができます。ただしガーディアン範囲を抜けると外部カメラ映像に切り替わってしまうので、大きく動く場合はルームスケールの範囲設定が必要。
●環境設定など
Go とはコントローラが違いますが使うボタンは限られています。Oculus TV で前の画面に戻るには (B) ボタンを使います。
Oculus TV で前の画面に戻る操作
・Oculus Go : メニューボタン
・Oculus Quest : 右コントローラの (B) ボタン
(1) TVLauncherGo の apk を install
(2) Oculus TV → TVLauncherGo → 設定アイコン → Bluetooth
・ Bluetooth キーボードを接続
・ 必要に応じてレイアウト選択
・ 設定の言語→キーボードレイアウト
・ (「106/109106/109ハードウェアキーボード配列変更 (+親指Ctrl) [日本語配列]」が使えます。
(3) UserLAnd の apk を install
(3) Oculus TV → TVLauncherGo → UserLAnd
・Linux install (SSH を選択)
下記の記事も参考にしてください。
・Oculus Go を文章書き&開発マシンにする
・Oculus Go で一般 Android アプリを起動できるランチャーを作ってみた
● VNC を使う場合
UserLAnd が bVNC Free 以外の client にも対応したため手順が若干変わりました。Real VNC Viewer を使う場合でも UserLAnd が直接呼び出してしまうため、一旦停止させてから Oculus TV 経由で起動する必要があります。そのかわり複数の VNC client を入れることで起動をキャンセルできます。
以下は「環境設定など」の続きです。
(1) Real VNC Viewer の apk を install
(2) Oculus TV → TVLauncherGo → UserLAnd
・ Linux Distribution 名長押しで VNC に変更
(3) Linux を起動すると画面真っ黒でロード待ちになるので、右コントローラの Oculus Button で戻る
・Real VNC Viewer は大丈夫ですが、bVNC だとここで戻れないので再起動になります。
(4) 右コントローラの (B) ボタンで TVLauncerGo に戻り強制停止する
・VNC Viewer アイコン長押しで「アプリ情報」の画面を開く (設定→アプリ→VNC Viewer でも構わない)
・VNC Viewer アプリを強制停止する (起動した状態を一旦クリアするため)
(5) TVLauncerGo に戻る
(6) あらためて VNC Viewer を起動し、下記の設定で接続する
・ HOST: 127.0.0.1
・ PORT: 5951
(7) VNC 接続時にパスワードを聞かれるので、UserLAnd の Linux アカウント作成時に設定した VNC Password を入れる
最初は画面が Native 解像度になっているので ~/.vncrc を書き換えて調節してください。1280x720 推奨。
UserLAnd の日本語環境設定についてはこちらを参考にしてください。
なお Real VNC Viewer は比較的安全に起動できますが、モーションコントローラでのマウス操作には難があります。ウィンドウなどドラッグ移動できないのと、ちょっとしたブレでタスクバーのメニューが開かないなど制限があります。少々手間がかかりますが bVNC を使う方法があります。
● VNC を使う場合 (bVNC)
UserLAnd からの呼び出しをキャンセルするために、Real VNC Viewer と bVNC の両方を install しておく必要があります。必ず Bluetooth Keyboard を接続しておいてください。
(1) Real VNC Viewer の apk を install
(2) bVNC の apk を install
(3) Oculus TV → TVLauncherGo → UserLAnd
・ Linux Distribution 名長押しで VNC に変更
(4) Linux を起動すると VNC client 選択画面になるので、Bluetooth Keyboard の [ESC] を押してキャンセル
(5) 右コントローラの (B) ボタンで TVLauncerGo に戻る
(6) TVLauncerGo から bVNC を起動
(7) 下記の設定で接続する。右上の [CONNECT] を押す
・ HOST: 127.0.0.1
・ PORT: 5951
・ Linux アカウント作成時に入力したユーザー名とパスワード
(8) つながったら bVNC の設定メニューから 「Input Mode」 → 「Direct, Hold Pan」 を選択する
これでモーションコントローラだけでウィンドウ操作もできるようになります。タスクバーのメニューも簡単に開きます。
Oculus TV を経由せずに UserLAnd が直接 bVNC を起動してしまうと操作できなくなるので注意してください。
関連ページ
・Android の上の開発環境
・HMD VR / AR Device spec 一覧
関連エントリ
・Android UserLAnd の更新と VNC 画面設定
・UserLAnd : Android 9.0 で Ctrl + SPACE を使えるようにする
・Android Termux で日本語入力を行う / UserLAnd との併用
・Android 9.0 と Bluetooth Keyboard による日本語入力
・Android/Oculus Go/Daydream の画面をミラーリングするツールを作ってみた
・Oculus Go で一般 Android アプリを起動できるランチャーを作ってみた
・Oculus Go を文章書き&開発マシンにする
・UserLAnd とブラウザ
・Android 上の開発環境と UserLAnd
・OS の中の Linux (WSL/Chrome OS/Android UserLAnd)
・ARM CPU 上の開発環境とコンパイル時間の比較 (2) Pixel 3/UserLAnd
・Oculus Go は VR ができる新しい携帯ゲーム機
| 次のページ(日付が古い方向)>>