Creating Location AR Experiences with VPS
Lightship VPS lets you synchronize your device with real-world locations by locating and understanding real-world VPS-Activated Locations. Use Lightship VPS to create immersive experiences in which your users interact with persistent, shareable AR content at real-world locations. With Lightship VPS you can place virtual objects that persist in the real-world and can be found and shared by others.
This is a Public Beta feature and functionality may change in a future release. For more information on ARDK feature launch types like Public Beta, see Lightship Launch Types.
One example use case for VPS is a geo-caching AR game. Players can localize their devices at nearby VPS-Activated Locations. You can create and "hide" virtual objects at the location for other players to find.
VPS currently provides these features:
- VPS-Activated Locations are unique or notable, publicly accessible, real-world locations that Lightship VPS apps can engage with.
- VPS Coverage Areas are geographic regions where users can localize with VPS and interact with persistent AR content. A VPS Coverage Area shows the region around a VPS-Activated Location where users can localize.
- VPS Localization Targets are real-world features that users target with their device to localize. Currently, Localization Targets correspond to VPS-Activated Locations. In the future, the VPS Coverage API may also support other real world locations.
- The Geospatial Browser (Beta) allows you to search and find VPS-Activated Locations across the globe. You can select the location you want to use for your project and download the associated 3D mesh assets.
- Private Scans are private VPS locations in your surrounding area to test with using the Niantic Wayfarer App.
- The VPS Coverage API which lets you discover VPS-Activated Locations near a real-world location.
- Remote Content Authoring allows you to easily persist content at VPS-Activated locations. You can download a mesh from the Geospatial Browser, import it into Unity, and add an AR location. Then you can drag and drop content onto the real-world mesh and find it in the location later.
Niantic also provides the following to help you develop your VPS-enabled AR experience:
- The Niantic Wayfarer App allows you to capture and submit scans at real-world locations to improve the coverage of Lightship VPS. You can also use the app to create Private VPS Locations for your own rapid testing and development. Finally, the Wayfarer App can be used to test localization at VPS-Activated Locations and Private VPS Locations.
- A VPS developer portal on lightship.dev that lets you visualize VPS-Activated Locations and manage Private VPS Locations.
Lightship VPS APIs make requests to the VPS backend, which needs to receive user information such as user location and an ID unique to the user using your app to make the requests. To facilitate this, ARDK provides a User ID data element that’s automatically used in Lightship VPS requests. This User ID is considered private user data, and your app will need to provide privacy policies and guidance for handling private user data, as described in ARDK and Data Privacy.
Location Requirements
Locations 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.
Locations perform better on Lightship 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.
Scanning Best Practices
Scanned VPS-Activated Locations or Private VPS Locations should be no larger than a 10-meter diameter around the location. For example, a typical statue would work as a VPS-Activated Location. 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.
Remember to walk a full circle around the object and not just rotate around a single spot or wave the phone without actually moving. If the mesh that is generated on the device looks good, the 3D map constructed for VPS should be good too. Increasing the number of viewpoints the object is scanned from by moving around will make localization better. When moving as you scan keep in mind the following:
- Stand about 5 feet from your target object that you wish to scan and walk around it for 30s-1m, while keeping the target in view.
- Plan ahead to decide how you’ll move around the object or area that you want to scan. Make sure you have a clear path with as few obstructions as possible.
- Hold the device in Portrait mode. Move smoothly and avoid turning suddenly or bumping your device. This will improve tracking accuracy and reduce motion blur.
- Walk around the object you are scanning instead of standing in one location and moving your phone.
- You can revisit or rescan the same area multiple times, however, ensure your object/location fits into a 10-meter diameter sphere.
- Have your device camera looking straight at the area or object, not from a high or low angle.
Try to scan with optimal environment conditions. This includes:
- Avoid scanning when there are too many people around.
- Make sure your scene is well-lit. If you have to scan in a darker setting, it’s even more important to move slowly and smoothly.
Avoid uploading any scans that look incomplete or not representative of what you’re trying to scan.
The following video demonstrates some of these scanning best practices:
Best Practices for Private Scans
Scan an area which isn’t going to change throughout the day, where objects are not moving around too much. For example, if you scan your desk with your laptop on it and then remove the laptop while attempting a localization, things might fail.
- Before you submit the scan, verify that you’ve marked it as a Private scan.
- Avoid including people in your private scans to ensure the location is scanned accurately
- While saving the scan, select the Upload Later option instead of Upload Now. This option lets you review your Private Scan once more before uploading it, and/or verify you selected Private and not Public.
You are limited to submitting up to 10 private scans per week.
Nominating New Locations
If the location you’d like to use in your VPS experience does not currently exist on the Niantic Map, you can nominate it as a new location with the Wayfarer App. Once you’ve downloaded and installed the app, you can enter the location nomination flow from the map view. After entering the workflow, you will be prompted to submit a title, description, and photo, and confirm the new location. Your nomination will appear on the map and be ready for scanning within five minutes of submission.
Eligibility Criteria
In order to be selected as a location, nominations must:
- Meet at least one of the three eligibility criteria:
- A great place for exploration
- A great place for exercise
- A great place to be social with others
- Be a permanent physical, tangible, and identifiable place or object, or object that placemarks an area
- Be safe and publicly accessible by pedestrians (indoor or outdoor)
- Contain accurate information in the title, description, and photo
In order for a location to work well on Lightship VPS, it should meet the following criteria:
- Have a clear focal point that fits within a 10m diameter sphere. Statues, murals, and building facades are all great candidates.
- Have features that are distinct and consistent in appearance. A sandy beach, or a crowded patio space with moveable furniture will not work well.
- Have minimal features that are reflective or transparent. Areas dominated by large plate glass windows or mirrors will not work well.
For a list of rejection criteria for locations, see Rejection Criteria.
Why Location AR in ARDK 3?
Location AR in ARDK 3 has updated developer facing APIs. Developers can create location-based persistent AR experiences with little to no code with new Content Authoring tools.
With Location AR, you'll be able to use these features:
- Content Authoring - Author content remotely in Unity on a larger mesh downloaded from the Geospatial browser.
- User Generated Content (UGC) - Create content as a child of the AR Location at runtime. End users can persist content at any VPS-Activated location. Target localization to one location using a default anchor from the Coverage API.
- Localization Fanning - Fan out localizations to any VPS-Activated Location without targeting an anchor or pass multiple anchors to localize against one. (coming soon)
Content Authoring
You can import 3D meshes from the Geospatial Browser of specific locations and add them to the AR Location Manager in Unity and place digital content on top of it. When a user is at the VPS-Activated Location, they can find digital content that you’ve built on top of this location.
Check out the Location AR How-To for specific information on how to use Location AR with Content Authoring.