VR

【複合現実プレイ】Beat Saberで現実のカメラ画像とゲーム画面の合成してみた

こんにちは、としきです。

VRゲームのビートセイバーのプレイ動画と言えば、アバターがセイバーをもってキューブを切るのが一般的です。

ただ、紹介動画などで、時々実際のプレイヤーが直接セイバーをもってプレイしているものを見かけると思います。

自分が直接ゲーム内でセイバーを振ってキューブを切る様子を見てみるのは面白そうだと思い今回やってみました。

動画の撮影方法について、ここでは紹介をしていきたいと思います。

今回説明する方法は、下の動画のようにゲーム内に人が入り込んだような撮影を行うものになります。

 

プレイ環境

この撮影を実現方法は複数存在します。

今回は、下記の条件で行いました。

ゴーグル:VALVE INDEX
プラットフォーム:Steam
合成ソフト:LIV(Steamの無料ソフト)
合成方法:クロマキー合成(グリーンバック撮影)
カメラ:logicool(ロジクール)C922n PRO HD STREAM WEBCAM

MR(Mixed Reality)、日本語にすると複合現実と言われる技術で、現実の座標とデジタル空間の座標を合わせる技術です。

グリーンの背景の前でカメラ撮影して、グリーンの部分を透過してゲーム画面と合成する方法を取っています。クロマキー合成と言われる技術です。

こういった、グリーンのシートを購入して、この前でプレイしています。

この、グリーンバックを必要としない撮影方法もありますので、実施出来たら紹介したいと思います。

ちなみに、最初に撮影した時には、セイバーと手の位置が大きくずれてしまいました。
後で確認したところ、キャリブレーションが問題だったことが分かりましたので、その点を修正した方法についても解説します。

必要なもの

◆VRヘッドセット一式
・ゴーグル
・コントローラー
・ベースステーション(空間座標把握)
・グローブ(コントローラー固定用:お好みで)

◆グリーンバック環境
・グリーンシート
・洗濯ばさみ(固定用)
・物干しざお(シートと、ベースステーションの固定用)
⇒カーテンレールなどでも可能です

◆外部カメラ
・カメラ(可能ならFPS60あるものが望ましい)
・USB延長コード(画角を確保するためにあったほうがよい)

◆VRヘッドセット一式

これがないと始まらないですね。
ビートセイバーができる準備をします。

◆グリーンバック


グリーンシートで、カメラに映る範囲を緑一色にします。
ビートセイバーで使う場合、3ⅿ×2m程度はある大きめのシートを購入することをおすすめします。(私が購入したのはこちら
斜め後方から、キューブが飛んでくる始点まで映るように(アバターでのプレイ動画のような画面)を作るには、かなりグリーンシートの範囲が必要です。

設定で、グリーンバックの範囲外をクロマキー合成の対象から除外する項目がありますが、それでも一定の広さは必要になります。

プレイヤーが立っている位置を包み込むようにシートを設置するのが効率よさそうですが、ビートセイバーを腕を振り回すのでそれも限界があるんですよね。

これを考えると、正直、グリーンバックを使わない複合現実の撮影をしたくなります。

◆外部カメラ

 

外部カメラは、PCに繋いでリアルタイムで同期します。
この合成作業をしてくれるのが、LIVというSteamのソフトです。

ビートセイバーは腕を高速で振り回します。
そのため、フレームレートは60fpsあったほうが良いかと思い、logicool(ロジクール)C922n PRO HD STREAM WEBCAMを購入しました。

でも、画面サイズが1280×720でしか60fpsでの撮影を出来ず、もう少し高画質の撮影をしようとすると30fpsになるようなので注意が必要です。

これでも、そこそこの値段のカメラを買ったのですが(;^_^A💦
どこまで求めるかは、予算と相談して検討してみて下さい。

カメラを好きな位置に設置しようと思うと、USBの延長コードが必要になる人が多いと思います。
2度手間になるので、設置位置をイメージして必要なら購入しましょう。

最低限必要なもの(コスト重視)
・グリーンシート1枚(2,000~3,000円程度)
・外部カメラ(1,500~3、000円程度)

ビートセイバーがプレイできる環境は既にあると思いますので、上記があれば取り合えず試してみることは出来ると思います。

ちなみに、グリーンバック、ブルーバックとよく言われますが必ずしもグリーンやブルーである必要もありません。
そのため、とりあえず家にある色が統一された壁やシートの色を透過色に設定して、クロマキー合成ができそうかを確認するのもありだと思います。
グリーンシートを買ったけど、結局上手くできなかったではもったいないと思いますので。

LIVでの合成

合成の具体的は方法は動画の方が分かりやすいかと思い、撮影しました。

10分弱の動画になります。

実際にやってみようかなと思った方は、参考にしてみて下さい。

キャリブレーション(位置合わせ)設定のポイント

キャリブレーションで、設置したカメラの位置(現実空間)とゲーム内のカメラの位置(VR世界)の座標を合わせます。

また、手に持っているコントローラーと、ゲーム内で手に持っているセイバーの柄の座標も合わせることで、しっかり手にセイバーを持っているような撮影が可能になります。

 

左の画像が、キャリブレーションに失敗した時の例です。
手とセイバーが全く関係ない場所にあります。

このまま、プレイした動画がこちら

これを撮影して、なんかおかしくね?

となり、色々確認した結果、キャリブレーションの時に上手く座標を合わせることができていなかったことが分かりました。

キャリブレーションの主な手順は次の3つです。

②と③は、1.5m以上離れるように、画面上の中心下部分に文字で指示がされます。

 

うまくキャリブレーションができていると、上の画像のように、手に持ったコントローラーとほぼ重なるように、画面上にデジタルでコントローラーのモデルが表示されます。

では、失敗した時に何をしたのかというと、

①で、カメラレンズに接近しきれていなかった。

②で、赤い十字マークと重なっていなかった。

③で、コントローラーがピンボケしていた

これらの結果、

コントローラーの座標が正しく読み込まれずに、ずれが生じてしまっていました。
画面は角度的に見ずらいですが、大分手前にコントローラーのモデルが表示されています。

キャリブレーションで①、②、③の作業をした後に、上のようにデジタルのコントローラーと実際に手に持ったコントローラーを重ね合わせた画像がVRゴーグルにも表示されますので、ここでずれていたらやり直しましょう。

ちょっとのずれであれば、この後に微調整できる工程があります。
ただ、大きくずれていると、どうにもなりませんでした。

特にやってみてわかったのは、②と③の工程は、1.5m以上は離れる必要はありますが、別に壁際まで離れる必要はないようだと言うことです。

近い方がピントが合いやすいので、最低限離れた位置で、十字の中心にコントローラーを合わせることを意識してグリップを握ったほうが座量が合いやすいというのがやってみた印象でした。(実際にプレイする場所でキャリブレーションするくらいで良いかもしれません)

 

 

試してみようと思った方の参考になれば幸いです。

 

それでは(^^)/