0

ARCore と Sceneform を使用して、AR マーカーを現実世界の特定の GPS 位置に配置するアプリを実装します。現実世界でマーカーを静的に保つために、「空中」で作成されたアンカーを使用します (追跡可能なオブジェクトなどには関連付けられていません)。平面として):

mAnchor=session.createAnchor(
    frame.getCamera().getPose()
        .compose(Pose.makeTranslation(xrotated,y,zrotated))
        .extractTranslation());

ここで、xrotated、y、zrotated は、カメラの GPS 位置と目的の GPS 位置の間の相対距離です。

しかし、この方法で作成されたアンカーは静的ではないことがわかりました。つまり、携帯電話を動かすと、マーカーは携帯電話と平行に移動し、最大 10 メートル以上ドリフトする可能性があります。

画面をタップしてアンカーを作成しようとすると、アンカーに接続されたレンダリングノードが正常に動作します.電話が動くと、現実世界の実際のマーカーのように静的に保たれます.

https://github.com/google-ar/sceneform-android-sdk/issues/185でこのような説明を見つけまし placing an anchor that is not associated with a Trackable object is usually not a good experience. The trackable object (planes, augmented images, oriented points) are update by ARCore to represent the connections between the real world image and the augmented, virtual images. If you place an anchor in the "air", it will drift and move relative to the real world.た。

その理由が空中に作成されたアンカーであり、追跡可能なオブジェクトに関連付けられていないのか、それともマーカーがカメラと平行に移動する他の要因なのかを知りたいのですが、見つかりませんでした.ARKitでは、そのようなものは見つかりませんでした. ARCore が GeoAR を扱っていないためでしょうか?

4

1 に答える 1