A-Frame v1.1.0 から Hit-test と Dom-overlay の実装が入りました

すぎどん
2021-01-22
すぎどん
2021-01-22

A-Frame v1.1.0

去年12月になりますが、A-Frameがv1.1.0をリリースしました。
A-Frameも初回リリースから5年が経ち、様々な機能が追加されています。

https://aframe.io/blog/aframe-v1.1.0/

今回v1.1.0では、WebXR関係の機能追加が多く入っています。

A-Frame 1.1.0 is out! Core functionality is more polished and robust than ever. Full support for WebXR AR module and initial and experimental integration for upcoming and exciting WebXR APIs like immersive navigationhand trackingcompositor layers or hit tests

その中でも気になる機能として、hit-test と dom-overlay に注目しています。

WebXR

そもそもWebXRとはという話から。

WebXRはブラウザでAR/VRどちらも利用するための新しいWeb APIです。
あれ?今までできていたのは?と思いますが、今まではWebVR APIという、VRに特化した別のAPIを利用していました。
現在では、WebVR APIはほとんどのブラウザで、サポートから外れています。

https://caniuse.com/?search=WebVR

WebXR Device APIについては以下のサイトがまとまっています。

https://developer.mozilla.org/ja/docs/Web/API/WebXR_Device_API

A-Frameでの具体的な実装方法は、ドキュメントを参照しましょう。

https://aframe.io/docs/1.1.0/components/webxr.html

WebXR Device API自体がまだDraftなのでAndroid Chromeブラウザでしか動作しません。

Hit-test

現実空間の平面などを認識することができ、その位置に3Dモデルを配置するなど、現実とリンクしたXR体験を行うことができます。
VR空間におけるRaycasterと同様に現実のものとRayがぶつかった箇所を認識できます。

https://immersive-web.github.io/hit-test/

Dom-overlay

A-Frame v1.0.0でもWebXRに対応していましたが、ARモードの場合はDOM表示できませんでした。
それが、v1.1.0でDom-overlayが導入されたことにより、ARモードにもDOM表記できるようになります。

これで、ボタンやSelectorなど、一般的な2D部品を表示して操作することができます。

https://immersive-web.github.io/dom-overlays/


それぞれのA-Frameにおける実装方法はまた別の記事で。