2022-01-06 2022-01-06

ステレオカメラに設定したPicam360の3DVRライブ映像をOculus Quest2で視聴してみます。この記事ではその手順をご紹介します。

stereo 3d live streaming with oculus

本稿の英語版→English version is available here.

こんちには、Picam360開発コミュニティのGAKUと申します。

ステレオカメラに設定したPicam360の3DVRライブ映像をOculus Quest2で視聴してみます。この記事ではその手順をご紹介します。

タイトルの8Kというのは4KのPicam360カメラ2台の合計した解像度から来ています。それはちょっとずるい書き方ではあるのですが、一般的に販売されているVRヘッドセットの解像度は両眼の解像度を合わせた数値で表記されていることが多いので、その表記に合わせてみました。


セットアップの流れ

1: 2台のPicam360カメラとJetson Nanoをステレオカメラとしてセットアップ

2: Oculus用PViewerアプリのビルドとインストール

3: ライブストリーミング

No.1の手順は以前の記事でご紹介していますので、今回の記事の内容はNo.2のOculus用PViewerアプリのビルドとインストールの手順がメインです。

今回使用した物

  • カメラ: PICAM360-4KHDR x 2台
  • サーバーデバイス: Jetson Nano
  • ビューワーデバイス:  Oculus Quest2
  • アプリをビルドするPC:Mac or Windows or Linux

今回の記事ではビルドにはMacを使用して説明しますが、WindowsやLinuxでもほぼ同じです。


2台のPicam360カメラとJetson Nanoをステレオカメラとしてセットアップ

ステレオカメラの設定手順は以前紹介した下記の記事を参照してセットアップしてください。

Jetson Nanoでステレオ魚眼カメラの映像をライブストリーミングしてみた

Oculus用PViewerアプリのビルドとインストール

Oculus用PViewerはunityを使っているので、作業はUnityのプロジェクトをセットアップしてAndroid向けにビルドするという流れになります。

unityのウェブサイトにアクセスしてunity hubをインストールします。あなたが使用するプラットフォームにあったものをインストールしてください。

https://unity.com/download

unity website

インストールが完了したらUnity Hubを起動します。

画面左のリストからInstallsを選択し、ADDを押します。

Unity Hub Screen

LTS(Long Time Support)を選択します。基本的には最新のLTSでよいですが、バージョンが違うとビルドが失敗することもあるので特に理由がなければ今回使用するUnity 2020.3.25f1(LTS)を選択してください。

Add Unity Version

Android Build Supportにチェックを入れます。

インストールが完了するまで待ちます。

メニューのProjectsを選択してNEWを押します。

Project NameとLocation(プロジェクト保存先)をお好みで設定して次に進みます。

プロジェクトの新規作成が完了したら、Unityのエディター画面が自動的に開きます。

[ Oculus Integrationのインポート ]

メニューからApp Storeを開きます。

ブラウザでウェブサイトが開かれますので検索ボックスにOculusと入力してOculus Integrationを探します。

Oculus Integrationを選択してAdd to My Assetsを押します。

ログインが求められます。アカウントをお持ちでなければここで作成して、ログインします。

ボタンがOpen in Unityに変わります。ボタンを押してエディタ画面に戻ります。

メニューからPackage Managerを開きます。

My Assetsを選択してログインします。

先程追加したOculus Integrationが表示されるので、Importを押します。

Importする項目が表示されます。変更せずImportを押します。

PluginのUpdate画面が表示される場合があります。Yesを押します。そのあとに、Restartするか聞かれた場合はRestartを押します。

[ PViewer Pacakgeのインポート ]

node-pviewerをダウンロードします。ターミナルを開いて、適当なディレクトリに移動し、下記コマンドを実行してださい。

$ npm install node-pstcore@0.1.14

node-pstcoreに含まれるPViewerOculus.unitypackageをプロジェクトにインポートします。メニューからAssets > Import Package > Custom Packageを押します。

ダウンロードしたnode-pstcoreに含まれているPViewerOculus.unitypackageを選択してインポートします。

ファイルの場所:
/YOUR_PATH/node_modules/node-pstcore/lib/oculus/PViewerOculus.unitypackage

Importする項目が表示されます。変更せずImportを押します。

Assets > WebsocketSampleを選択してOpenを押します。

WebsocketSampleがツリーに表示されます。

Assets > Scriptsを選択してOpenを押します。

PViewerアプリを起動したら自動的にサーバーデバイスに接続してストリーミングが始まるようにしたい場合は、サーバーデバイスのIPアドレスに変更して保存します。

[ ビルド設定の変更 ]

Build Settingsを開きます。

Androidを選択してSwitch Platformを押します。

次に同じBuild Settings画面の左下にあるPlayer Settingsを押します。

Player > Graphics APIsValkanを選択して – ボタンを押して削除します。

XR Plugin Managementを選択してInstall XR Plugin Managementを押します。

Oculusにチェックを入れます。

以上でProjectが完成しました。

[ ビルドしてインストールする ]

PCとOculus Quest2をUSBケーブルで接続します。

Build Settingsを開いてBuild And Runを押します。するとビルドが実行されアプリがインストールされます。


ライブストリーミング

インストールしたPViewerをOculus Quest2で開きます。

Oculus Quest2と同一ネットワークにサーバーデバイスがあり、そのサーバーデバイスのIPアドレスがUnityプロジェクトの設定で指定したIPアドレスと一致している場合は、アプリは起動したときに自動的にサーバーデバイスに接続しストリーミングが開始されます。

接続先を手動で指定する場合は通常の接続手順と同じです。下記の記事を参照して接続してください。

Jetson NanoでPicam360を始めよう – 6: 接続する

 

 

今回の投稿は以上です。それではまた。

 


Picam360リンク: