IP Library Granted Patent US 12,645,284
Granted Patent B2
US 12,645,284 · App. 17/392,825 · Granted Jun 2, 2026

Object positioning and movement in three dimensional content

Inventors: Austin C. Germer (Novato, CA); Gregory Duquesne (Belmont, CA); Novaira Masood (Sunnyvale, CA); Ryan S. Burgoyne (Sunnyvale, CA)
Assignee: Apple Inc.
G06F3/011G06F3/04815G06T19/00G06T2210/21
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,645,284
App. No.
17/392,825
Granted
Jun 2, 2026
Kind
B2
Abstract

Various implementations disclosed herein include devices, systems, and methods that enable more intuitive and efficient positioning of an object in a 3D layout, for example, in an enhanced reality (ER) setting providing on a device. In some implementations, objects are automatically positioned based on simulated physics that is selectively enabled during the positioning of the object. In some implementations, objects are automatically positioned based on simulated physics and alignment rules. In some implementations, objects are automatically grouped together based on criteria such that a first object that is grouped with a second object moves with the second object automatically in response to movement of the second object but is moveable independent of the second object.

Claims (60)

1 . A method, comprising:

at an electronic device having a processor:

obtaining input selecting an object to be added to content being developed via a user interface of a 3D content development environment;

displaying the object in a three dimensional (3D) graphical layout in the user interface of the 3D content development environment, wherein graphical indicators identify the displayed object and other objects with which the object can interact according to at least one simulated physics model;

obtaining input initiating positioning of the displayed object at a position in the 3D graphical layout in the user interface of the 3D content development environment;

adjusting the position of the displayed object using the at least one simulated physics model and an alignment criterion that results in the displayed object changing orientation to be directionally aligned with a second object; and

after adjusting the position of the displayed object, disabling the at least one simulated physics model for the displayed object, wherein the at least one simulated physics model is disabled based on user input associated with a user interface element.

2 . The method of claim 1 , wherein the obtaining the input initiating positioning of the displayed object in the 3D layout comprises obtaining 3D movement of an input object using an image sensor operatively coupled to the processor of the electronic device.

3 . The method of claim 1 , wherein adjusting the position of the displayed object comprises translating in the 3D graphical layout according to simulated gravity.

4 . The method of claim 1 , wherein adjusting the position of the displayed object comprises translating the displayed object according to a collision of the displayed object with another object in the 3D graphical layout.

5 . The method of claim 1 , wherein adjusting the position of the displayed object comprises:

determining whether the displayed object and a second displayed object share a common classification in an object taxonomy, and in accordance with a determination that the displayed object and the second displayed object share a common classification, translating at least one of the displayed object and the second displayed object towards one another.

6 . The method of claim 1 , further comprising:

identifying a plane in the 3D graphical layout, and wherein adjusting the position of the displayed object using at least one simulated physics model comprises moving the displayed object onto the plane.

7 . The method of claim 1 further comprising: grouping the displayed object and a second displayed object, wherein grouping the displayed object and the second displayed object comprises:

moving the second displayed object together with the displayed object responsive to input representing movement of the displayed object; and

maintaining the position of the displayed object responsive to input representing movement of the second displayed object.

8 . A non-transitory computer-readable storage medium, storing instructions executable on a device to perform operations comprising:

obtaining input selecting an object to be added to content being developed via a user interface of a 3D content development environment;

displaying the object in a three dimensional (3D) graphical layout in the user interface of the 3D content development environment, wherein graphical indicators identify the displayed object and other objects with which the object can interact according to at least one simulated physics model:

obtaining input initiating positioning of the displayed object at a position in the a three dimensional (3D) graphical layout in the user interface of the 3D content development environment;

adjusting the position of the displayed object using the at least one simulated physics model and an alignment criterion that results in the displayed object changing orientation to be directionally aligned with a second object; and

after adjusting the position of the displayed object, disabling the at least one simulated physics model for the displayed object, wherein the at least one simulated physics model is disabled based on user input associated with a user interface element.

9 . The non-transitory computer-readable storage medium of claim 8 , wherein the obtaining the input initiating positioning of the displayed object in the 3D layout comprises obtaining 3D movement of an input object using an image sensor.

10 . The non-transitory computer-readable storage medium of claim 8 , wherein adjusting the position of the displayed object comprises translating in the 3D graphical layout according to simulated gravity.

11 . The non-transitory computer-readable storage medium of claim 8 , wherein adjusting the position of the displayed object comprises translating the displayed object according to a collision of the displayed object with another object in the 3D graphical layout.

12 . The non-transitory computer-readable storage medium of claim 8 , wherein adjusting the position of the displayed object comprises:

determining whether the displayed object and a second displayed object share a common classification in an object taxonomy, and in accordance with a determination that the displayed object and the second displayed object share a common classification, translating at least one of the displayed object and the second displayed object towards one another.

13 . The non-transitory computer-readable storage medium of claim 8 , wherein the operations further comprise:

identifying a plane in the 3D graphical layout, and wherein adjusting the position of the displayed object using at least one simulated physics model comprises moving the displayed object onto the plane.

14 . The non-transitory computer-readable storage medium of claim 8 , wherein the operations further comprise grouping the displayed object and a second displayed object, wherein grouping the displayed object and the second displayed object comprises:

moving the second displayed object together with the displayed object responsive to input representing movement of the displayed object; and

maintaining the position of the displayed object responsive to input representing movement of the second object.

15 . A system comprising:

a non-transitory computer-readable storage medium; and

one or more processors coupled to the non-transitory computer-readable storage medium, wherein the non-transitory computer-readable storage medium comprises program instructions that, when executed on the one or more processors, cause the system to perform operations comprising:

obtaining input selecting an object to be added to content being developed via a user interface of a 3D content development environment;

displaying the object in a three dimensional (3D) graphical layout in the user interface of the 3D content development environment, wherein graphical indicators identify the displayed object and other objects with which the object can interact according to at least one simulated physics model;

obtaining input initiating positioning of the displayed object at a position in the 3D graphical layout in the user interface of the 3D content development environment;

adjusting the position of the displayed object using the at least one simulated physics model and an alignment criterion that results in the displayed object changing orientation to be directionally aligned with a second object; and

after adjusting the position of the displayed object, disabling the at least one simulated physics model for the displayed object, wherein the at least one simulated physics model is disabled based on user input associated with a user interface element.

16 . The system of claim 15 , wherein the obtaining the input initiating positioning of the displayed object in the 3D layout comprises obtaining 3D movement of an input object using an image sensor.

17 . The system of claim 15 , wherein adjusting the position of the displayed object comprises translating in the 3D graphical layout according to simulated gravity.

18 . The system of claim 15 , wherein adjusting the position of the displayed object comprises translating the displayed object according to a collision of the displayed object with another object in the 3D graphical layout.

19 . The system of claim 15 , wherein adjusting the position of the displayed object comprises:

determining whether the displayed object and a second displayed object share a common classification in an object taxonomy, and in accordance with a determination that the displayed object and the second displayed object share a common classification, translating at least one of the displayed object and the second displayed object towards one another.

20 . The system of claim 15 , wherein the operations further comprise:

identifying a plane in the 3D graphical layout, and wherein adjusting the position of the displayed object using at least one simulated physics model comprises moving the displayed object onto the plane.

21 . The method of claim 1 , wherein graphical indicators distinguish:

a first set of objects with respect to which the displayed object can interact via physics-based interactions; and

a second set of objects with respect to which the displayed object cannot interact via physics-based interactions.

22 . The method of claim 1 , wherein the alignment criteria specify different alignment rules for different sides of the second object.

23 . The method of claim 1 , wherein the alignment criteria specify an orientation of a directional vector associated with the displayed object relative to the second object.

24 . The method of claim 1 , wherein the alignment criteria specify that the displayed object face a side of the second object.

25 . The method of claim 1 , wherein the alignment criteria specify that the displayed object be positioned within a bounding box associated with the second object.

26 . The method of claim 1 , wherein the alignment criteria specify that the displayed object be positioned within a bounding box associated with a particular side of the second object.

27 . The method of claim 1 , wherein the alignment criteria are stored as object-specific metadata.

28 . The method of claim 1 , wherein the alignment criteria comprise multiple alignment rules applicable to positioning the displayed object in a particular circumstance.

29 . The method of claim 1 , wherein the displayed object is aligned with the second object based on applying multiple alignment rules according to alignment rule priorities that account for conflicting alignment rules.

30 . The method of claim 1 , wherein the displayed object is aligned by complying with the alignment criteria in a way determined to not conflict with a physical constraint.

Continuity (3)
Continuation PCTUS2020016914 · Feb 6, 2020
Provisional Application 62802978 · Feb 8, 2019
Related Publication 20210365107A1 · Nov 25, 2021
References Cited (64)
US 5680619A · Gudmundson · 1997 [cited by examiner]
US 6014145A · Bardon · 2000 [cited by examiner]
US 6377263B1 · Falacara · 2002 [cited by examiner]
US 8704823B1 · Waggoner · 2014 [cited by examiner]
US 9058058B2 · Bell · 2015 [cited by examiner]
US 9329469B2 · Benko · 2016 [cited by examiner]
US 9740383B2 · Swindell · 2017 [cited by examiner]
US 9928661B1 · Kinstner · 2018 [cited by examiner]
US 10754422B1 · Hoyt · 2020 [cited by examiner]
US 10926176B1 · Snyder · 2021 [cited by examiner]
US 20030132973A1 · Hughes · 2003 [cited by examiner]
US 20050253846A1 · Russ · 2005 [cited by examiner]
US 20060149516A1 · Bond · 2006 [cited by examiner]
US 20080010041A1 · McDaniel · 2008 [cited by examiner]
US 20090079734A1 · McDaniel · 2009 [cited by examiner]
US 20090099824A1 · Falash · 2009 [cited by examiner]
US 20090253517A1 · Bererton · 2009 [cited by examiner]
US 20090307623A1 · Agarawala · 2009 [cited by examiner]
US 20110113383A1 · Dyack · 2011 [cited by examiner]
US 20120229391A1 · Skinner · 2012 [cited by examiner]
US 20130127878A1 · Tijssen · 2013 [cited by examiner]
US 20130147794A1 · Lee · 2013 [cited by examiner]
US 20130286004A1 · McCulloch · 2013 [cited by examiner]
US 20130305218A1 · Hirsch · 2013 [cited by examiner]
US 20140031103A1 · Amano · 2014 [cited by examiner]
US 20140287397A1 · Chong · 2014 [cited by examiner]
US 20140289703A1 · Mueller · 2014 [cited by examiner]
US 20150310643A1 · Rzeszotarski · 2015 [cited by examiner]
US 20160049003A1 · Shuster · 2016 [cited by examiner]
US 20160071320A1 · Smith · 2016 [cited by examiner]
US 20160179336A1 · Ambrus · 2016 [cited by examiner]
US 20160364088A1 · Bejot · 2016 [cited by examiner]
US 20170031502A1 · Rosenberg · 2017 [cited by examiner]
US 20170038830A1 · Clement · 2017 [cited by examiner]
US 20170104661A1 · Anastasi · 2017 [cited by applicant]
US 20170357407A1 · Palmaro · 2017 [cited by examiner]
US 20180045963A1 · Hoover · 2018 [cited by examiner]
US 20180046738A1 · Park · 2018 [cited by examiner]
US 20180060948A1 · Mattingly · 2018 [cited by examiner]
US 20180082486A1 · Hagbi · 2018 [cited by examiner]
US 20180189974A1 · Clark · 2018 [cited by examiner]
US 20180268609A1 · Schneider · 2018 [cited by examiner]
US 20190065642A1 · Simic · 2019 [cited by examiner]
US 20190371071A1 · Lyons · 2019 [cited by examiner]
US 20190378340A1 · Chia · 2019 [cited by examiner]
US 20200098154A1 · Marinier · 2020 [cited by examiner]
US 20200150750A1 · Suzuki · 2020 [cited by examiner]
US 20200387289A1 · Dunn · 2020 [cited by examiner]
US 20210042023A1 · Kerber, III · 2021 [cited by examiner]
US 20210064122A1 · Fujinawa · 2021 [cited by examiner]
US 20210089628A1 · Mitrovic · 2021 [cited by examiner]
US 20210089629A1 · Mitrovic · 2021 [cited by examiner]
US 20240025035A1 · Ganguly · 2024 [cited by examiner]
KR 101608172B · 2016 [cited by applicant]
KR 1020180070681A · 2018 [cited by applicant]
TW 200513959A · 2005 [cited by applicant]
WO 2015050826A1 · 2015 [cited by applicant]
PCT, European Patent Office (ISA/EP), International Search Report and Written Opinion, International Application No. PCT/US2020/016914, 12 pages (May 15, 2020). [cited by applicant]
Korean Intellectual Property Office, Notice of Preliminary Rejection (with English translation), Korean Patent Application No. 10-2021-7024817, 14 pages, Apr. 22, 2024. [cited by applicant]
Chen, Long et al., “Context-Aware Mixed Reality: A Framework for Ubiquitous Interaction,” arXiv preprint arXiv:1803.05541, 11 pages, Mar. 14, 2018. [cited by applicant]
Nuernberger, Benjamin et al., “SnapToReality: Aligning Augmented Reality to the Real World,” Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems, 12 pages, May 7, 2016. [cited by applicant]
China National Intellectual Property Administration, Patent Search Report (with English translation), Chinese Patent Application No. 202080013118.1 , 4 pages, Jul. 10, 2024. [cited by applicant]
China National Intellectual Property Administration, Chinese Office Action issued Jan. 17, 2024 which pertains to Chinese Patent Application No. 2020800131181. 4 pgs. [cited by applicant]
Intellectual Property India, Examination Report, Indian Patent Application No. 202117035962, 7 pages, May 10, 2022. [cited by applicant]