ittybittyapps / ARVisualizer

Prototype of a real-time visualization tool for ARKit sessions
BSD 3-Clause "New" or "Revised" License
125 stars 13 forks source link
arkit augmented-reality ios swift visualization

AR Visualizer icon AR Visualizer

Example of a point cloud scanned from a room Photo of the scanned room

This project is a prototype of a real-time visualization tool for ARKit sessions. It consists of:

Visualized information includes:

How to build

  1. Clone the repository and open ARVisualizer.xcworkspace in Xcode 10 or newer.
  2. Configure automatic codesigning for Server and MobileClient projects/targets by opening their target settings, General tab, and configuring the Team setting in the Signing section.
  3. Build and run MobileClient scheme on a supported iPad device and/or DesktopClient scheme on the Mac.
  4. Build and run Server scheme on a supported iPhone or iPad device.

How to use

Client apps start in an idle state, waiting for a server to start, and connect to it automatically once it appears. When the server app launches, it starts an ARKit session automatically, advertises its presence over Bonjour, and starts streaming live session data to the connected clients. Multiple clients can simultaneously visualize the same live ARKit session.

Note: If you're having connectivity issues, try restarting both the server and the clients. If necessary, connect the devices running them to the same Wi-Fi network.

Client apps allow customizing visibility of the feature points and the plane anchors, and also provide several camera modes:

Supported devices

Server app supports iOS 11.0+ devices with A9 chip or newer. This includes:

Mobile client app supports iPad devices running iOS 11 or newer.

Desktop client app supports Macs released in or after 2012, running macOS 10.13 or newer.

See also

AR Recorder: an example of using ARKit's private SPI to record and replay session sensor data.

Licensing

This work is licensed under a BSD 3-Clause License.