Home

Awesome

FindSurface-SceneKit-ARDemo-iOS (Swift)

CurvSurf FindSurfaceâ„¢ ARSceneKitDemo for iOS (Swift)

Overview

This demo app demonstrates a real-time AR SceneKit application using FindSurface to search point clouds, which ARKit provides, for geometry shapes. The source code of this app is based on the Xcode Augmented Reality (SceneKit, iOS) template project.

NOTE: The repositories listed below are presently inaccessible due to internal complications. If you have any inquiries or require further assistance in relation to this matter, please contact to support@curvsurf.com. We greatly appreciate your patience and understanding during this period.

FindSurfaceFramework is required to build the source code into a program. Download the framework here and refer to here for an instruction about how to setup your project to build it with the framework.

Requirements

This demo app requires the LiDAR sensor to get a point cloud from ARKit.

Features

Compared to the gui demo, this demo has the following differences:

User Interface

interface

The following descriptions start from the lower-left corner of the picture above and proceed counterclockwise.

  1. Feature types of surfaces to detect (plane/sphere/cylinder only).
  2. Confidence levels to filter point cloud (e.g., the "C.Med" option means filtering out the points having "low" confidence).
  3. The opacity of the point cloud and radius indicators.
  4. Invoke FindSurface to search for geometric surfaces and place a virtual object on the surface if found.
  5. Remove all the virtual objects
  6. Radius indicators.
    • The seed radius indicator (the white circle) is controlled by pinching the screen.
    • The picking radius indicator (the red circle) is controlled by dragging the screen vertically.
    • The focusing point (the blue box) indicates the aim of the target object, to choose a seed point.
  7. Points shown on the screen are the visualization of the points provided by ARKit, of which colors indicate confidence levels (green, blue, and red mean high, medium, and low, respectively).

Output Examples

AR scene without pointcloud ar-scene-without-pointcloud.jpg

The list of the virtual objects and the places to find them are as follows:

GeometryDescription
Plane <br>(vertical wall)A television displaying the camera stream.
Plane <br>(horizontal floor)CurvSurf's pull-up banner.
Plane <br>(horizontal ceiling)CurvSurf's round hanging banner.
Plane <br>(sloped)A directional sign with the CurvSurf logo.
Sphere & CylinderAn animation effect that makes the FindSurface logo go around along the circumference of the surface.

The original scene

original-scene.jpg