IP Library Granted Patent US 12,450,818
Granted Patent B2
US 12,450,818 · App. 17/217,339 · Granted Oct 21, 2025

Machine-learning based collision detection for objects in virtual environments

Inventors: Thomas Daniel Perry (Bellevue, WA); Gabor Sines (Markham, CA); Mehdi Saeedi (Markham, CA); Allen H. Rush (Santa Clara, CA); Michal Eugeniusz Gallus (Gdańsk, PL)
Assignees: Advanced Micro Devices, Inc.; ATI TECHNOLOGIES ULC
G06T15/06G06N3/02G06T17/205
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,450,818
App. No.
17/217,339
Granted
Oct 21, 2025
Kind
B2
Abstract

An apparatus includes a processor and a collision detection unit operatively coupled to the processor. The collision detection unit is configured to process, using a machine learning model, one or more parameters associated with a ray cast in virtual environment comprising an object. The machine learning model is configured to approximate a mesh representing the object. The collision detection unit is further configured to determine if the ray collides with the object based on processing the one or more parameters. In response to determining if the ray collides with the object, the collision detection unit is configured to generate collision data associated with the ray and the object.

Claims (78)

1. A method comprising:

processing, using a machine learning model, one or more parameters associated with a ray cast in virtual environment comprising an object, the machine learning model configured to generate an approximated mesh representing the object based on geometric surface data associated with the object;

generating a proximity score for potential intersections, using the machine learning model, by calculating distances between the ray and relevant portions of the approximated mesh, wherein a collision is indicated when the proximity score satisfies a threshold indicating an intersection with the approximated mesh;

responsive to a collision between the ray and the object as indicated by the proximity score, generating, using the machine learning model, collision data associated with the ray and the object; and

updating, based on the collision data, at least one of the object or the virtual environment to indicate the collision occurred.

2. The method of claim 1 , further comprising:

selecting the machine learning model from a plurality of machine learning models based on the object, wherein different machine learning models are associated with different objects.

3. The method of claim 1 , wherein updating the at least one of the object or the virtual environment comprises:

rendering the object in the virtual environment based on the collision data generated using the machine learning model.

4. The method of claim 1 , further comprising:

obtaining the one or more parameters associated with the ray as input to the machine learning model in response to:

determining the ray intersects a bounding volume of the object based on an origin point of the ray, a direction vector of the ray, and extent values of the bounding volume.

5. The method of claim 4 , further comprising:

determining a point on the bounding volume intersected by the ray;

transforming the point from world-space coordinates to local-space coordinates of the bounding volume to generate a local-space intersection point;

normalizing the local-space intersection point to lay on a surface of a unit volume to generate a normalized origin point for the ray on the bounding volume of the object; and

selecting the normalized origin point as one of the one or more parameters of the ray.

6. The method of claim 5 , further comprises:

normalizing the direction vector of the ray to the point on the bounding volume intersected by the ray;

transforming the direction vector from world-space coordinates to local-space coordinates of the bounding volume to generate a normalized local-space direction vector for the ray; and

selecting the normalized local-space direction vector as one of the one or more parameters of the ray.

7. The method of claim 1 , wherein the machine learning model is a trained based on casting rays from a point on or within a bounding volume of the object.

8. The method of claim 1 , wherein the collision data comprises:

an indication whether the ray collides with the object, and

if a collision occurred between the ray and the object, the collision data further comprises information associated with collision, the information comprising at least one of:

a location on the object where the ray intersects;

a normal vector associated with the collision;

color coordinates of the location on the object where the ray intersects; or

texture coordinates of the location on the object where the ray intersects.

9. An apparatus comprising:

a processor; and

a collision detection unit operatively coupled to the processor, the collision detection unit being configured to:

process, using a machine learning model, one or more parameters associated with a ray cast in virtual environment comprising an object, the machine learning model configured to generate an approximated mesh representing the object based on geometric surface data associated with the object;

generate, using the machine learning model, a proximity score for potential intersections by calculating distances between the ray and relevant portions of the approximated mesh, wherein a collision is indicated when the proximity score satisfies a threshold indicating an intersection with the approximated mesh; and

responsive to a collision between the ray and the object, generate, using the machine learning model, collision data associated with the ray and the object,

the processor configured to update, based on the collision data, at least one of the object or the virtual environment to indicate the collision occurred.

10. The apparatus of claim 9 , wherein the collision detection unit is configured to:

select the machine learning model from a plurality of machine learning models based on the object, wherein different machine learning models are associated with different objects.

11. The apparatus of claim 9 , further comprising:

a collision resolution unit configured to resolve a collision between the ray and the object, by rendering the object in the virtual environment based on the collision data generated using the machine learning model.

12. The apparatus of claim 11 , wherein the collision detection unit is configured to:

obtain the one or more parameters associated with the ray as input to the machine learning model in response to:

determining the ray intersects a bounding volume of the object based on an origin point of the ray, a direction vector of the ray, and extent values of the bounding volume.

13. The apparatus of claim 12 , wherein collision detection unit is further configured to:

determine a point on the bounding volume intersected by the ray;

transform the point from world-space coordinates to local-space coordinates of the bounding volume to generate a local-space intersection point;

normalize the local-space intersection point to lay on a surface of a unit volume to generate a normalized origin point for the ray on the bounding volume of the object; and

select the normalized origin point as one of the one or more parameters of the ray.

14. The apparatus of claim 13 , wherein collision detection unit is further configured to:

normalize the direction vector of the ray to the point on the bounding volume intersected by the ray;

transform the direction vector from world-space coordinates to local-space coordinates of the bounding volume to generate a normalized local-space direction vector for the ray; and

select the normalized local-space direction vector as one of the one or more parameters of the ray.

15. The apparatus of claim 9 , wherein the machine learning model is a trained based on casting rays from a point on or within a bounding volume of the object.

16. The apparatus of claim 9 , wherein the collision data comprises:

an indication whether the ray collides with the object, and

if a collision occurred between the ray and the object, the collision data further comprises information associated with collision, the information comprising at least one of:

a location on the object where the ray intersects;

a normal vector associated with the collision;

color coordinates of the location on the object where the ray intersects; or

texture coordinates of the location on the object where the ray intersects.

17. A method comprising:

casting a ray within a virtual environment comprising an object;

determining a local-space intersection point of the ray on a bounding volume of the object;

setting the local-space intersection point as an origin point of the ray;

determining a direction vector of the ray based on the local-space intersection point;

providing the origin point and the direction vector of the ray to a machine learning model trained to generate an approximated mesh for the object based on geometric surface data associated with the object;

processing, using the machine learning model, the origin point and the direction vector by:

excluding regions of the approximated mesh where collisions are unlikely based on a direction and a position of the ray;

calculating distances between the ray and relevant portions of the approximated mesh; and

responsive to the calculated distances indicating that the ray collides with the object, generating, using the machine learning model, a collision indication; and

updating, based on the collision indication, at least one of the object or the virtual environment to indicate the collision occurred.

18. The method of claim 17 , wherein generating the collision indication comprises:

generating, by the machine learning model, collision data associated with the ray and the object in response to the calculated distances indicating that the ray collides with the object.

19. The method of claim 17 , wherein setting the local-space intersection point as an origin point of the ray comprises:

normalizing the local-space intersection point to lay on a surface of a unit volume.

20. The method of claim 17 , wherein determining the direction vector of the ray based on the local-space intersection point comprises:

normalizing the direction vector of the ray to the local-space intersection point; and

transforming the normalized direction vector from world-space coordinates to local-space coordinates of the bounding volume.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2025
From: SINES, GABOR; SAEEDI, MEHDI
To: ATI TECHNOLOGIES ULC
Reel/Frame 072210/0475 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2025
From: PERRY, THOMAS DANIEL; RUSH, ALLEN H.; GALLUS, MICHAL EUGENIUSZ
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 072210/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2021
From: PERRY, THOMAS DANIEL; RUSH, ALLEN H.
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 056937/0220 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2021
From: SINES, GABOR; SAEEDI, MEHDI
To: ATI TECHNOLOGIES ULC
Reel/Frame 056937/0272 →
Continuity (1)
Related Publication 20220319096A1 · Oct 6, 2022
References Cited (7)
US 20190188895A1 · Miller, IV · 2019 [cited by examiner]
US 20200301799A1 · Manivasagam · 2020 [cited by examiner]
US 20200306632A1 · Kolen · 2020 [cited by examiner]
US 20210387584A1 · Daniels · 2021 [cited by examiner]
Mrowca et al., “Flexible Neural Representation for Physics Prediction,” Advances in Neural Information Processing Systems 31 (NeurIPS), Dec. 2018, 12 Pages. [cited by applicant]
Jiang et al., “Data-Augmented Contact Model for Rigid Body Simulation,” arXiv.org, Sep. 23, 2018, <https://arxiv.org/abs/1803.04019v3>, Accessed Jul. 8, 2021, 7 pages. [cited by applicant]
Sanchez-Gonzalez et al., “Learning to Simulate Complex Physics with Graph Networks” Proceedings of the 37th International Conference on Machine Learning, Apr. 2020, 10 pages. [cited by applicant]