Android NDK (C)
Unity (AR Foundation)
The Instant Placement API allows the user to place AR objects instantly, without having to first move their device to allow ARCore to establish full tracking and detect surface geometry.
After the user has placed an object, its pose is refined in real time as the user moves through the environment. Once ARCore is able to determine the correct pose in the region where the AR object has been placed, it updates the object's pose and tracking method.
In the following example, an object is initially placed using an estimated pose, which is indicated by its grayscale color. Once an accurate pose can be determined, the object becomes colored, indicating that it is using an accurate pose. The sudden change in pose also affects the apparent "size" or perceived scale of the object.
In Figure 1, Instant Placement is disabled and surface geometry is undefined. Objects placed on the floor to the right of the pool table (four small blue dots) appear knocked-over, their poses are undefined.
In Figure 2, Instant Placement is enabled from the menu under the gear icon.
In Figure 3, with Instant Placement enabled, a new object is placed in the scene. It appears in grayscale, instead of colored, to denote that it has not been corrected for an accurate pose yet.
In Figure 4, the new object becomes colored, and its pose is accurate, when the surface geometry (described by the trackable grid lines) is detected.