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.
- Apple iPad Pro LiDAR
- Apple iPhone 12 Pro
- Apple iPhone 12 Pro Max
- Apple iPhone 13 Pro
- Apple iPhone 13 Pro Max
Features
Compared to the gui demo, this demo has the following differences:
- Rendering AR objects and animations around detected geometry surfaces;
- The code related to AR object rendering uses SceneKit framework.
User Interface
The following descriptions start from the lower-left corner of the picture above and proceed counterclockwise.
- Feature types of surfaces to detect (plane/sphere/cylinder only).
- Confidence levels to filter point cloud (e.g., the "
C.Med
" option means filtering out the points having "low" confidence). - The opacity of the point cloud and radius indicators.
- Invoke FindSurface to search for geometric surfaces and place a virtual object on the surface if found.
- Remove all the virtual objects
- 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.
- 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
The list of the virtual objects and the places to find them are as follows:
Geometry | Description |
---|---|
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 & Cylinder | An animation effect that makes the FindSurface logo go around along the circumference of the surface. |
The original scene