IP Library Granted Patent US 11,941,163
Granted Patent B2
US 11,941,163 · App. 17/586,622 · Granted Mar 26, 2024

Interaction engine for creating a realistic experience in virtual reality/augmented reality environments

Inventors: John Adrian Arthur Johnston (San Mateo, CA); Johnathon Scott Selstad (San Francisco, CA); Alex Marcolina (Los Angeles, CA)
Assignee: Ultrahaptics IP Two Limited
G06F3/011G02B27/00G06F1/163G06F3/017G06F3/0304G06T19/006G06T2215/16
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 11,941,163
App. No.
17/586,622
Granted
Mar 26, 2024
Kind
B2
Abstract

The technology disclosed relates to a method of realistic simulation of real world interactions as virtual interactions between a control object sensed acting in a three-dimensional (3D) sensory space and the virtual object in a virtual space that the control object interacts with. In particular, it relates to detecting free-form gestures of a control object in a three-dimensional (3D) sensory space and generating for display a 3D solid control object model for the control object during the free-form gestures, including sub-components of the control object and in response to detecting a free-form gesture of the control object in the 3D sensory space in virtual contact with the virtual object, depicting, in the generated display, the virtual contact and resulting motions of the virtual object by the 3D solid control object model.

Claims (33)

1. A method of determining a friction response to a soft contact collision between at least one of a set of virtual objects defined according to virtual object definitions and a portion of a colliding hand that collides in a logical frame defined by a real time physics engine (RTPE) including a simulation of rigid bodies in a physical system that satisfies a human visual system's expectations for interactions with virtual objects in a virtual environment, using real motions of one or more hands in a three-dimensional (3D) sensory space, the method including:

determining a first solution of interactions between at least one virtual object in a set of virtual objects simulated as rigid bodies and a representation of at least one hand, the first solution including a friction response to a soft contact collision between the at least one virtual object of the set of virtual objects and a portion of the at least one hand colliding with the at least one virtual object;

determining a second solution of interactions between the at least one virtual object in the set of virtual objects simulated as rigid bodies absent any effects of the at least one hand; and

integrating the first solution with the second solution; wherein results of the second solution are prioritized over results of the first solution.

2. The method of claim 1 , further including manipulating the at least one virtual object by

determining a motion to apply to the at least one virtual object as a rigid body based upon the integrating of the first solution with the second solution.

3. The method of claim 1 , further implementing, the friction response being in a direction that is different than a direction of motion being undertaken by the portion of the colliding hand.

4. The method of claim 1 , further implementing the friction response with a direction opposite to a velocity of a hand portion colliding with a virtual object encountering a soft contact.

5. The method of claim 1 , further implementing the friction response with a magnitude proportional to a velocity of a hand portion colliding with a virtual object encountering a soft contact.

6. The method of claim 1 , further implementing the friction response with a magnitude set to a defined selected amount.

7. The method of claim 6 , wherein the defined selected amount is selected to be larger than other forces simulated by the RTPE.

8. The method of claim 1 , further including the first solution providing expected resultant velocities for virtual objects including at least one expected resultant velocity of at least one virtual object in soft contact with a portion of a hand colliding with the virtual object.

9. The method of claim 1 , wherein the first solution provides expected resultant velocities for virtual objects including at least one expected resultant velocity of at least one virtual object in soft contact with the portion of a hand colliding with the virtual object, further including:

the second solution discarding results of the first solution whenever attributing the expected resultant velocity to a virtual object causes the virtual object to lose physical integrity.

10. The method of claim 1 , further including capturing the set of captured images of one or more hands in the three-dimensional (3D) sensory space and sensing a location of at least one hand using a video capturing sensor including at least one camera.

11. The method of claim 1 , further including performing the determining of the first solution in a first RTPE and the determining of the second solution in a second RTPE, the first RTPE being different from the second RTPE.

12. The method of claim 1 , further including permitting a portion of the colliding hand to partially penetrate a boundary defining a surface of a virtual object during a soft contact.

13. The method of claim 12 , further including: simulating in a brush contact phase a non-soft contact including a frictional force parallel to a surface of a virtual object and between at least one portion of a hand and a surface of the virtual object; and wherein the portion of the hand moves along and approximately parallel to the surface of the virtual object;

detecting a penetration by the portion of the hand into the virtual object exceeding a specified tolerance penetration for the portion of the hand; and

responsive to the detecting a penetration exceeding the specified tolerance penetration, switching simulation for the portion of the hand, the virtual object and any other portions of the hand within a specified radius into soft contact collision simulation including the determining the first solution, the determining the second solution and the integrating the first solution with the second solution.

14. The method of claim 13 , further including starting a timer; and reverting to the brush contact phase when expiry of the timer occurs indicating a state in which no portion of the hand is touching the virtual object.

15. The method of claim 1 , the determining the first solution including receiving positions, velocities and geometry of virtual objects and portions of at least one hand and returning velocities of virtual objects responsive to the hand.

16. The method of claim 1 , further implementing presenting across a display of a head mounted device a display of the at least one hand and the at least one virtual object as a rigid body.

17. The method of claim 1 , wherein the representation comprises a capsule representation.

18. The method of claim 1 , further implementing conducting first and second simulations in a subframe of a logical frame of the RTPE.

19. A non-transitory computer readable medium impressed with instructions for determining a friction response to a soft contact collision between at least one of a set of virtual objects defined according to virtual object definitions and a portion of a colliding hand that collides in a logical frame defined by a real time physics engine (RTPE) including a simulation of rigid bodies in a physical system that satisfies a human visual system's expectations for interactions with virtual objects in a virtual environment, using real motions of one or more hands in a three-dimensional (3D) sensory space, which instructions, when executed by one or more processors, perform:

determining a first solution of interactions between at least one virtual object in a set of virtual objects simulated as rigid bodies and a representation of at least one hand, the first solution including a friction response to a soft contact collision between the at least one virtual object of the set of virtual objects and a portion of the at least one hand colliding with the at least one virtual object;

determining a second solution of interactions between the at least one virtual object in the set of virtual objects simulated as rigid bodies absent any effects of the at least one hand; and

integrating the first solution with the second solution; wherein results of the second solution are prioritized over results of the first solution.

20. A system including: an imaging sensor and a controller including one or more processors and a computer readable medium storing instructions for determining a friction response to a soft contact collision between at least one of a set of virtual objects defined according to virtual object definitions and a portion of a colliding hand that collides in a logical frame defined by a real time physics engine (RTPE) including a simulation of rigid bodies in a physical system that satisfies a human visual system's expectations for interactions with virtual objects in a virtual environment, using real motions of one or more hands in a three-dimensional (3D) sensory space, which instructions, when executed by the one or more processors, perform:

determining a first solution of interactions between at least one virtual object in a set of virtual objects simulated as rigid bodies and a representation of at least one hand, the first solution including a friction response to a soft contact collision between the at least one virtual object of the set of virtual objects and a portion of the at least one hand colliding with the at least one virtual object;

determining a second solution of interactions between the at least one virtual object in the set of virtual objects simulated as rigid bodies absent any effects of the at least one hand; and

integrating the first solution with the second solution; wherein results of the second solution are prioritized over results of the first solution.

Assignments (6)
SECURITY INTEREST Recorded Apr 6, 2026
From: SIM IP HXR LLC
To: UNITY MASTER LLC SERIES XIX
Reel/Frame 075365/0907 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2026
From: ULTRAHAPTICS IP TWO LIMITED
To: SIM IP HXR LLC
Reel/Frame 075127/0665 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2026
From: ULTRAHAPTICS LIMITED; ULTRAHAPTICS IP LIMITED; ULTRAHAPTICS IP TWO LIMITED; ULTRALEAP LIMITED
To: SIM IP HXR LLC
Reel/Frame 074403/0943 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2022
From: JOHNSTON, JOHN ADRIAN ARTHUR; SELSTAD, JOHNATHON SCOTT; MARCOLINA, ALEX
To: LEAP MOTION, INC.
Reel/Frame 058799/0796 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2022
From: LEAP MOTION, INC.
To: LMI LIQUIDATING CO. LLC
Reel/Frame 058799/0823 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2022
From: LMI LIQUIDATING CO. LLC
To: ULTRAHAPTICS IP TWO LIMITED
Reel/Frame 058799/0860 →
Continuity (7)
Continuation 17103734 · Nov 24, 2020
Continuation 16588902 · Sep 30, 2019
Continuation 15605852 · May 25, 2017
Continuation In Part 15587173 · May 4, 2017
Continuation 14626898 · Feb 19, 2015
Provisional Application 62116366 · Feb 13, 2015
Related Publication 20220147137A1 · May 12, 2022