google-ar / arcore-android-sdk

ARCore SDK for Android Studio
https://developers.google.com/ar
Other
4.91k stars 1.2k forks source link

How can I effectively place and anchor a 2D image in an augmented reality(AR)environment using the front-facing camera with ARCore for native Android? #1622

Open nikhilgharate opened 7 months ago

nikhilgharate commented 7 months ago

SPECIFIC ISSUE ENCOUNTERED

VERSIONS USED

CODE FOR REFERENCE:

private void setUpPlane(){ Log.i("Model--11","cant load1"); // Bitmap bitmap = takeScreenshot(); // Log.i("Model--22","cant load"); // saveBitmap(bitmap); // takeScreenshot(); // // Log.i("Model5","cant load1"); // float[] pos = { 0, -1, -4 }; // float[] rotation = { 0, 0, 0, 1 }; Frame frame = arFragment.getArSceneView().getArFrame(); // Session session = arFragment.getArSceneView().getSession(); // Anchor newMarkAnchor = session.createAnchor(frame.getCamera().getPose() // .compose(Pose.makeRotation(0,0,0,0)) //This will place the anchor 1M in front of the camera // .extractTranslation()); // AnchorNode addedAnchorNode = new AnchorNode(newMarkAnchor); // addedAnchorNode.setRenderable(modelRenderable); // addedAnchorNode.setParent(arFragment.getArSceneView().getScene()); // createOnGlThread(this.context, "models/frame.png");

    // Add an Anchor and a renderable in front of the camera
    Session session = arFragment.getArSceneView().getSession();
    float[] pos =  frame.getCamera().getPose().getRotationQuaternion();
    float[] rotation = {1, 0, 1, 0};
    Anchor anchor = session.createAnchor(new Pose(pos, rotation));
            AnchorNode anchorNode = new AnchorNode(anchor);
    anchorNode.setRenderable(modelRenderable);
    anchorNode.setParent(arFragment.getArSceneView().getScene());

}