WebVR は、ステレオ レンダリングとリアルタイムのヘッド トラッキングを組み合わせた、ブラウザに組み込まれた API です。これにより、オンラインですばやく簡単に VR コンテンツを楽しむことができます。コンテンツ作成者は WebVR を使用して、オンライン上でさまざまな VR ハードウェアで動作する没入型の VR コンテンツを作成できます。
Bear 71 について
Bear 71 は、カナダの国立映画委員会(NFB)が制作したインタラクティブなドキュメンタリーです。元々 Flash で構築された Bear 71 は、2011 年にリリースされ、批評家の絶賛を受けた。このエクスペリエンスを支えるのは、23 分間の音声と動画で、人間、自然、テクノロジー、そして特定のヒグマの関係に焦点を当てたものです。視聴者は、記号の抽象的なグリッドで表される、情報の世界を覗き見しているようなものです。意外にも、これは感情的なストーリーの邪魔にならないため、直接体験して理解する必要があります。
課題
最初の Bear 71 は Flash で開発され、当時最高の対話型のストーリーテリング メディアであると言えるでしょう。精力的に開発されたテクノロジーは 最先端技術だと見なされました5 年経った今でも元のビジョンは維持され、ストーリーは現在も有効ですが、背後にあるテクノロジーの更新が必要です。どのようなテクノロジーをクリエイティブに使っても優れたストーリーを生み出すことができますが、バーチャル リアリティには特別な注意を払う必要があります。VR の登場とリリースは過去数回ありましたが ついに主流になろうとしていますこれは、ストーリーテリングを行う大きなチャンスとなります。これまでは目の前で起きていた物語が、VR では自分の周りで見られるようになりました。
Bear 71 が開発されたとき、Adobe Flash は黄金期でした。年を追うごとに Flash のマーケット シェアは縮小していくため、以前から利用されていた作品はますます見づらくなっていきます。しかし Flash の衰退により HTML 5 として成熟したさらに、ストーリーテリングの真のプラットフォームとして、VR はこれまで以上に真摯に受け止められています。
私たちの目と耳から見ると、VR は自然と没入感のあるものですが、VR にはいくつかの障壁があります。一見すると、さまざまなヘッドセットが多くのニーズと予算に適合するはずです。配信関連のアプリストアの選択肢はさらに増えます。しかし、できる限りブラウザでの操作を好むユーザーもいらっしゃいます。ユーザーは、ダウンロードとインストールをできるだけ少なくしたいと考えています。ユーザーとコンテンツ作成者の双方にとって HTML5 の魅力は、URL が 1 つあればリッチなエクスペリエンスを利用できる点です。ここで WebVR の出番となります。
WebVR は、さまざまなソフトウェアとハードウェアを使用して、ブラウザで没入感のある快適な VR コンテンツを実現します。
NFB はこの機会を認識し、Bear 71 に HTML5 と WebVR で新たな命を吹き込むことを検討しました。これは、多くの VR プロジェクトに共通する新たな課題です。「スマートフォンを含むさまざまなプラットフォームで、優れたフレームレート、ステレオ ビジョンで、美しい成果を実現するにはどうすればよいか」という課題もこれにあふれています。
解決策
2016 年後半の開発開始時には、WebVR はまだすぐには利用できませんでした。WebVR API は急速に進化しており、WebVR 標準のドラフトは現在策定中です。しかし、コミュニティによるパッチ適用の対策として、WebVR ポリフィルが役立ちました。これにより、ジャイロスコープと WebGL による使用可能なヘッド トラッキングとステレオ レンダリングが可能になりました。このポリフィルと Google Cardboard を併用することで、コンテンツの作成とテストを開始できます。Google Pixel と Daydream View が登場し、Chrome で最初に実際に WebVR をビルドすると、Google のコンテンツは WebVR を活用する準備が整いました。迅速な開発のために、WebVR がまだ利用できない場合でもポリフィルを含めて使用しています。たとえば、当社では開発とデバッグの多くを Chrome 55 のモバイル エミュレータで行っています。また、HTC One M9、iPhone 5S、Samsung Galaxy、もちろん Google 製 Pixel など、すぐに利用できるものであれば、開発とデバッグが一般的でした。ポリフィルの汎用性を低く抑えることはできません。
ポリフィルの有用性にもかかわらず、一部の重要な WebVR 機能はエミュレートできません。注目すべきは、VR で遭遇する最大のハードルの 1 つに「乗り物酔い」があることです。乗り物酔いは、フレームレート、ヘッド トラッキングの速度、精度など、さまざまな要因に関係しています。WebVR には、再投影や高速方向センサーなど、重要な機能がいくつかあります。とは言え、高いフレームレートの維持は、依然としてコンテンツ作成者の責任です。WebVR ではフレームごとにシーンを 2 回(左右に 1 回)レンダリングする必要があるため、最適化が二重に重要です。この記事では WebGL コンテンツを適切に最適化することを目的としていませんが、以下の重要なポイントに留意してください。
- 描画呼び出しを減らす。おすすめの方法は、マテリアルを共有する要素をマージすることです。
- シェーダーをシンプルにします。標準的なマテリアルとシェーダーは、使用されていない機能を効果的に最適化しますが、残酷に最適化されたシェーダーを手作業で記述するのが最善である場合もあります。
- ドロー距離を保ち、フォグを効果的に使用します。
- テキスト ジオメトリよりも読みやすく、高速にレンダリングされる、テクスチャ ベースのテキストを優先します。
- 経済的なレンダリングのアートスタイルを使用します。6 FPS の Mario Galaxy よりも、60 fps でスーパー マリオ 64 に見える方が優れています。
- ユーザーをただひとりだけ扱い、プレーヤーの周りの世界のみをシミュレートする方法を見つけましょう。
- コストの高い計算の結果を型付き配列にキャッシュする機会を探します。多くの場合、メモリは処理能力より安価です。
なお、このリストはすべてを網羅しているわけではありませんが、ほとんどのデバイスで良好なフレームレートで実行するために使用されている最適化のほとんどを網羅しています。
コンテンツの作成、再利用、最適化には、8 人の陽気な投稿者からなる小規模なチームで約 12 週間かかりました。その努力は大変で、苦痛もありませんでした。Bear 71 VR はすでに 2 つの映画祭での限定出演を行っており、好意的なフィードバックが寄せられています。その祭典で見られない方のために、WebVR を使えばブラウザで快適な体験ができます。新しいクリエイティブ プロジェクトを検討する場合は、ウェブがリッチ コンテンツの配信プラットフォームであり、当然ながら受け入れるべきではないということを覚えておいてください。VR は私たちを発明の新しい世界に 連れて行ってくれますWebVR は両者の長所を兼ね備えています。