web-dev-qa-db-ja.com

A-Frame&ar.js:複数のマーカーとボックス

Aフレームを使用して複数のARマーカーを実装する方法の概念実証はありますか?

例このようなもの: https://www.youtube.com/watch?v=Y8WEGGbLWlA

enter image description here

アレクサンドラエティエンヌからのこの投稿の最初のビデオは、私が目指している効果です(異なるコンテンツを持つ複数の異なる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

8
Victor

tldr:作業グリッチ ここ
領域を学習し(画像はアセット内にあります)、[同意する]ボタンをクリックして、マーカーヘルパーを切り替えます。

さて、少し詳細:

1)保存領域データの読み込み

初期化時に、ar.jsareaマーカープリセットを使用することを検出すると、localStorage参照を取得しようとします。

localStorage.get("ARjsMultiMarkerFile")

最も重要なデータは、areaを作成するために使用されるペアの配列{markerPreset、url.patt}です。
:デフォルトでは、これは単にhiroマーカーです。

2)エリアデータファイルの作成

debugUIEnabledtrueに設定した場合:

<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>でそれを行うだけです。


学習者サイトにアクセスしたら、カメラがすべてのマーカーを認識していることを確認し、学習を承認します。

次のようになります。
enter image description here

承認されると、Webサイトにリダイレクトされ、エリアファイルが読み込まれ、データが使用されます。

4

@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とは異なり、「拡張トラッキング」はありません。コードが見えなくなると、トラッキングできなくなります。

1
dirkk0