2017-11-21 1 views
2

私は、Androidの& iOSのアプリケーションで、カメラの関心のあるポイントを表示しています。 ARkit & ARcoreの現在の互換性に乏しい。リアクションネイティブの拡張リアリティ(カメラ​​の注目点)

これを行うにはライブラリをおすすめしますか?例があれば、より良い!私はバイロメディアを知っていますが、私はそのライブラリを使ってこれを行う方法を理解していません。

私は3Dモデルを望んでいません。カメラ上のマーカだけで、添付画像に似ています。 Viroのでこれを行うには

markers over the camera

+0

のxy値にlatlonからの変換を提供できるライブラリですそれがオープンソースの場合、ソースコードを共有する意思がある。ありがとうございました! –

答えて

1

が反応 - とARで一般的には - トリックは2座標系が存在することを認識することです:お使いのデバイスの

  1. ローカル座標系は、これを「ARスペース」と呼ぶことにします。 Viroでは、これはアプリケーションが開始されたときのユーザーの初期位置を中心とし、メートル単位です。

  2. 地理座標(緯度と経度)。

オーバーレイを配置するには、コンテンツを地理座標からAR空間に変換する必要があります。これは2段階のプロセスです。最初に球面の地理座標を2次元平面に投影します。Web Mercatorはこれに最適です。次に、投影された座標を装置の最初の投影されたの位置で平行移動します。

デバイスの初期投影位置は、最初の地理的位置を投影することによって導き出すことができます。 Viro Reactでは、Geolocation moduleを使用して、ユーザーがアプリを起動したときにこれを取得できます。

最後に、ARスペースのコンパス方向からデバイス方向への変換という、ユーザーの方位にも同様の変換を行う必要があります。

これはうまくいくためには、不正確なジオロケーション検索(たとえば、デバイスから取得した場所が不正確な場合など)がどのように処理されるか把握する必要があります。また、ドリフトを考慮する必要があります。座標系の同期が外れ始める可能性があります。

最後に、Viroで簡単に情報カードを作成することができます。テキストで画像をプリベークしてViroImageを使用するか、カードがより動的である必要がある場合は、ViroFlexViewを使用できます。

+0

これには可能な例がありますか? –

1

私もこの1つに興味があり、私はViroReactを試しています!

緯度と経度がx-y値に変換されたときに、この作業を行う方法を理解するのが少し難解です。 z値はどうすればよいですか?

[59、11]があなたの場所を基準にして表示されるユーザーの場所として、緯度経度[59、10]があるとします。どのようにViroARSceneでそれを構築するには?

<ViroNode position={ **userLocationFromLatLonCartesian** }> 
    <ViroBox position={ **poiLocationFromLatLonToCartesian** }/> 
</ViroNode> 

したがって、オブジェクトが表示されるように縮尺、位置、回転をどのように計算しますか?

https://github.com/proj4js/proj4jsように見えるが、私はこれで、あなたの場合、あなたの試みであったか成功思ったんだけど、私は大学のプロジェクトのために同じ機能を実現しようとしている

+0

proj4jsのようなライブラリは素晴らしいですし、Viroの座標系のXとZに対応する投影座標が与えられます(Xは右から左に、Zは画面の内外に)。 Y座標はオブジェクトの「高さ」であり、必要に応じて任意に設定できます。スケールも同様に、レンダリングしているオブジェクトと必要なものによって異なります。ローテーションの場合は、ラベルをレンダリングする場合はbillboardingを使用し、ラベルは常にユーザーに向くようにします。 –

+0

あなたの他の質問については、ViroBoxをViroNodeにネストすることは望ましくありません。 - 次にuserLatLong poiViroCoordsごViroBoxの位置を設定 poiProjectedLocation = proj4j(投影、poiLatLong) userProjectedLocation = proj4j(投影、userLatLong) poiViroCoords = poiLatLong:代わりに、座標ViroのにLatLongブログを変換する関数を書きます。私はそのトリックをするだろうと思う。 –

+0

こんにちは@RajAdvani、私は似たようなことをしようとしています。私はGelolocation API(WGS84の座標にあると仮定しています)から緯度、経度を持っています。 ViroCoordsに変換したいのですが、私はproj4j(projection、poiLatLong)でどのタイプの投影を使用すべきか分かりません。あなたはそれについていくつかの助けを提供できますか? –

関連する問題