Lightship VPS Overview
With Visual Positioning System (VPS) 8th Wall developers now have the power to determine a user's position and orientation with centimeter-level accuracy - in seconds. Using the 8th Wall platform, you can use VPS in your WebAR projects to create location-based web AR experiences that connect the real world with the digital one. WebAR content can be anchored to locations, enabling virtual objects to interact with the space they are in. This makes the augmented reality experience feel more personal, more meaningful, more real, and gives users new reasons to explore the world around them.
The Geospatial Browser can be accessed from within your Project by selecting the map icon in the left hand menu (annotated as #1 in the image below). On this page you will find a map view (#2) which you can use to search to find VPS-activated Niantic Wayspots. Selecting a VPS-activated location will display the 3D mesh of the location (#3) so you can verify you have selected the correct location and add it to your project (#4).
When you add a VPS-activated Wayspot to your project you will see a Wayspot in the "Project Wayspots" table in the Geospatial Browser (annotated as #1 in the image below). Once you have a Wayspot in the “Project Wayspots” table you can use the "Download" button (#2) to download a GLB or OBJ (toggle shown as #3) version of the 3D mesh and open it in third-party 3D software applications, such as Blender, or import it directly into your 8th Wall project. When referencing Wayspots in your project code you will need to copy the "Name" field (#4) from the "Project Wayspots" table.
If the location you'd like to use in your project is not available as a Wayspot, you can submit Wayspot locations to Niantic by following the instructions in the Create New Wayspot section.
Create New Wayspot
Select a location on the map where you want to create a new Wayspot. (see Wayspot Requirements to learn more about choosing a good location to create a Wayspot).
Create Wayspot: Click the "Create Wayspot" button to start the process to create a new Wayspot.
- Check for Duplicates: Before creating a new Wayspot, you are required to check that your Wayspot doesn't already exist. Compare your desired Wayspot's location to others already on the map to ensure that you are not creating a duplicate. If this is not a duplicate Wayspot, you must check the "My Wayspot is not a duplicate" box and click on the "Next" button to continue.
- Add Wayspot Information: Wayspot metadata will be visible to developers using the Geospatial Browser and can be visible to end-users. Remember that Niantic's Trust & Safety team uses the information you provide to determine whether the Wayspot meets our criteria to be made publicly available. Once you have added the following information for the Wayspot you are tring to create, click on the “Submit” button:
- Title (125 characters)
- Description (250 characters)
- Category (1 or more)
- Image (if available)
- Your Wayspot should immediately be added to your Wayspot Submissions tab in the Geospatial Browser with the type "Pending" and the status "Not Activated". You can continue to scan and activate this Wayspot while your request to make this Wayspot "Public" is being processed. You can learn more about Wayspot types and statuses in the Wayspot Types section of the documentation.
Installing Niantic Wayfarer
The Niantic Wayfarer App requires iOS 12 or later and an iPhone 8 or later. A LiDAR-capable device is not required.
To install the Niantic Wayfarer App, go to Testflight for Niantic Wayfarer (8th.io/wayfarer-ios) on your iOS device.
The Niantic Wayfarer App requires the ARCore package.
To install the Niantic Wayfarer App, go to Niantic Wayfarer (8th.io/wayfarer-android) on your Android device.
Using Niantic Wayfarer
You can add scans to Public Wayspots as well as create Private Scans with the Niantic Wayfarer App.
Once you have installed the app, login with your 8th Wall credentials by pressing the Login with 8th Wall button.
If you have access to multiple workspaces, select a workspace by pressing the 8th Wall Workspace dropdown on the profile page.
|Login Page||Profile Page|
On the Map page, select a Wayspot to add a scan to a public Wayspot (1), or select Scan to add a private scan to your workspace (2).
Take a scan of the area using the recommended scanning technique.
|Map Page||Scanning Page|
Once the scan has been completed, select either public or private, and then upload.
|Scan Type||Scan Upload|
Processing scans can take 15-30 minutes. Once processed, scans will populate in the geospatial browser.
Issues related to scanning or processing should be directed to email@example.com.
You can find more information on how to use the Wayfarer app in the Lightship documentation.
Scanned VPS-activated locations should be no larger than a 10-meter diameter around the location. For example, a typical statue would work as a VPS-activated Wayspot. An entire building, however, would not. One face or doorway/entrance into a building might work. We recommend sticking with smaller areas for starters (e.g. a desk, statue, or mural).
Before scanning, be aware of your surroundings and ensure you have the right to access the location you are scanning.
- Check the area to be scanned and the surroundings of the scanned object to determine if there are any obstacles and to select a scanning route. It is necessary to plan the route you intend to use for scanning before starting the procedure.
- Make sure your camera is in focus. Camera shake can negatively affect 3D reconstruction. Keep your phone as close to your side as possible to avoid blurring. Walk around the object you are scanning instead of standing in one location and moving your phone.
- Walk at a slow and natural stroll pace. Move slowly and smoothly during scanning. Sudden changes of direction are a definite no-no. Move slowly and smoothly with your feet on the ground. If you are scanning in a darker setting, it’s even more important to move slowly and smoothly. Move the phone with you while you are moving (think crab walk).
- Wayspot should always be the focal point. In order for us to build the map, it's important to focus on the Wayspot and capture the full 360° orbit of it. If it is not safe or not possible to get 360° coverage, capture as much as you can.
- Vary your distance/angles (0-10m or 0-35ft). In order for the 3D map to work well in different scenarios, it’s important that we capture the environment around the Wayspot and have a variety of different scans. It’s important to vary your distance and angles while scanning the Wayspot.
Video of recommended Wayspot scanning technique:
Things to avoid while scanning
- Avoid scanning while the surroundings are not safe, e.g. in the middle of the road, or in a playground with children.
- Avoid scanning while the Wayspot is too far away (>10m or 35ft) or too big to focus your camera on.
- Avoid scanning while you are casually taking a walk or jogging. It is important to keep the Wayspot as your focal point at all times.
- Avoid pointing your phone at very bright objects such as a fluorescent light or the sun.
- Avoid not moving or moving too fast while scanning. Abrupt motions will cause offsets in the reconstruction.
- Avoid scanning if your phone gets too hot. If the temperature of the device rises too high, the performance of the device will be greatly reduced, which will negatively affect the scan.
- Avoid uploading any scans that look incomplete or not representative of what you're trying to scan.
Private scans are a single mesh, available to only one workspace, to develop and test VPS experiences. While private scans are a great solution for developing and testing VPS experiences while a public Wayspot is being nominated or activated, they are not authorized for use in published projects.
Private scans are created using the Niantic Wayfarer app. Ensure you’re logged in to Wayfarer using 8th Wall credentials and that the correct workspace is selected from the Profile page. The private scan will only be available in the selected 8th Wall workspace at the time of scanning and uploading. Scans can not be moved to a different workspace or Lightship account.
In the Wayfarer app, select Scan and take a scan of the area.
Private scans should be 60 seconds or less; a new mesh is generated every 60 seconds – so scanning for 120 seconds will result in 2 private scans. All private scans are unaligned.
Once processed, you can preview the mesh and add it to your project from the geospatial browser Private Scans tab.
If your private scan fails processing, you may need to rescan. Reach out to firstname.lastname@example.org for more information.
In the Geospatial Browser, you will see four different types of Wayspots:
|Public||"Public" Wayspots have been approved by Niantic's Trust & Safety team and have met the required criteria of safety and public accessibility. These Wayspots may be used in published projects.|
|Pending||"Pending" Wayspots are being reviewed by Niantic's Trust & Safety team to determine if they meet the required criteria of safety and public accessibility. This process can take up to 2 business days. Pending Wayspots can be scanned and activated while waiting for the review to complete.|
|Rejected||"Rejected" Wayspots may have failed Niantic's Trust & Safety review, be a duplicate of an existing or previously rejected Wayspot, or may not be allowed by Niantic for another reason. These Wayspots cannot be added to projects.|
|Private||"Private" Waystpots are only accessible to your Workspace by scanning the location using Niantic's Wayfarer app. Private Wayspots are intended for use during development and may not be included in a published project.|
For questions or issues related to creating Wayspots, or status of existing Wayspots, please contact email@example.com
In the Geospatial Browser, you will see five different statuses for Wayspots:
|Not Activated||Wayspots with a status of 'Not Activated' have not had any scans submitted for the location. A minimum of 10 viable scans must be submitted for the location before you will be able to request activation. After one scan is submitted the Wayspot status will change to 'Scanning'.|
|Scanning||Wayspots with a status of 'Scanning' have had at least one scan submitted for the location. A minimum of 10 viable scans must be submitted for the location before you will be able to request activation.|
|Processing||Wayspots with a status of 'Processing' have had an activation request submitted and will display the 'Processing' status until the activation process has completed. Typically, an activation request is completed within 4 hours. You will receive and email when the process is complete.|
|Active||Wayspots with a status of 'Active' are available to be used in projects to create WebAR content using VPS for Web.|
|Failed||Wayspots with a status of 'Failed' encountered an issue during the activation process. This could be a result of a number of factors, such as poor suitability of the location for VPS, insufficient scans, or corrupt data. Unfortunately this means that this Wayspot cannot be used to create WebAR content using VPS. We encourage you to find a new Wayspot to use in your 8th Wall project.|
For questions or issues related to Wayspot scanning, activating or status, please contact firstname.lastname@example.org
Wayspots will only be approved and made publicly available if they meet the following criteria:
- Are a permanent physical, tangible, and identifiable place or object, or object that placemarks an area.
- Are safe and publicly accessible by pedestrians (indoor or outdoor).
- Contain accurate information in the title, description, and photo.
Wayspots perform better on VPS, when they also meet the following criteria:
- Have a clear focal point that fits within a 10m diameter sphere.
- Have features that are distinct and consistent in appearance. (Ex. A sandy beach, or a crowded patio space with moveable furniture will not work well.)
- Have minimal features that are reflective or transparent.
There is no limit to the number of Wayspots that can be associated with an 8th Wall project. Wayspots are localized server side via the VPS service.
8th Wall emits events at various stages in the Project Wayspot lifecycle (e.g. scanning, found, updated, lost, etc). Please see the API reference for specific instructions on handling these events in your web application:
After a Wayspot has been VPS activated, Niantic provides a quality rating in the Geospatial browser. Wayspot details display either Fair Quality or Good Quality.
Wayspot Quality refers to the Wayspot’s ability to localize at any time. Wayspots with several scans in all types of lighting tend to have a higher quality. Wayspots with minimum required scans or a majority of scans in one type of lighting tend to have a lower quality.
Quality rating is an automated process and may not reflect the actual performance of the Wayspot. The best way to determine quality is to try it out yourself.
The unaligned warning can happen for various reasons and means localization against the mesh can not be guaranteed. Although the mesh may work well for localization, the warning indicates the mesh is experimental and should be used at your own risk.
Note: All private scans are unaligned.
Enabling Lightship VPS
To enable VPS in your WebAR project, you'll need to set
For A-Frame projects, set
enableVps: true on the
xrweb component on the
For Non-AFrame projects, set
enableVps: true in the call to
to engine start.
Example - AFrame
Example - Non-AFrame
// Then, start the 8th Wall engine
What is Lightship VPS?
Lightship VPS (Visual Positioning System) is a cloud service that enables applications to localize a user's device at real-world locations, enabling users to interact with persistent AR content and powering new immersive experiences. VPS determines the device's position and orientation (pose) by referencing map data that exists in Niantic's cloud.
How does VPS work?
When a device makes a call to the VPS service, the service takes a query image from the user's device along with their GPS location as inputs and attempts to localize them using the map(s) that exist at that location. If localization is successful, then the service returns the device's position and orientation (pose) corresponding with the timestamp of the image that was transmitted. Because there is a time delay between when a VPS query image is captured and when a response is received from the VPS service, the device needs to have a motion tracking system in order to stay accurately localized while moving. When the VPS service returns a pose estimate to the device, the difference in pose from the device's tracking system is added to the localization response so that VPS can “keep up” with how the device moved during the request.
What is a scan?
AR scans from players, developers, and surveyors are the fundamental ingredient that Niantic uses to build its AR map of the world. AR scans are recorded and uploaded using Niantic's AR scanning framework, which is a module used inside Pokemon Go, Ingress, and the Wayfarer App, and can now be integrated by developers with ARDK 2.5 and beyond. Each AR scan consists of a series of video frames with supporting data from accelerometers and GPS sensors that construct a 3D model of the world from multiple 2D images. AR scans are used by Niantic to build maps and meshes of real-world locations.
What is a map?
In VPS parlance, a map is the data artifact that is used to localize your device when the VPS API is called. A map can be thought of as a function that takes an image as input and then returns position and orientation as output. The map that corresponds to a given location is created from the scans that were uploaded at that location. VPS maps are not human-readable.
What is a mesh?
In VPS parlance, a mesh is a 3D model of a real-world location or object. Meshes provide a detailed representation of a physical space or object, and are useful for understanding what a location looks like and as a reference for authoring AR content. Meshes can also be used by some applications for tracking purposes. Like maps, meshes that correspond to a given location are created from the scans that were uploaded at that location. Meshes are both human- and machine-readable.
Where can I use VPS?
VPS is available at over 100,000 real-world locations, with more locations being added every day. In order for a location to be available on VPS, a sufficient amount of AR scan data must be uploaded at that location and the VPS activation process must be completed.
How does VPS activation work?
For a location to be eligible for VPS activation, it must have at least 10 scans uploaded that pass minimum quality checks, and the time difference between the oldest and newest scans at the location must be at least 5 hours. These requirements ensure that the resulting maps and meshes are high-quality enough and capture enough variation that users will be able to localize reliably. The VPS activation process runs on Niantic's AR mapping infrastructure and involves many complex steps. From the pool of eligible scans at the Wayspot, an algorithm selects most of the scans to use for building maps and meshes, and the remaining handful for validation and measuring localization quality. The activation process usually takes a few hours to complete.
Can I find my scans after VPS activation is done?
During the activation process, the maps and meshes created from the uploaded scans are fused together in order to incorporate as much information as possible. The final product, that is used by developers to author content and by users to localize, consists of scans from many different sources. Scan data are mixed together to create a more comprehensive representation of the location, so there is not a one-to-one relationship between the scans that are uploaded at a location and the maps and meshes that area created once it is VPS-activated.
Can I add more scans to a location that's already activated?
In some cases, developers may wish to add additional scans to a location that was previously activated in order to improve the quality and the coverage of the location's maps and meshes. In order for a Wayspot to be eligible for "reactivation," it must have had at least 5 additional scans uploaded since the last time it was activated. Importantly, it is not yet possible to add new scans to an existing fused map, rather, the process of reactivating requires a new fused map to be built that incorporates the new scans in the context of the existing ones.
How do I request VPS activation of a new location?
Once a location has enough scans uploaded to meet the VPS activation requirements (at least 10 total scans with at least a 5-hour time difference between the oldest and newest scans), developers can request VPS activation by selecting the location in the Wayfarer App or the Geospatial Browser and pressing the “activate” button. This will add the location to the activation queue. Typically, an activation request is completed within 4 hours. Developers also have the option to request reactivation of an existing location once 5 additional scans are uploaded.
Does VPS work at night or in poor weather conditions?
VPS works best when there is good visibility. In order to maximize the likelihood of successful VPS-powered experiences, it is best to upload many AR scans that cover a wide swath of different conditions (e.g. different times of day, different weather conditions, etc.). If you are building an experience in a location that gets a lot of rain, having some scans from a rainy day is very helpful.
Do AR scanning and VPS require phones with LiDAR sensors?
AR scanning and VPS do not require LiDAR.