Search code examples
androidandroid-emulatorarcore

After running hand image is shown, I can't see dots of scene


After running my app on an emulator in the center screen I have hand with phone. What should I do for disappearing this icon, because of it dots of scene view don't show. enter image description here

And if this icon disappears, I not always see scene. I need to get this result, but I have seen it only once. enter image description here

Here is my xml file

<?xml version="1.0" encoding="utf-8"?>

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container_constraint_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <fragment
        android:id="@+id/jaguar_fragment"
        android:name="com.google.ar.sceneform.ux.ArFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />


</androidx.constraintlayout.widget.ConstraintLayout>

Solution

  • The hand icon is a message to the user that they need to move the phone around to allow ARCore to build its model of the world in the view and detect planes etc in the scene.

    When it has built this it will automatically disappear - if it does not then it usually means that ARCore has not been able to build the model yet. Pointing the camera at a flat surface and moving it around will usually get you past this point.

    Once it has passed this then any planes detected will be automatically highlighted with the dots (or anther pattern if you want to change it programatically). If there are no dots in the viewfinder than ARCore has not detected any planes in that view.

    You can remove the display of both the hand and the dots if you want to, but your users will lose this indication that ARCore has completed its model of the world and the app is ready to go.