目次
VR酔いや衝突を未然に防ぐ解決策
課題:VR酔いや衝突事故を未然に防ぐための移動メカニズムの設計が必要
「Rick and Morty」で最も重要な場面といえば、主人公であるマッドサイエンティストのリックがラボとして使っているガレージです。
ガレージの中は整理されているとはいえ、限られた空間内に机、棚、工具、洗濯機、ガスボンベなど多くの小道具が並んでいます。そしてこのVRゲームのプレイヤーは、ガレージ内だけでなく他のいくつかの部屋や空間を動き回る必要があります。
さらに「VR空間内を動き回る」ことは、VRコンテンツ、特にVRゲームを開発したことがある方なら誰もが直面したことがある「VR酔い」と「VR空間外の人やモノにぶつかる」可能性を意味しています。
Owlchemy Labsが最初に直面したデザイン上の課題は、どのようにすればプレイヤーがVR空間内のリックのガレージ内を快適かつ安全に動き回れるようになるかという点でした。VR空間内のガレージは現実空間内においてプレイスペースとなる一部屋のスケールよりも大きくする必要があり、縮小することはできません。また、コントローラーでの移動は VR酔いの原因になるので避けなければなりませんでした。
その代わりに、VR空間内でプレイヤーが行きたい方向を向いてボタンを押すことでその方向に移動するという方法を検討しました。Schwartz 氏と Reimer 氏はこれを「グラニュラー」テレポーテーションと呼んでいます。しかし、この方法には欠点もありました。
- 終始ずっと立っていることになるため、歩き回っている場合と比べてプレイヤーが飽きやすくなる
- プレイヤーが自由に歩き回ると現実世界の境界(壁など)にぶつかり、VRの没入感が失われてしまう
解決策:ゾーンベースのテレポーテーション
開発チームは、VR空間内のリックのガレージをゾーンに分けて、ポインターではなく視線をベースにするアイデアを考え出しました。プレイヤーがVR空間内で行きたいゾーンの方向を見て、そしてボタンを押せばそのゾーン内にテレポートさせることで VR酔いの抑制と現実世界との衝突を防止します。また、現実空間におけるプレイヤーの位置は常にVR空間のプレイスペース内の位置と相関関係にあるので、プレイヤーがVR空間内で別のゾーンに移動した時に、ゲーム内のアイテムに手を伸ばして操作するために現実の空間内を動き回ってもらえます。

ポートレイト
課題:ポータルの通り抜けるスペースをどのようにデザインするか
ポータルは『Rick and Morty』の大きな特徵であり、開発チームではゲーム内でこれをうまく機能させなければならないと考えていました。デザイン上の課題の 1つは、VR空間内のプレイヤーがポータルを通り抜けるときに現実世界の壁や家具にぶつからないようにすることでした。

解決策 1:安全に通り抜けられるようにプレイスペースを分ける
開発チームは、プレイヤーが VR空間内でポータルを通り抜ける時に現実空間の壁に体や頭をぶつける恐れがあるため、ポータルが現実世界のスペースの端に出現しないようにするためにポータルのジャンプスペースを次のように分割しました。
・全体の内の 3分の 2のプレイスペースを、プレイヤーが元々の立ち位置からポータル入り口まで移動するために使用するだけのスペースとした
・残りの 3分の 1のスペースを、ポータルを抜けて別世界への移動のために使用するスペースとした
さらに、ゲーム内にレバーを設置して、プレイヤーがレバーを引かない限りポータルがアクティブにならないカラクリを用意しました。
このレバーをプレイヤーが近づく必要がある場所に配置しておくことで、プレイヤーがポータルをアクティベートする前にゲーム側がプレイヤーの立ち位置を「認識」できるようになり、プレイヤーの立ち位置を基準としてレバーを安全かつ的確な場所に表示させられるようにしました。
課題:VRの没入感を妨げないようにレンダリングを最適化する
通常、ポータルなどのエフェクトはレンダーテクスチャで作成します。プレイヤーがポータルに近づくに従って、レンダーテクスチャのビジュアルのディテールを増やしていく必要がありますが、その際にVRの没入感を阻害するレンダリング不調に起因したチラつきが生じることがあります。
解決策 1:深度マスクを使用した複数のカメラ
開発チームが考えた解決策は深度マスクを使用した複数のカメラを採用することでしたが、これはレンダーパイプラインを複雑化することを意味します。最初にローカルワールドとスカイボックスをレンダリングしてから、次に深度マスクを使用して離れた世界とスカイボックスをレンダリングしなければならないからです。しかし結果としては、ちらつきなどの不備が一切ない立派な外観のポータルができました。

解決策 2:ポータルのフェードアウトと影 (シャドウ) のキャッシュ
もう 1つの問題は、プレイヤーがポータルを通過するたびにゲーム全体を再レンダリングしなければならないことによる負荷上昇です。これを最適化するために、プレイヤーがポータルを見て近づいた時にポータルの大部分をフェードアウトさせてポータルの向こう側の世界が見えるようにしました。ポータルがプレイヤーの視界に入った時に、プレイヤーが見ていない空間のローカルの影をキャッシュし、プレイヤーのテレポート先のローカル空間の影をレンダリングするようにしました。さらに所定の位置にあるライトをプレイヤーが見ていない時にはオフにして負荷を軽減しています。
面白い死に方を演出する
課題:死亡時にプレイヤーをどう制御するか
ゲーム中、プレイヤーはいつでもどこでも死ぬ可能性があります。VRゲームに没入中に死亡することはVRではないゲームのプレイ中に死亡した時と比べると大きく異なります。そこで開発チームはプレイヤーがゲーム中に死んでしまった時に苦痛を感じたり無力感に苛まれたりしないように注意を払う必要がありました。
解決策:死に面白みを加える心地よい「死後の世界」
プレイヤーは死亡すると、ゲーム開始前の待機所のような部屋に転送されます。そこは中央に小さな椅子だけが置かれた、暗くてほぼ何もない場所で、椅子の上には電話が置かれています。このように殺風景な部屋にすることで VR空間内での死亡時の転送の心理的抵抗も減り、プレイヤーにとって想定外の位置に転送されるようなことも防げます。また、VR空間内に置かれた椅子はプレイヤーが居るべき場所に戻らせる役割を果たしてくれます。ゲームを再開したければ、電話のボタンを押して、リックのガレージに戻ってプレイを再開することができます。

ファンの好みに作りかえる
課題:ミーシークスを VR でどのように動かすか
ミーシークス(Meeseeks)は番組でとびきり人気のあるキャラクターの 1 人です。番組では、登場人物がミーシークスの箱に付いているボタンを押すと、ミーシークスが飛び出し、願いを叶えてくれます。しかし、VR ゲームでは、プレイヤーはミーシークスと話ができないため、自分の望みを伝えることができません。
解決策:ユーシークスを登場させる
モーティのクローンであるプレイヤーがボタンを押すと、「ユーシークス(Youseeks)」というキャラクターが現れます。ユーシークスはモーティつまりプレイヤーの動きをまねるため、例えばキャッチボールなどのインタラクティブで面白い体験ができるようになりました。ユーザーテストの際には、開発チームはプレイヤーが自分のパーソナルスペースがユーシークスによって侵害されていると感じているように見えたので、ユーシークスかクローンモーティの頭に付いている HMD を取り外すか、ユーシークスをハグすれば、ユーシークスが破壊されるようにしました。


課題:ミクロ宇宙
番組内でリックは「ミクロ宇宙バッテリー(Microverse Battery)」を使うことがあります。この装置の中には小宇宙が入っており、リックはこれを使って宇宙船を動かします。ミクロ宇宙の中には生き物がいて、さまざまな装置のペダルをこいでリックに電力を提供します。しかし、このような要素は VR に直接取り入れることはできません。
解決策:ミクロ宇宙ダッシュボード
Owlchemy はさまざまなハンドル、ダイアル、ボタンが付いたダッシュボードを作成するというアイデアを考え出しました。プレイヤーはハンドジェスチャーでこれらのコントローラーを動かすことができます。ダッシュボードを操作すると、ミクロ宇宙が生成され、プレイヤーはこれをバッテリーの中に蓄えることができます。スキルが求められる楽しい場所であり、プレイヤーは何度でも訪れることが出来ます。

課題:ロイ
ロイは番組内で登場人物がプレイするビデオゲームです。このゲームで、登場人物はロイの一生をわずか数秒で体験します。
解決策:トロイ
トロイはゲーム内に登場する「舞台を銀河間空間に移したロイのパクリゲーム」(Schwartz 氏の言葉)です。トロイの世界のアセットは、Owlchemy Labs のアーティストがすべてダンボールの切り抜き絵に似せて作成しました。結果的にこれはスマートで効率的な方法であることがわかり、プレイヤーにも好評でした。プレイヤーはトロイの世界のすべてのオブジェクトを操作できます。トロイの人生はプレイヤーの決定に応じてプレイヤーに悟られることなく分岐していきます。

課題:コンビネーターと恐怖のスプレッドシート
コンビネーター(The Combinator)はリックの発明品で、さまざまなアイテムを組み合わせて新しいものを作ることができる装置です。VR の世界でこれを再現するには、多大な労力が必要です。まずプレイヤーにコンビネーターに使うアイテムに幅広い選択肢を与えられるようにしたうえで、すべてのアイテムの組み合わせの結果を決定する必要があり、多大な労力を伴います。

解決策:とにかく頑張るしかなかったが、努力の甲斐はあった
開発チームは相当な数の手作業を行ってコンビネーターを設定しました。プレイヤーが任意の 2 つのアイテムを組み合わせたときに、確実に破綻なく結果が得られるようにする(エラーが発生しないようにする)必要があったからです。結果的として、コンビネーターはゲームで最も人気のある要素となってくれました。
入力を簡単にする
課題:どのようにしてプレイヤーにゲーム内で銃を撃つ能力を与えるか
ゲームのある部分で、開発チームは極力簡単にプレイヤーに銃を撃つ能力を与えたいと考えていました。1 つの入力モードだけで済ませることを目標にしました。
解決策:手を銃に変える
開発チームはモーティつまりプレイヤーの手を銃に変えるというアイデアを考え出しました。VR空間内に用意された 2つのパッドの上にプレイヤーが手を置くと、手が銃に変わります。プレイヤーが銃をパッドの上にもう一度置くと、銃が手に戻ります。

斬新なフロアレベルトラッキングソリューション
課題:フロアレベルのトラッキング問題
一般に VRでは、フロアレベルのトラッキングが狂う問題の回避策として、Reimer氏の「フォースグラブ(force grab)」方式と呼んでいる方法が使用されます。これはプレイヤーが手に取りたいオブジェクトの方向に手を向けて VRのコントローラーをクリックした時に、オブジェクトをプレイヤーの方に移動させるという方法です。しかし、この方法を採用すると、プレイヤーが動く要素がなくなってしまい、ゲーム中にプレイヤーが退屈や倦怠感を覚える可能性があります。
解決策:浮かせる
開発チームでは、アイテムを浮かせるシステムを設計しました。これは、プレイヤーが床にあるオブジェクトの上に手をかざすか、手を乗せると、そのオブジェクトが自分に向かって浮上してくるシステムです。とはいえ、手中に収まるわけではないのでプレイヤーは移動してオブジェクトをつかまなければならなくなっています。これまで開発チームは Oculus の 180度トラッキングのためにこのシステムを実装していましたが、Reimer氏の話にもあったように、このシステムは VRデザインの標準ともなり得る解決策です。プレイヤーの動きを促進させるだけでなく、何度もかがんで床の物を拾い上げる必要もなくなるので、楽で疲労も少なくなります。

以上は Schwartz 氏と Devin 氏が Unite セッションで語ったVRデザインソリューションのほんの一部です。さらに多くのヒントはこちらのセッション本編で語られていますので、ぜひご覧ください。