A real-world position and orientation that can be used for placing objects in an AR scene.
- iOS 11.0+
To track the static positions and orientations of real or virtual objects relative to the camera, create anchor objects and use the
add(anchor:) method to add them to your AR session.
Some ARKit features automatically add special anchors to a session. World-tracking sessions can add
ARImage objects if you enable the corresponding features; face-tracking sessions add
In addition to creating your own
ARAnchor instances to track the real-world positions of your virtual content, you can also subclass
ARAnchor to associate custom data with anchors you create. Ensure that your anchor classes behave correctly when ARKit updates frames or saves and loads anchors in an
Anchor subclasses must fullfill the requirements of the
ARAnchorprotocol. ARKit calls
init(anchor:)(on a background thread) to copy instances of your anchor class from each
ARFrameto the next. Your implementation of this initializer should copy the values of any custom properties your subclass adds.
Anchor subclasses must also adopt the
init(coder:)to save and restore the values your subclass' custom properties when ARKit saves and loads them in a world map.
Anchors are considered equal based on their
Only anchors that do not adopt
ARTrackableare included when you save a world map.