Holding and releasing virtual objects

US12042718B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12042718-B2
Application numberUS-202117409357-A
CountryUS
Kind codeB2
Filing dateAug 23, 2021
Priority dateOct 11, 2016
Publication dateJul 23, 2024
Grant dateJul 23, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques and devices for determining how to present the release of the virtual object based at least in part on received sensor data is described herein. For example, when the hardware and/or software determines that the virtual object is to be released, the hardware and/or software may calculate one or more of a velocity of the object (e.g., speed and direction), a position at which the virtual object is to be released, a trajectory of the virtual object from the position of release to the landing point of the virtual object, a landing location of the virtual object, and/or the like. The hardware and/or software may then present the virtual object being released according to this determined information.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: determining, at a first time and based at least in part on sensor data from a handheld controller, that a virtual object is to be released; determining a highest velocity of the handheld controller within a predetermined time range, the predetermined time range based at least in part on the first time; determining that the highest velocity within the predetermined time range occurred at a second time; determining information associated with at least one of the handheld controller or the virtual object at the second time; and causing a display to present the virtual object based at least in part on the information associated with the at least one of the handheld controller or the virtual object at the second time. 2. The method as recited in claim 1 , further comprising determining the predetermined time range at least partly in response to the determining that the virtual object is to be released, the predetermined time range comprising a time range prior to the first time. 3. The method as recited in claim 1 , wherein: the determining the information comprises determining at least one of a speed of the handheld controller at the second time, a direction of the handheld controller at the second time, a position of the handheld controller at the second time, or a rotational velocity of the virtual object at the second time; and the causing comprises causing the display to present the virtual object based at least in part on the at least one of the speed of the handheld controller at the second time, the direction of the handheld controller at the second time, the position of the handheld controller at the second time, or the rotational velocity of the virtual object at the second time. 4. The method as recited in claim 1 , further comprising: determining at least one of a velocity of the handheld controller at a third time prior to the second time or a velocity of the handheld controller at a fourth time after the second time; and calculating an average of the highest velocity and the at least one of the velocity of the handheld controller at the third time or the velocity of the handheld controller at the fourth time; and wherein the causing comprises causing the display to present the virtual object being released at a velocity corresponding to the average. 5. The method as recited in claim 1 , further comprising: determining a position of the virtual object at the second time; and wherein the causing comprises causing the display to present the virtual object being released from a position that is based at least in part on the position of the virtual object at the second time. 6. The method as recited in claim 1 , wherein: the determining the information comprises determining, from the highest velocity, a direction of the handheld controller at the second time; and the causing comprises causing the display to present the virtual object being released in a direction that is based at least in part on the direction of the handheld controller at the second time. 7. The method as recited in claim 1 , further comprising: calculating a trajectory of the virtual object using at least the highest velocity; and wherein the causing comprises causing the display to present the virtual object being released based at least in part on the trajectory. 8. The method as recited in claim 1 , further comprising: calculating a landing location of the virtual object using at least the highest velocity and a position of the virtual object at the second time; and wherein the causing comprises causing the display to present the virtual object landing at the landing location. 9. The method as recited in claim 1 , further comprising: calculating a landing location of the virtual object using at least the highest velocity and a position of the virtual object at the second time; determining a position of the virtual object at a current time; and calculating a trajectory from the position of the virtual object at the current time to the calculated landing location; and wherein the causing comprises causing the display to present the virtual object travelling along the calculated trajectory. 10. The method as recited in claim 1 , wherein: the first time is associated with a first frame; and the determining the highest velocity of the handheld controller within the predetermined time range comprises determining the highest velocity of the handheld controller within a predetermined amount of frames immediately prior to the first frame. 11. A system comprising: one or more processors; and one or more non-transitory computer-readable media storing computer-executable instructions that, when executed, cause the one or more processors to perform acts comprising: determining, based at least in part on sensor data from a handheld controller, that a virtual object is to be released; determining a highest velocity of the handheld controller within a predetermined time range; identifying a time within the predetermined time range at which the highest velocity of the handheld controller occurred; determining information associated with at least one of the handheld controller or the virtual object at the time; and causing a display to present the virtual object based at least in part on the information associated with the at least one of the handheld controller or the virtual object at the time. 12. The system as recited in claim 11 , wherein: the determining that the virtual object is to be released comprises determining, at a first time, that the virtual object is to be released; the predetermined time range is based at least in part on the first time; the identifying comprises identifying a second time within the predetermined time range at which the highest velocity of the handheld controller occurred; the determining the information comprises determining information associated with at least one of the handheld controller or the virtual object at the second time; and the causing comprises causing the display to present the virtual object based at least in part on the information associated with the at least one of the handheld controller or the virtual object at the second time. 13. The system as recited in claim 11 , wherein: the determining the information comprises determining at least one of a speed of the handheld controller at the time, a direction of the handheld controller at the time, a position of the handheld controller at the time, or a rotational velocity of the virtual object at the time; and the causing comprises causing the display to present the virtual object based at least in part on the at least one of the speed of the handheld controller at the time, the direction of the handheld controller at the time, the position of the handheld controller at the time, or the rotational velocity of the virtual object at the time. 14. The system as recited in claim 11 , wherein the time comprises a first time, and the acts further comprising: determining at least one of a velocity of the handheld controller at a second time prior to the first time or a velocity of the handheld controller at a third time after the first time; and calculating an average of the highest velocity and the at least one of the velocity of the handheld controller at the second time or the velocity of the handheld controller at the third time; and wherein the causing comprises causing the display to present the virtual object being released at a velocity corresponding to the average. 15. The system as recited in claim 11 , the acts further comprising: determining a p

Assignees

Inventors

Classifications

  • with detection of the device orientation or free movement in a three-dimensional [3D] space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors · CPC title

  • Hand-worn input/output arrangements, e.g. data gloves · CPC title

  • A63F13/218Primary

    using pressure sensors, e.g. generating a signal proportional to the pressure applied by the player · CPC title

  • for calculating the trajectory of an object · CPC title

  • Ball games, e.g. soccer or baseball · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12042718B2 cover?
Techniques and devices for determining how to present the release of the virtual object based at least in part on received sensor data is described herein. For example, when the hardware and/or software determines that the virtual object is to be released, the hardware and/or software may calculate one or more of a velocity of the object (e.g., speed and direction), a position at which the virt…
Who is the assignee on this patent?
Valve Corp
What technology area does this patent fall under?
Primary CPC classification A63F13/218. Mapped technology areas include Human Necessities.
When was this patent published?
Publication date Tue Jul 23 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).