“Presence is VR Magic.”
プレゼンスはVRにおける魔法です。これは2014年1月 開発者イベントであるSteam Dev Daysで当時ValveにいたMicheal Abrash(現Oculus チーフサイエンティストオフィサー)が語っていた言葉ですが、VRのテクノロジーを使えば、自宅に居ながらにしてまるで別の世界に入り込んだような魔法の体験が可能となりました。その一方でちょっとしたことでこの魔法は溶けてしまいます。まるでシンデレラのガラスの靴のように。
プレゼンスとは何?
辞書による定義は
presenceとは
主な意味
存在、あること、現存、出席、参列、駐留(軍)、(警察官の)配備、配置、面前、人前
「実在感」「存在感」という感じでしょうか?
「そこにある感」 という感じがイメージしやすいと思います。
没入感とは違うのか? というと、従来の映画でも没入感は自体はありました。映画館のような巨大なスクリーンや3D映画は没入感を高められます。
その一方でVRは「そこにある感」「その世界に居る感」を体験できます。
プレゼンスを壊さない、剥がさないことはVR体験において大事です。
例えばディズニーランドに行ってミッキーマウスを見つけて背中のチャックを見つけたとしましょう。その瞬間「あー、どうせ中にオッサンが居るんでしょ?」と冷めてしまうことでしょう(中の人などいない!!)
実際VRコンテンツを開発する上で、プレゼンスを維持する秘訣は数多くあります。
プレゼンスの維持
導入部でプレイヤーに慣れてもらう時間を用意しましょう。最初にプレイヤーが自由に辺りを見回して、自分がいる所を確認できる時間を作ってあげると、安心してその後を楽しめます。
イントロでその世界観や自分が誰(何)であるかを伝えましょう。私は「なに?」これが冒頭で伝わらないと最後まで不安を感じた体験になりがちです。
タイトル画面からトランジションして徐々に世界に入り込んだように演出するのはオススメです。
じわーっと世界がひらけてくるHenryやBullet Trainは参考になります。
「期待と結果」
人は、自分の期待したとおりに結果が出ると喜びを感じます。思ったことが思ったとおりに出来ると嬉しいのです。逆に思ったことが出来ないとガッカリしたり不安になったりします。
たとえば、VRの中で花火があったとします。花火にライターで火を付けます。火がついた花火からもうひとつの花火に火がつけられる機能がある。そういった期待通りの結果はVRの世界そのものが楽しく感じます。
キャラクターによるプレゼンス
VRとキャラクター。これはとても大きな可能性を秘めています。それこそ私が人生VRに賭けて勝負してみるか!と思ったのもVRの中でキャラクターに認知されたことの興奮からです。
VR内のキャラクターがこちらを見てくるという制御は非常にプレゼンスを高めます。今までのTVでは表現できなかった体験です。
キャラクターに認知してもらう方法
- Unityの場合、IKやHeadLookControllerを使ってVR内の自分の目をターゲットにする
- 頭だけでなく、首や上半身や腰のボーンも多少制御するとより自然になります
- 目線のLook At(眼球の制御)
- 眼球も多少動かすとよいです。動物は何か注視するときは多くの場合、首だけでなく目を動かします。
個人的にはUnityの場合、https://docs.unity3d.com/ja/current/ScriptReference/Animator.SetLookAtWeight.html がオススメです。
- キャラクターの大きさ — VR空間で正しいスケールやユニットで物理的に正しい大きさで表示しているにもかかわらず感覚的に小さく感じることがあります(IPDの問題や光学的な問題)。その場合、VR内でスケールを調整すると良い結果を期待できます(多くの人テストしてもらって意見を聞くと良いです)
- キャラクターの声 — 3D立体音響を使って、NPCやキャラクターの口の位置から発音させるととてもプレゼンスが増します。
- 目パチ — 目パチがないとお面をかぶった人みたいに見えて不気味の谷にまっしぐらになります。
- 目のハイライト — 死んだ魚の目になるとこれまた不気味の谷に入るのでちゃんとマテリアルを設定してハイライトを入れると良いです。
- 呼吸 — 呼吸(胸やお腹の動き)のモーションを入れると非常に生きている感じになります。
- ノイズ — 人は全く同じ動きをしないため、既存のモーションを何度も再生する場合にもランダムな要素を入れるとプレゼンスが剥がれにくいです(プロシージャルな要素)
- 物理シミュレーション — 髪の毛やアクセサリーなど揺れモノが連動して動くと一気に実在感がアップします。
めり込み対策
VRのキャラクターにめり込めてしまうとキャラクターのポリゴンの裏側が見え一気にプレゼンスが剥がれます。キャラクターのコライダーと自分のカメラの距離を計算して距離に応じてアルファ値を滑らかに変えてブラックアウトさせる手法がオススメです(サマーレッスンなど)
自分のアバター
- 自分はVRの世界においてなんなのか?を考えます。中途半端にアバターモデルを体にアサインするくらいなら、透明人間の方がプレゼンスが剥がれません。
- 仮にアバターモデルを出す場合は、開始時に首の位置をキャリブレーションできる仕組みがあったほうがいいです。下をむいた時に首の位置がズレてポリゴンの中身が見えると興ざめします。また、しゃがんだ時などアバターも実際にIKでしゃがむ制御があるとプレゼンスが維持できます。
- アバターモデルを使う場合は、鏡を置いてあげると憑依した感覚になれるのでとても有効です。IKで頭や首や手が反映するとよりプレゼンスが高まります。(君の名は。メソッド)
- ハンドコントローラに対応するため、手のモデルを出す場合は、手首までを描画した方がプレゼンスが剥がれません。手首を曲げた時に多くの場合IKが破綻します。
- FullBody IKで手と体を出すことは可能ですが多くの場合、肘の制御が辛くなります。肩のひねりや手首の回転から肘に位置をIKで求めることが困難(IKソルバーの連立方程式の解が一意でなくなる) オススメはUnityの場合はFinal IKのVRIKを自分のアバターに適用することです( http://www.root-motion.com/final-ik.html )
- 立ってプレイすることを前提としている場合は必ず Floor Levelを意識します。Oculus + Unityならば、OVRCameraRigの設定をEyeLevel > FloorLevelに設定し、カメラを床に起きましょう(Y=0)
サウンドによるプレゼンス
- 3D立体オーディオを使おう(Oculus Audio SDK)
- Unity / UE4からは簡単に使えます
- 3D立体オーディオで発音する場所に配置してあげましょう
- 声は口から
- 立体オーディオシミュレーションのための部屋のサイズなど正しく設定しましょう
ハンドプレゼンス
まるで自分の手がVR空間にある!それはプレゼンス全体を底上げします。なぜなら、多くの場合、この世界が本当かどうか知るのに自分の手を最初に見るからです。
現実の手が1cm動いたらVR内の手も1cm正確に動くことが、ハンドプレゼンスのために大事
直感的でVRの中に入ったらコントローラーを使っていることを忘れる意識せずに、
すぐに自然に掴むことができる。コントローラーが溶けてなくなるのが理想です。
- トリガやボタンを適切に使いましょう
- ハンドジェスチャーのモーションを実装しましょう
- ハプティクス (物に触れた時など)
- オブジェクトとのコリジョンを大きめにするとストレスがないです(コリジョンをマジックハンドのようにするなど)
手の描画
- モデルをリアルにするとプレゼンスは剥がれやすい(肌の色や指の長さ太さ)
- 机や物に手を突っ込んだ時に、手が見えなくなるとハンドプレゼンスを疎外するので、あらかじめ手をシースルーにするテクニック(ToyBox)
- 物を掴んだ時は手の表示を消してしまうテクニック(Job Simulator)
- 小さすぎる手は違和感がありますが、大きい場合は手袋の中の手のように認識します
プレゼンスの破壊
逆にプレゼンスを破壊する方法です。
テクニカル
- スペック不足によるジャダー(カクツキ)の発生
- チューニング不足によるフレームレート不足
- トラッキング範囲から出られるようなデザインになっている
- そもそもトラッキングが不安定、外れる
- ポジショントラッキングが使えるデバイスでつかっていない
コンテンツデザイン
- いきなり投げ出される
- 不安にさせる要素がある
キャラクター
- キャラクターがこちらを認知していない(不安)
- キャラクターの顔の中(ポリゴンの中)に突っ込めてしまう
- 一方的に話しかけられる
ハンドプレゼンス
- 手のモデルが極端に小さい
- 手が正しくトラッキングしない(リアルとVRで同じピッタリ同じ動きをさせる)
- 指のアサインが行われていない
- 普段の自分とは違うリアルな手のモデル(これは序盤で慣れさせる演出があれば回避可能)
サウンド
- 3D空間サウンドになっていない(音がトラッキングしない)
- 突然のBGM(どこから鳴っているのかわからなく冷めてしまうケース)
- そもそも体験・展示環境のまわりがうるさくて没入できない
体験
- プレイ中にヘッドホン越しで大声で話しかけられる(VR内だけのチュートリアルが理想)
さいごに
VRのプレゼンスを学ぶ上で一番の方法は良質なVRコンテンツを大量に体験してみることです。「百見は一体験にしかず」です。
皆さんも是非魔法のようなVRコンテンツをつくってみてください!