WebXRとは?概要と最新トレンド、実践事例を解説!
Web業界でも仮想的な技術が多用されるようになり、現在はWebXRと呼ばれるものが利用されるようになってきました。まだまだ普及の段階であり、詳しく理解できていない人は多いと思われますが、トレンドになると予想される技術です。皆さんの中にも耳にしたことがある人はいるでしょう。
ただ、新しい技術であり、まだまだ普及しているとは言えない状況です。今回は、WebXRがどのような技術であり、これからトレンドとなるのか、現時点ではどのようなサービスが存在するのかなどを解説します。
WebXRとは何か
最初に、WebXRとはどのような技術であるか理解していきましょう。
そもそもXRとは
XR(Extended Reality)は、現実世界とデジタル生成されたコンテンツを融合して表現する一連の技術を指します。具体的には、仮想現実(VR)、拡張現実(AR)、および混合現実(MR)をまとめて呼ぶと理解すれば良いでしょう。現実と仮想空間の境目を曖昧にして、新しい経験やサービスを提供するものとして知られています。
用途は様々で、ゲームのように個人で楽しむものもあれば、ビジネスの現場で利用されるものもあります。また、教育の現場に導入して、今までとは違った学びの形を生み出すなどしています。幅広い用途が次々と生み出されているため、今や代名詞と呼べるようなサービスはなくなってきました。
ただ、実態としてはゲームやビジネスの場で利用される機械が多くなっています。また、デジタル空間でコミュニケーションを取るためのツールとして利用されることもあります。
WebXRの概要
WebXRは、Web上で拡張現実(AR)および仮想現実(VR)を提供するための技術です。パソコンやスマートフォン、そして関連するハードウェアの機能を活用して、リアルタイムで仮想的なコンテンツを提供します。今までは、事前にインストールされたソフトウェアを利用するケースが大半でしたが、WebXRによってリアルタイムに提供できるようになったのです。
また、リアルタイムに提供できるようになっただけではなく、専用のソフトウェアを端末にダウンロードする必要がなくなりました。通常は標準で搭載されているWebブラウザを利用するだけで、WebXRを楽しめるようになっています。必要に応じて拡張デバイスが求められる場合はありますが、利用のハードルが大きく下がったXRだと理解すれば良いでしょう。
WebXRの実践事例
WebXRの実践事例としてはいくつものサービスが存在します。例えば、以下のとおりです。
WebXR Experiments
Googleが試験的に提供するWebXRのサービスで、ARとVRをWeb上で作成したり共有したりできます。事前にいくつかの機能が提供されていて、これらを活用することで素早くARやVRを楽しめる仕組みです。日常生活で利用するユーティリティから、遊びの様子を含んだ仮想空間の体験まで提供されています。
Measure Up
こちらもGoogleが提供しているサービスで、WebXRを活用して指定した範囲の長さを測定するものです。現在は、スマートフォンアプリで同様の機能を有するものが存在しますが、こちらはアプリではなくダウンロード不要で利用できます。ダウンロードやインストールの必要があるかどうかで、利用のハードルに違いがあるのです。
WebXRを支える技術
WebXRは、いくつもの技術に支えられ実現されています。これから実装するためには、それらの技術を正しく認識しておかなければなりません。
一般的なWeb技術
一般的なWeb技術によって、WebXRの大半は実装されています。例えば、HTMLやCSS、JavaScriptによって画面が生成されます。また、サーバーサイドでは、PHPやPythonといった一般的なWebアプリケーションで利用される言語が採用されます。
基本的にはこれらの技術が利用されているため、Webエンジニアなどの基本的なスキルがあればWebXRにも対応が可能です。特に、画面デザインについては、一般的なWebサイトの技術がそのまま流用できると考えて良いでしょう。
ただ、一般的な技術があれば良いものの、部分的にはWebXR独自の技術が必要です。スキルアップに力を入れなければならない部分があるため、その点は考慮しなければなりません。
WebXR向けライブラリ
WebXRを素早く実装するために、専用のライブラリが開発されています。作業効率を高めるために、これらのライブラリに関するスキルは必須であると考えておきましょう。ライブラリなしに実装を進めることは可能ですが、作業効率の観点から基本的にはおすすめできません。
有名なライブラリはいくつか存在し、例えば「A-Frame」や「Babylon.js」が挙げられます。性質の異なるライブラリが存在するため、状況に応じて必要なものを習得しなければなりません。ただ、一般的に習得できるスキルには限界があるため、全てのライブラリを習得するのではなく、どれかに注力してスキルを高めるべきです。
なお、どのライブラリを選択すべきかは一概には言い切れません。そのため、最初は複数のライブラリを試し、それらの中で扱いやすいもののスキルアップを目指しても良いでしょう。
Unity・Unreal Engineなどは必要なし
一般的なVRやARでは、Unity・Unreal Engineなどのライブラリから利用されるケースが多くあります。3Dやゲームの実装に利用されるもので、これらを扱うエンジニアにとって必須のスキルであるといっても過言ではないものです。
しかし、WebXRの開発においては、これらのスキルが必要とされなくなっています。専用のライブラリが登場したため、今までのようなライブラリは利用しなくなったのです。この点は大きな違いであるため、エンジニアは必ず理解しておかなければなりません。
ただ、WebXRを単体で開発する場合は利用しませんが、ARやVRを並行して開発する場合は必要です。エンジニアが置かれている状況によっては、どちらのスキルも必要になると理解しておきましょう。
ハードウェア
近年は、ARやVRに必要なハードウェアが普及してきました。これらが後押しして、WebXR自体も利用されるようになってきています。部分的にハードウェアへ依存する技術であるため、ハードウェアが普及しなければ意味がないのです。
ただ、ハードウェアが普及してきているとはいえども、それぞれが高額である状況は改善されていません。そのため、一昔前よりも普及している状態であり、万人に普及している状態ではないと理解しておきましょう。
とはいえ、ハードウェアが普及してきたことによって、世の中的にWebXRが求められるようにはなってきました。これから、さらなる普及が求められるとは考えられますが、時代は変化してきているのです。
WebXRの最新トレンド
WebXRの最新トレンドについて理解する必要があるため、注目しておきたいポイントについて解説します。
全体としては少しずつ盛り上がる
新しいハードウェアが登場するなど、全体としてWebXRは少しずつ盛り上がりを見せています。ハードウェア自体が普及してきたこともあり、実際に利用するユーザも増えてきたのです。一昔前は、ごく一部のユーザのみが扱うコンテンツでしたが、現在はハードルが低くなってきました。
盛り上がりを見せていることで、テクノロジー自体も進化を続けています。例えば、上記で解説したWebXRのライブラリは、新しいものが登場したり既存のものが改良されたりしているのです。このような状況は業界として望ましく、これからの発展がさらに期待できると考えられるでしょう。
ただ、これからの状況については、一概に言い切れるものではありません。WebXRが今まで以上に発展する可能性もあれば、さらに新しい技術が登場する可能性もあります。近年のIT業界は非常に速いスピードで進化を続けているため、常に新しい情報を収集する作業が求められるのです。
ブラウザやデバイスがWebXRへ対応
WebXRを加速させるためには、WebブラウザがWebXRに対応しなければなりません。現状、新しいブラウザはWebXRをサポートするようになり、簡単に使いやすくなってきています。Webブラウザはトレンドを生み出す立場にあるため、このような状況はWebXRを普及させるという観点から望ましいことでしょう。
ただ、WebXRへの対応状況は、ブラウザによって大きく異なります。トレンドを生み出すために、力を入れているWebブラウザもあれば、最低限しか対応していないものもあるのです。状況は大きく異なるため、WebXRを活用したいと考えるならば細かく確認しなければなりません。
なお、Webブラウザの対応方針についても、これからどのように変化するか明確ではありません。全てのブラウザが同じように対応する可能性もあれば、ブラウザごとに異なる可能性もあります。このような対応状況の違いは、WebXRのトレンドに大きく影響する部分であるため、主要なものについては細かく確認した方が良いでしょう。
WebXRが抱える3つの課題
WebXRは少しずつ盛り上がりを見せていますが、いくつかの課題を抱えています。具体的に、どのような課題があるのか、それぞれ理解しておきましょう。
待機時間
サービスを利用する際の待機時間が課題になりがちです。Web経由でWebXRを利用するため、通信速度などの影響を受けてしまいます。サービスを利用する際の待機時間は、ユーザの満足度に大きく影響するため、可能な限り短縮しなければなりません。
提供者側としてできることは、アルゴリズムを最適化するなど、可能な限り処理時間を短くすることです。短時間で処理が完了すれば、ユーザへのレスポンス速度を高められます。WebXRは、複雑な処理を含むことも多くありますが、待機時間の減少に向けて吟味することが重要です。
ただ、そこまで検討したとしても、通信速度が悪影響し待機時間が長くなる可能性はあります。外的な要因に左右されやすいことは、大きなデメリットと考えましょう。
パフォーマンス
上記でも触れたように、複雑な処理を含むだけではなく、大量のデータを一気に計算することがあります。そのため、リクエストの内容によっては、パフォーマンスが悪くなってしまうことがデメリットです。近年は、素早く計算できるアルゴリズムが開発されていますが、それでも少々時間を要してしまいます。
また、WebXRはWebプログラミングを利用しているため、そもそもパフォーマンスを最適化できない場合があります。例えば、VRで利用されることの多いC言語やこれから派生したものは、実行速度が速いことが特徴です。しかし、Webプログラミングの中でも利用される機会の多いPHPは、速度に特化したものではありません。
処理内容とプログラミングの特徴から、パフォーマンスは下がりがちです。アーキテクチャでカバーできる部分はありますが、十分に注意しなければなりません。
拡張性
待機時間やパフォーマンスを改善するためには、インフラと拡張が必要となるかもしれません。ただ、この場合、拡張性に問題が生じやすいことがデメリットです。
例えば、Webサービスのパフォーマンスを高めるためには、サーバのコア数やメモリ容量を増やすことが考えられます。ただ、処理のアルゴリズムやその通信速度に依存している場合、拡張してカバーできることには限界があるでしょう。
なお、WebXRでパフォーマンスを意識した拡張を実現するならば、負荷分散として実装すべきです。例えば、クラウドサービスであれば、アクセス数に応じてオートスケーリングするサービスが提供されています。このようなものを活用し、パフォーマンスを高めなければなりません。
まとめ
WebXRはWebを活用してARやVRを提供するための技術です。今まではダウンロードしたソフトウェアを利用する必要がありましたが、WebXRならばそのような準備なくスムーズに導入できます。そのため、近年はXRの一種として少しずつトレンドになってきました。
ただ、まだまだ発展途上であり、WebXR以外のXRとは差をつけられている状況です。これから今まで以上に普及するとは予想されますが、いくつかの課題もあるため状況を注視するようにしましょう。