Skip to content

Current Functionality

Joe edited this page Aug 15, 2021 · 7 revisions

There are a number of classes and other files in the addon that deal with different areas relating to ARKit, like setting up the camera, dealing with feature detection, or dealing with plane detection.

The class ARProcessor deals with joining all of these different bits of functionality in a (hopefully) easy to use API, but each of the classes can be used as standalone classes as well.

There are the following classes/files that are part of the addon

  • ARAnchorManager : a helper class to help deal with managing ARAnchor objects as well as ARPlaneAnchor objects.
  • Camera : deals with managing the camera data found by ARKit and generating something that can be displayed.
  • ARDebugUtils : as the name suggests - this deals with debugging helpers. At the moment, it's able to handle feature detection and drawing a point cloud. It can also show some general debugging information.
  • ARObject : this is a header file that declares PlaneAnchorObject and ARObject. These structs are used to store converted ARKit data into something more oF friendly.
  • ARShaders : this stores the core shaders needed by the addon.
  • ARSessionSetup : provides a helper function for quickly generating a new session.
  • ARUtils.h : this stores various utility functions
  • ARProcessor.h: this provides a wrapper around all of the other classes in the addon, combining common functionality that someone might typically need.

Notes

  • For whatever reason, it seems that if your code contains any face tracking related features, even features that you aren't actively using, Apple will require you to come up with a privacy statement. There is a #define statement in ARFaceTrackingBool.h that defines a variable called AR_FACE_TRACKING. This should be set to true or false depending on whether or not your app includes face tracking. If you're using the classes individually, you may have to add the define statement yourself or remove the surrounding ifdefs from the related functions.
  • this was prompted by a Unity related thread, but is also noted in this quote from the Apple Developer ARFaceTrackingConfiguration docs:

"If you use ARKit face tracking features your app must include a privacy policy describing to users how you intend to use face tracking and face data."

Clone this wiki locally