Aフレームを使用して複数のARマーカーを実装する方法の概念実証はありますか?
例このようなもの: https://www.youtube.com/watch?v=Y8WEGGbLWlA
アレクサンドラエティエンヌからのこの投稿の最初のビデオは、私が目指している効果です(異なるコンテンツを持つ複数の異なるAR「マーカー」): https://medium.com/arjs/area-learning-with-multi -markers-in-ar-js-1ff03a2f9fbe
複数のマーカーを使用する場合、それらが互いに近くにある必要があるか、同じカメラビューに存在する必要があるかどうかは少しわかりません
Ar.jsリポジトリのこの例では、複数のマーカーを使用していますが、それらはすべて異なるタイプです(つまり、1つはヒロマーカー、もう1つは漢字マーカーなど): https://github.com/jeromeetienne/ AR.js/blob/master/aframe/examples/multiple-independent-markers.html
tldr:作業グリッチ ここ 。
領域を学習し(画像はアセット内にあります)、[同意する]ボタンをクリックして、マーカーヘルパーを切り替えます。
さて、少し詳細:
初期化時に、ar.js
がarea
マーカープリセットを使用することを検出すると、localStorage参照を取得しようとします。
localStorage.get("ARjsMultiMarkerFile")
最も重要なデータは、area
を作成するために使用されるペアの配列{markerPreset、url.patt}です。
注:デフォルトでは、これは単にhiroマーカーです。
debugUIEnabled
をtrue
に設定した場合:
<a-scene embedded arjs='sourceType: webcam; debugUIEnabled: true'>
「Learn-new-marker-area」ボタンが表示されます。一見すると、エリアファイルを保存できる画面にリダイレクトされます。 1つありますが:デフォルトでは、ロードされた学習者サイトは別のドメインにあります。
厳密に言えば:ARjs.Context.baseURL = 'https://jeromeetienne.github.io/AR.js/three.js/
ローカルストレージはオリジンごとに分離されています の場合、そこに保存されたデータは当社のWebサイトにロードされません。
マーカー領域を保存して使用するには、独自のlearner.html
を作成する必要があります。 original と同じにすることができますが、同じドメインに保持する必要があることに注意してください。
DebugUIボタンでユーザーをyour学習者htmlファイルにリダイレクトするには、次のように設定する必要があります。
ARjs.AnchorDebugUI.MarkersAreaLearnerURL = "myLearnerUrl.html"
<a-marker>
sが初期化される前。 <head>
でそれを行うだけです。
学習者サイトにアクセスしたら、カメラがすべてのマーカーを認識していることを確認し、学習を承認します。
承認されると、Webサイトにリダイレクトされ、エリアファイルが読み込まれ、データが使用されます。
@mnutschが述べたように、AR.jsはあなたが望むことをします。
2つの異なるマーカーに2つの異なるモデルを表示できます。カメラがマーカーの1つを認識しない場合、モデルは消えます(または、実装によっては、最後の場所に留まります。
カメラは両方を見る必要はありません。
スクリーンショット: https://www.dropbox.com/s/i21xt76ijrsv1jh/Screenshot%202018-08-20%2011.25.22.png?dl=
プロジェクト: https://curious-electric.com/w/experiments/aframe/ar-generic/
また、Vuforiaとは異なり、「拡張トラッキング」はありません。コードが見えなくなると、トラッキングできなくなります。