![見出し画像](https://assets.st-note.com/production/uploads/images/48540818/rectangle_large_type_2_9172bd4876279d57e6cfd89041185814.jpg?width=1200)
ロードバイク体感VRコンテンツ「GIRLS KEIRIN VR EXTREAM」をアップデート!
本記事は2019年7月29日に投稿されたものです
こんにちは。開発の樋口です。
今回は、ロードバイク体感VRコンテンツ”GIRLS KEIRIN VR EXTREAM”をご紹介したいと思います。実はこれ、元々はフォトグラメトリー(3Dフォトスキャン)で選手をスキャン、モーションキャプチャーしたデータをリアルタイムに再生、体験できる視聴コンテンツでした。
まぁ、それでリアルで見ごたえはあったかもですが、せっかくここまで作ったのならやっぱり対戦したいよねぇー! ということでさらにアップデート、 対戦ゲーム化へ向けて、色々作り変えた工程を説明していこうと思います。
先ずは、アップデートしたことを下記に箇条書き。
自転車や選手の動きのアニメーションをIKなど駆使しソフト制御化。
タイヤ、クランク、ペダル、ハンドル、チェーン、プレイヤーは頭、手、足先の位置など、プレイヤーの姿勢を自転車型の什器と完全に連動するように設計。
7車+先頭誘導員(ペースカー)で8台と設定。
選手はメッシュの削減やマテリアル最適化と統合。車体も目立たないパーツの削減やメッシュ、テクスチャの最適化、LOD (※2)等を細かく行いフレームレートを維持。さらに、特にカメラアップに耐えうるよう、至近距離用のLODも用意。
自動運転 物理ベースの移動、AIカーの実装。
複数台対戦なので(HTC VIVE Proなのでヘッド1台に対して1PC構成)PC間は通信を使用しネットワーク対戦とした。
パブリックビューの追加 (観客向けに試合状況を中継するような画面)。
…レース前半の先頭誘導員に付いて隊列を組む所のAIなど接触せず且つ近接して隊列を組まなければいけないので、プレイヤー車をうまく避けつつ隊列を維持するのはスピードコントロールやコース取り等のAIの調整に少々苦労しました。
一方で、開発として一番楽しかったこと。
カッコいいカメラワークなどを色々試しながら、ディティールなど、魅せたい部分に寄ってみせたり… 状況に応じて多くの選手が画面に映るようなカメラワークなど、一見ランダムに見えつつも、実は計算されたカメラワークなのです。
また、カメラの近くを通った時など、振動が伝わっているかのような揺れなども再現しています。
さらに、観客の追加も行っています。描画コストをかけられないので、LODや距離に応じてアニメーション頻度を変えるなど、軽量化の工夫を行いました。
◆自転車型什器の追加
次に自転車什器について。 まず什器追加により実現できたことは…
ペダルを漕ぐとタイヤの周りのLEDが順次点滅し、タイヤが回っているように見える。
- 扇風機の制御により、実際に搭乗しているような没入感を演出。
- 傾斜角度の制御により、臨場感の増加。
- 傾斜角の制御について
傾きの制御はシリアル通信で信号のやり取りをしています。角度はゲーム内の自転車の傾きを反映していますが、問題はレイテンシー(ハードウェアが応答するまでの時差)、開発当初は応答が若干遅く違和感がありました。VR上の映像は約11㎳で更新されているのに対し、ハードウェアの動き出しには多大な時間がかかります(200㎳程度だったかな?)。
VRでは、上記のように、ほんの少しの遅延が体験に大きく影響します。ハードウェア側で遅延をなくすことができれば簡単なのですが、ハードウェアの遅延の改良には、より多くのコストが生じます。さらに、物理的な制限も加わります。ということから、ソフト側にハードウェアが追従するのではなく、ハードウェアの性能を考慮し、ハード側に寄せた挙動になるよう、ソフト側を調整しています。具体的には、ソフト側で急激な傾きを行わないように、スムージングを入れたりして工夫をしています。(現在はボディ剛性、モーター性能もアップしました。次期バージョンはよりクイックに反応出来るようになります。)
ハンドル操作について
ハンドルに関しては、さらにもっと大きな問題が発生しました。
ハンドルを曲げれば進行方向が変わる… といった当たり前のことが、自転車に乗りなれている人ほどハンドルで曲がらないという事実が立ちはだかりました…(だって、自転車イベントなどでやるもんだからもう大変! 汗)
オートバイと同じく、体重移動で曲がるのでハンドルは殆ど曲げないとのことで…
そこで、ハンドルにも重心移動でのコーナリングを考慮すべく試行錯誤を繰り返しました。
そして閃いたのが、ヘッドセットの位置、什器の車体のフレームから左右にどれだけ離れているか、である程度のボディ位置をシミュレートし、コーナリングに反映するようにする事で「ハンドルで曲がらない派」のプロ仕様の方々への対応を実現できました。
ちなみに、ペダル、およびハンドル位置の取得には、専用のセンサーを使わずVIVEトラッカーを使う設計にしています。これは故障などの対処の容易さや汎用性を考えての事。 (ソフト開発時点で、什器のハードウェアが必要ない所も大きな理由…)
以上のような変更をイベント毎に蓄積、フィードバックを加えながらPDCAを繰り返し、仮想空間と現実の境界を限りなくゼロに近づけるアップデートをくりかえしてしているのです。
まとめ
ということで、今回のGIRLS KEIRIN VR EXTREAM VRのソフト・ハード両面の開発とナレッジの蓄積により、様々なエンタメコンテンツへの応用が可能です。
ご興味、ご質問があれば、contact@atali.jpまで、お問い合わせください。お待ちしております 。
※1: Inverse Kinematics
キャラクターなどの3DCGモデルを動かすためのスケルトン構造を制御する方法の1つ。 IKでは、最初にスケルトンの末端にあるジョイントの位置を設定し、 そこに至るジョイントの角度を自動的に計算する。
※2: Level of Detail
主にゲームのリアルタイムレンダリングで使用される。遠景に位置するモデルのポリゴン数やテクスチャ容量を減らすことで、シーンの見た目を大きく損なうことなく、描画を高速化で着る手法。
(CGWORLD Entry.jpより引用)