IP Library Granted Patent US 12,246,254
Granted Patent B2
US 12,246,254 · App. 17/877,562 · Granted Mar 11, 2025

Maintaining object alignment in 3D map segments

Inventors: Ben Benfold (Oxford, GB); Victor Adrian Prisacariu (Oxford, GB); Daniel Knoblauch (San Francisco, CA)
Assignee: Niantic, Inc.
A63F13/5378
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,246,254
App. No.
17/877,562
Granted
Mar 11, 2025
Kind
B2
Abstract

A method of determining a position for a virtual object is described. A location of a client device is determined, and, based on the determined location a set of map segments is retrieved. A virtual object is determined to be displayed on the client device. Relation vectors between the virtual object and each map segment of the retrieved set of map segments are obtained. Each relation vector is weighted based on object parameters of the virtual object. A position to display the virtual object is determined based on the weighted relation vectors. The virtual object is provided for display on the client device as the determined position.

Claims (38)

1. A method for displaying a virtual object comprising:

determining a location of a client device;

retrieving, based on the location of the client device, a set of map segments;

determining a virtual object to display on the client device;

obtaining a relation vector between the virtual object and each map segment of the set of map segments;

weighting each relation vector based on object parameters of the virtual object;

determining a position to display the virtual object based on the weighted relation vectors; and

providing the virtual object for display on the client device at the determined position.

2. The method of claim 1 , wherein the set of retrieved map segments is a set of map segments that represent an area of the real world that is within a threshold distance of the determined location of the client device.

3. The method of claim 1 , further comprising obtaining a relation vector between the virtual object to be displayed and a second virtual object, the second virtual object within the retrieved set of map segments.

4. The method of claim 1 , wherein determining a virtual object to display is based on the location of the client device.

5. The method of claim 1 , wherein determining a virtual object to display is based on a game event.

6. The method of claim 1 , wherein, responsive to the object parameters indicating a strong positional relationship between the virtual object and a physical object, a weight of a relation vector for a map segment that includes a representation of the physical object is approximately one and remaining relation vectors are approximately zero.

7. The method of claim 1 , wherein, responsive to the object parameters indicating a strong positional relationship between the virtual object and another virtual object, the relation vectors are weighted approximately evenly.

8. The method of claim 1 , wherein providing the virtual object for display comprises transmitting instructions to the client device, the instructions comprising a position on a display of the client device corresponding to the determined position of the virtual object.

9. The method of claim 1 , wherein each map segment includes a point cloud or mesh.

10. The method of claim 1 , further comprising:

updating relative positions of the map segments; and

redetermining the position at which to display the virtual object using the updated relative positions of the map segments and the weighted relation vectors.

11. A non-transitory computer-readable storage medium storing instructions for determining a position to display a virtual object that, when executed by a computer system, cause the computer system to perform operations comprising:

determining a location of a client device;

retrieving, based on the location of the client device, a set of map segments;

determining a virtual object to display on the client device;

obtaining a relation vector between the virtual object and each map segment of the set of map segments;

weighting each relation vector based on object parameters of the virtual object;

determining a position to display the virtual object based on the weighted relation vectors; and

providing the virtual object for display on the client device at the determined position.

12. The non-transitory computer-readable medium of claim 11 , wherein the set of retrieved map segments is a set of map segments that represent an area of the real world that is within a threshold distance of the determined location of the client device.

13. The non-transitory computer-readable medium of claim 11 , further comprising obtaining a relation vector between the virtual object to be displayed and a second virtual object, the second virtual object within the retrieved set of map segments.

14. The non-transitory computer-readable medium of claim 11 , wherein determining a virtual object to display is based on the location of the client device.

15. The non-transitory computer-readable medium of claim 11 , wherein determining a virtual object to display is based on a game event.

16. The non-transitory computer-readable medium of claim 11 , wherein, responsive to the object parameters indicating a strong positional relationship between the virtual object and a physical object, a weight of relation vector for a map segment that includes a representation of the physical object is approximately one and remaining relation vectors are approximately zero.

17. The non-transitory computer-readable medium of claim 11 , wherein, responsive to the object parameters indicating a strong positional relationship between the virtual object and another virtual object, the relation vectors are weighted approximately evenly.

18. The non-transitory computer-readable medium of claim 11 , wherein providing the virtual object for display comprises transmitting instructions to the client device, the instructions comprising a position on a display of the client device corresponding to the determined position of the virtual object.

19. The non-transitory computer-readable medium of claim 11 , wherein each map segment includes a point cloud or mesh.

20. The non-transitory computer-readable medium of claim 11 , wherein the operations further comprise:

updating relative positions of the map segments; and

redetermining the position at which to display the virtual object using the updated relative positions of the map segments and the weighted relation vectors.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2025
From: NIANTIC, INC.
To: NIANTIC SPATIAL, INC.
Reel/Frame 071555/0833 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2023
From: NIANTIC INTERNATIONAL TECHNOLOGY LIMITED
To: NIANTIC, INC.
Reel/Frame 064408/0956 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2023
From: KNOBLAUCH, DANIEL
To: NIANTIC, INC.
Reel/Frame 063356/0141 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2023
From: BENFOLD, BEN; PRISACARIU, VICTOR ADRIAN
To: NIANTIC INTERNATIONAL TECHNOLOGY LIMITED
Reel/Frame 063356/0163 →
Continuity (1)
Related Publication 20240033631A1 · Feb 1, 2024
References Cited (9)
US 20130271488A1 · Stirbu et al. · 2013 [cited by applicant]
US 20190178673A1 · Strawn et al. · 2019 [cited by applicant]
US 20190371067A1 · Simari · 2019 [cited by examiner]
US 20200051327A1 · Dolan et al. · 2020 [cited by applicant]
US 20200158529A1 · Zhang et al. · 2020 [cited by applicant]
US 20200242818A1 · Liu et al. · 2020 [cited by applicant]
US 20210102820A1 · Le · 2021 [cited by examiner]
US 20230247096A1 · Segal · 2023 [cited by examiner]
PCT International Search Report and Written Opinion, PCT Application No. PCT/IB2023/057721, Oct. 26, 2023, 8 pages. [cited by applicant]