kou1nikoのブロマガ

お金がない人のためのバーチャルキャスト環境

2018/07/01 22:11 投稿

コメント:2

  • タグ:
  • バーチャルキャスト
  • VirtualCast
  • PSMoveService

前書

2018/04/13のバーチャルキャスト発表、2018/04/27、2018/04/28の超会議でのバーチャルYoutu’BAR'でのデモ。

すごくバーチャルキャストは面白いもので、大変楽しそうに見えます。
やってみたいですね!

そこで思ったことがありました。

  • バーチャルキャストは大変楽しそうに見える
  • 基本、紹介する人はフルスペックのVR環境を進める
    • 実際それは正しい!
    • Vive買うべき
  • ただし、いきなり約20万円コースなのは腰が引けるのはわかる
  • ちゃんとフルの体験をしないと謝った印象を得てしまう危険性は指摘されている
  • フルの体験でないことを意識してほしい
  • Viveを買うのが一番(2回目)

Viveを買うのが一番です(3回目)

しかし、予算の制約は新規参加者へのハードルではあります。そこに少しなんとか出来るのかもと調べ始めた話を以下に書きます。

主な内容は以下のとおりです。

  1. 作ろうと思った経緯
  2. 前提条件
  3. 機材と予算
  4. セットアップ
  5. 使い方

作ろうと思った経緯

バーチャルキャストとVRChatを比較してみると以下のような感じに見えます

要素

VRChat

バーチャルキャスト

ワールド

広い所多数

部屋様の空間
ユーザ登録出来るのは360度jpeg画像

モデルと参加者

制限しない限り人は増える
ハイポリのモデルも多い?

最大6名(2018年06月現在)
プリセットのモデルは比較的低負荷

その他

制限は少なく

多量のコメントが降った場合は高付加?
ネットワークの負荷注意かも

恐らく、バーチャルキャストは3D負荷は高くなくて、ネットワーク性能を要求するアプリなのでは?と思ったのが始まりです。

  • VRreadyでなくても出来そうに見える
  • ボトルネックのその1であるPCの値段は抑えられるのかも知れない
  • だとすれば、何処まで安価に出来るか調べてみても良いはず!

上記想定があってるとしてそれを元に構成を考えて見ましょう。

2.前提条件

前提条件として以下を考えています。 比較的、すでに持っていることが多いものを変わりに使えれば、そのぶんお金を抑えられるかもしれません。

  • Corei系のPCのデスクトップを持っている
    • 絵を描くとか、MMOなどで一応PCは持っているけど、3D性能は高くないと言う人は多いと思う為
  • 5インチ以上のスマートフォンを持っている
    • スマートフォンは持っていない人は少ないでしょう。今回、これをHMDとして使います
  • ブロードバンド環境
    • モバイルの環境は厳しいと思います。せめて有線でつながっているネットワーク環境が必要と思います。
  • 高速WiFi
    • 優先でも良いですが、WiFiのほうが楽です。

3.機材と予算

いくらか試行錯誤した感じでは以下が必要なはずです。自分の入手方法は記載しますが、もっと良い入手方法があればそれを使ってください。

必要なハードウェア

名称

個数

金額

備考

デスクトップPC

1

これは持っていることを前提とします。

5インチ級
スマートフォン

1

これも持っていることを前提とします。

GeForce GT710

1

3980円

ケーズデンキでこの値段でした。

PSEye

2個

約4000円

Amazonの中古で2000円×2個でした。

PlayStation Move

2個

約8000円

中古で約4000円×2個です。

ピンポン球

1個

100円位

後ほど頭の位置を決めるのに使います。

LEDライト

1個

300円位

ピンポン球と組み合わせて頭の検知に使います。

USB Bluetooth
ドングル

1個

1500円位

PlayStation Moveを使用するのに使います。
恐らく今の市販のものは大丈夫と思います。

必要なソフトウェア

名称

金額

備考

RriftCat

€12.50 (約1700円)

スマートフォンをPC用のHMDにするためのソフトです。
>連続で10分以内だったら0円なのでやってみて良さそうだったらお金を払ってください

PSMoveSteamVRBridge

-

HMDとコントローラの位置を特定するためのアプリになります。
本家PSmoveServiceにStaemVR接続用のパッチがあたった物です。コチラだけをダウンロードしてインストールすれば良いです。

FreePIE

ReftCatでの位置の移動はFreeTrackという形式で連携できますが、PSMoveServiceが出す移動情報をReftCatに渡すために使用します。

Steam

SteamVRをインストールするために必要です

SteamVR

VR系のハードウェアとソフトウェアの仲立をします。

バーチャルキャスト

最終目標です。これをやるために一連のものを揃えるのですw。

合計18102円!(約)

絞るだけ絞ってみた結果こんな感じになりました。
如何でしょうか?手持ちのPCが使えること、高性能なスマートフォンは皆さん持っている可能性が高いのでコストをそちらに負担してもらう算段になります。

4.セットアップ

KAWAさんが先に既にまとめられているものがあります。
基本はここでやられている内容をそのままやっております。


正しい内容はこちらにあります。参考にさせていただいています。

ハードウェアの入手

必要なハードウェアを手に入れましょう。

  1. グラフィックボード

    今回は安価に出来ることがメインの目的なので、GT710を購入しました。もっと良いものが手に入れられればそれが良いです。予算と相談してください。

  2. PSEye

    最低2個入手してください。当然新品では手に入りません。Amazonでは中古の入手が可能なようです。

  3. PlayStation Moveコントローラ

    CECH-ZCM1J が必要です。PS3用のPlayStation Moveコントローラです。PS4用と思われる 、CECH-ZCM2J は使用できません。「2J」は駄目です。充電端子が mini-Bの物になります。PS4用の物が最新となっておりそれはmicro-Bとなっています。そちらは使えません。これをいかに安く手に入れるかが勝負です。

  4. ピンポン玉とLEDライト

ハードウェアの設置と準備

基本は上記のKAWAさんの動画と、公式Wikiが正しいです。

https://github.com/cboulay/PSMoveService/wiki

  1. グラフィックボード

    とりあえず普通につけてくだい

  2. PSEye

    後述のドライバをインストールするまでは接続を待ってくださいKAWAさんの動画内でも説明ありますが、注意点。

    • 全面ポートが実は内臓のUSBハブを介して接続する方式になっていて、上手く動かないことがありました。通信速度を稼げる必要があるためです。

    設置として、広い範囲を2つのカメラで射界に入っている必要があるので、できるだけ天井に近い箇所で、2個を話して設置する必要があります。自分はこんな感じでカーテンレールの両端に結束バンドで固定しています。

  3. PlayStation Moveコントローラ

    セットアップ時にできるだけ満充電でないと確かに認識に失敗しがちです。PCからデバイスとして認識された状態でないと、充電が始まりませんでした。充電中はつけっぱなしのPCが必要かもしれません。

  4. ピンポン玉とLEDライト

    LEDライトとピンポン玉をくっつけます。当初は穴を開けて、中から照らさないとダメかと思いましたが、そのまま貼り付けたほうが均一に光るようです。KAWAさんも書かれていましたが、エネループなどで動くものがよく、自分が買ったのは40ルーメンを超えるものになりました。明るいほどよいです。ついてる白いのはフリスクのフタ部分です。平らな所に貼り付けるためにこうしています。

    最終的にはこのような取り付けになります。



ソフトウェアのセットアップ

  1. グラフィックボード

    とりあえず普通にドライバを入れてください。

  2. PSEye

    に使用可能なドライバが複数書いてありますが、現在は「IPISoft PS3EYEDriver」で問題ないようです。ドライバを1つ入れて複数のPSEyeが使えるようになるドライバは限られているとのことです。PS3EYEDriver をインストールした後にPSEyeをUSBに接続してください。このあとの、PSMoveSteamVRBridgeのファイルを展開したら、test_camera.exe を使って必ず動作確認してください。60fps出てないときは上記の通り、USBに指す箇所が悪い可能性が高いです。

  3. PSMoveSteamVRBridge

    基本KAWAさんの動画を元に実施しています。

    1. GitHubからのダウンロード

      https://github.com/HipsterSloth/PSMoveSteamVRBridge からダウンロードします。GitHub系から何かをダウンロードすることも今後出てくると思いますが、上の「Release」と書いてあるところをたどるとダウンロードするところに移ることができます。2018/06/29現在の最新は、「PSMoveSteamVRBridge_1.4.2.zip」になります。

    2. Zipファイルの展開

      基本はZipを展開して、任意のフォルダに配置してください。セットアップ時に新規にファイルを作成する場合があるので、更新可能なフォルダに展開する必要があります。私は、一時期「C:\Program Files(x86)」以下に展開していましたが上手く行かなくなり、マイドキュメント以下に展開しました。

    3. PSMovieService.exe の起動

      こんな感じの画面が出てきます。これは背後で動くタイプのアプリなので特に画面は存在しません。背後で通信を行うので、UAIのセキュリティダイアログが出ます。

    4. 各種設定

      上記動画を元に実施していきます。

      1. コントローラの設定

        05:56 周辺を元にやってみてください。

      2. 終了して、仮想HMDの設定
      3. 色のキャリブレーション

        15:47 周辺後半で「Video Filter Mode」を「Masked」にして確認しますが、PSMoveServiceでコントローラがマーキングされていると、バツ印がつく時があるので、それで色が欠ける場合もあります。自分はそれで上手く色が認識できてないと思いこんでハマりました。部屋の反射などでノイズ源は多数ある場合があります。何度かやって上手く認識できない場合、「部屋の明かりを消してやってみる」 は大変有効な手段です。ただし、部屋の明かりを消した状態で補正されるので、実際にやるときも部屋の灯を消すことになります。

      4. キャリブレーションマットを使った、位置検知設定
        • キャリブレーションマットを元にコントローラの位置を指定することで、2つのカメラが空間に対してどの様な位置にあるか調べる処理になります。
        • 下の図の#0と#1の所にカメラがあると認識出来るようになります。
        • 「Looks Goood!」を押すと始まりますが、その前に「Next Tracker」を何回か押してみて光っている所にバツ印がついて認識されているか確認して下さい。
        • 上記の色のキャリブレーションに失敗していて、2個のカメラの内、1つでは認識されてないときがあります。その時は色のキャリブレーションをやり直してください。
        • 5箇所の位置を測定しますが、「コントローラを横にして待受」⇒「縦にして静止したら測定開始」⇒「終了したらまたコントローラを横にして待受」の繰り返しで5回実施します。
        • 終了後「Test Tracking Pose」で位置がちゃんと認識できているか確認します。
        • もし、荒ぶっている場合は色のキャリブレーションが上手く言ってない場合が多いでした。「Tracker Video」を見てみると、カメラでの認識内容がわかるのでどちらのカメラで認識出てきていないか調べてみましょう。
      5. 仮想HMDを設定してピンポン玉の光球を割り当てる

        本来はPSVRをHMDとして想定しているのですが、今回はスマートフォンをHMDとして使用します。なので、HMDにくっつけたピンポン玉をHMDとして認識させる必要があります。作業内容は PSMoveSeviceのVirtual-HMDs に一通りかかれてはいます。

        1. 動かしている、PSMovieService 関連のものを全て終了します。
        2. 上記Wikiの「Initial Setup」に準じて実施します。

          C:\users\自分のユーザ名\AppData\Roaming\PSMoveService\HMDManagerConfig.jsonを作成、または編集します。以下のような内容になるはずです。{ "version": "1", "virtual_hmd_count": "1"}

          1. 一度、PSMoveServiceを起動します。 C:\users\自分のユーザ\AppData\Roaming\PSMoveService\VirtualHMD__0.json が作成されます。
          2. PSMoveSeviceを終了します。
          3. 上記のVirtualHMD__0.json をエディタで開いて、bulb_radius の値を 2 にしてください。ピンポン玉はPSMoveの白い玉より小さく、2cm位だからです。
          4. PSMoveServiceを起動します。
          5. PSMoveConfigTool.exeを起動して、HMD Settings に移動します。
          6. Tracker Settings" から "Calibrate HMD Tracking Colors" に移動して、コントローラと同様に色のキャリブレーションを実施してください。白いピンポン玉をつけた場合は、昼白色なので、色は「yellow」か「orange」にして下さい。
          7. ここまですると、「Tracker Setting」にHMDの「Test Tracking Pose」が使えるのでHMDの位置が検知できているか調べましょう。
      6. PSMoveSteamVRBridgeのライブラリをSteamVRに登録します。
        1. PSMoveServiceを展開したディレクトリにある、「SteamVR_InitialSetupWin64.bat」を起動して下さい。完了後に同じフォルダに「SteamVR_SetDriverVarsWin64.bat」というファイルが増えていることを確認して下さい。
        2. SteamVR_ReinstallDriverWin64.bat を実行して下さい。「SteamVR_SetDriverVarsWin64.bat」が無いと正常終了しません。今後、PSMoveServiceの設定を変更したら都度、SteamVR_ReinstallDriverWin64.batを実行することになります。
      7. FreePIEをインストールして下さい。
      8. PSMoveFreepieBridge をインストールします
        1. https://bitbucket.org/hawkinse/psmovefreepiebridge/downloads/ から最新のファイルをダウンロードします。
        2. ダウンロードしたファイルを、ドキュメントフォルダで展開します。
      9. ReftCat+VRidge

        https://riftcat.com/vridge からダウンロードして下さい。「Tranking source」を「Phone orientation and FreeTrack position」にすることを除けば基本は特にいじらずインストールしてください。Android上のGoogle Playから「VRidge」をインストールして下さい。

      10. バーチャルキャストのインストール

        https://virtualcast.jp/ からインストールして下さい

5.使い方

ここまで来たら使い始めましょう。

  1. PSMoveSevrviceを起動する

    セットアップ時と同様にPSMoveService.exe を起動します。

  2. PSMoveFreepieBridge を起動する
    1. PSMoveFreepieBridge.exe を起動します。
    2. こんな画面が出ますので、HMDの「1」を指定したあと、0番の光源をHMDに設定しているはずなので0とします。

  3. FreePIEを起動する
    1. 起動後に、Openから、PSMoveFreepieBridge の展開ディレクトリにある、「freepie example script.py」を選択します。

    2. ScriptからRun scriptを選んで起動します

  4. RiftCatを起動する
  5. スマートフォンでVRidgeを起動する
    1. 「Play SteamVR」を選択してStemaVRを起動して下さい。しばらく待っているとSteamVRの画面が下に出てきます。

  6. StemaVRが自動で起動する
    1. 以下の画面のようにヘッドセット、コントローラ、カメラが認識されてる状態になっていれば問題ありません。

    2. 大体、このあと、自動でSteamVR Homeが起動を始めますが、現在の構成にはいささか重いです。上にSteamVRって書いてあるところをクリックするとメニューが出てきます。「設定」に移行しましょう。

    3. 一般の「SteamVRホームベータ」のチェックボックスを外します。
      1. ヘッドセットに以下のような画像が出ているはずです。これは、ヘッドセットとコントローラの位置関係を設定する為の設定になります。これがずれると、コントローラを持った手を目一杯伸ばしても、アバターの手が伸びなくなります。手順は以下になります。これは2個のコントローラ双方でやる必要があります。

        1. 正面に相当するカメラの方を向きます。
        2. コントローラの丸いところを、HMDの自分の目と目の中間あたりに持っていきます。
        3. トリガーを自分から見て前方に向けます。
        4. SelectとStartを同時押しします。
  7. バーチャルキャストを起動する
    1. 最初のキャリブレーション時にコントローラの左右が出てくると思うので注意して下さい。
    2. キーコンフィグは以下のようです。
      1. トリガー ⇒ 同じくトリガー
      2. △ ⇒ バーチャルキャストのメニュー表示
      3. START ⇒ 掴み カメラの視点切り替えや、○✕アイテムの音出し等
      4. Moveボタン押し ⇒ タッチパッド操作開始
        1. 押しっぱなしでコントローラを前に ⇒ タッチパット上
        2. 押しっぱなしでコントローラを手前に ⇒ タッチパット下
        3. 押しっぱなしでコントローラを左に ⇒ タッチパット左
        4. 押しっぱなしでコントローラを右に ⇒ タッチパット右
    3. バーチャルキャストを楽しみましょう!

6.最後に

これは「お金がない人の為のバーチャルキャスト環境」の作り方です。
解像度が足りなかったり、トラッキングが足りなかったりします。
微妙に不安定でもありますし、PS3用のPalyStation Moveを手に入れる必要があって大変です。
あくまでお金を出す前の実験ができればと書いてみました。

もう一度書きます。
HTC Viveを買うのが一番正しいのです!
最後にこれではフルトラッキングでないためにできない土下座でみゅみゅ=サンとHTC Japanの「にしかわいい」こと西川さんに土下座で締めたいと思います。

_○/|_ ゴメンナサイ


コメント

KAWA
No.1 (2018/07/03 23:25)
記事お疲れ様です。
自分もライト明るいの探してます。
差し支えなければ使用したライトの詳細を教えて頂けると助かります。
kou1niko (著者)
No.2 (2018/07/04 00:55)
ありがとうございます!動画のおせわになりました!
自分は今これになっています。
ミニLED アルミフラッシュライト Y06A09SV
http://www.yazawa-online.com/page/34335/

家電量販店や、ドン・キホーテでも取扱があるようでした。 81ルーメンあるんだなぁ…。これ。
コメントを書き込むにはログインしてください。

いまブロマガで人気の記事