FYI.
The source code of the FindSurface demo app for Apple Vision Pro (visionOS) is available now. The Swift package of FindSurface™ library is required to build the source code into the demo app. https://github.com/CurvSurf/FindSurface-visionOS
After starting the app, the floating panels (below) will appear on your right side, and you will see wireframe meshes that approximately describe your environments. Performing a spatial tap (pinching with your thumb and index finger) with staring at a location on the meshes will invoke FindSurface, with an indicator (blue disk) appearing on the surface you've gazed.
Voice commands:
- “Tap” – Spatial tap (gazing & pinching). Invoke FindSurface.
- “Tap plane” – Plane selection.
- “Tap sphere” or “Tap ball” – Sphere selection.
- “Tap cylinder” – Cylinder selection.
- “Tap cone” – Cone selection.
- “Tap torus” or “Tap donut” – Torus selection.
- “Tap accuracy” or “Tap measurement accuracy” – Accuracy selection.
- “Tap mean distance”, “Tap average distance”, or “Tap distance” – Avg. Distance selection.
- “Tap touch radius” or “Tap seed radius” – Touch Radius selection.
- “Tap Inlier” – “Show inlier points” toggle.
- “Tap outline” – “Show geometry outline” toggle.
- “Tap clear” – “Clear Scene” click.
There was a delay in rendering the mesh triangle in the line of sight (ray-casting), so we tried to use the "LowLevelMesh" of visionOS 2.0. The problem is solved. We plan to apply "LowLevelMesh" to all mesh rendering, such as view-triangle, MeshAnchors, and object surface meshes.
Current speed of object surface extraction:
- Plane: 400 Hz
- Sphere/cylinder/cone/torus: 200 Hz.
The source code of the app is available: https://github.com/CurvSurf/FindSurface-RealityKit-visionOS-Response-to-Request