IP Library › Granted Patent US 12,725,353
Granted Patent B2
US 12,725,353 · App. 18/732,057 · Granted Sep 1, 2026

Systems and methods for automatic and dynamic generation of shape-conforming and computationally efficient colliders for point clouds

Inventors: Max Good (Los Angeles, CA); Dwayne Elahie (Montreal, CA)
Assignee: Miris, Inc.
G06T17/00G06T3/4023G06T2210/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,725,353
App. No.
18/732,057
Granted
Sep 1, 2026
Kind
B2
Abstract

A three-dimensional (3D) interactivity system automatically and dynamically generates shape-conforming and computationally efficient colliders for detecting collisions with automatically differentiated features represented by different sets of points in a point cloud. The system selects a set of points that represent a particular feature of a 3D object, decimates the set of points to a subset of points that represent an approximate shape of the particular feature with fewer points than the set of points, and generates a collider with the approximate shape represented by the subset of points. The system may then use the collider in determining whether a collision element collides with the particular feature.

Claims (64)

1 . A method comprising:

rendering a three-dimensional (3D) environment with an interactive feature that is defined with a plurality of primitives;

determining a position of the interactive feature in the 3D environment;

decimating the plurality of primitives to a first set of primitives in response to the interactive feature being at a first position in the 3D environment and to a second set of primitives in response to the interactive feature being at a second position in the 3D environment, wherein decimating the plurality of primitives to the first set of primitives comprises retaining the first set of primitives and discarding other primitives from the plurality of primitives;

generating a first collider with which to detect collisions with the interactive feature based on a first shape formed by the first set of primitives that are retained after decimating the plurality of primitives by a first amount in response to the interactive feature being at the first position in the 3D environment;

generating a second collider with which to detect collisions with the interactive feature based on a second shape formed by the second set of primitives that are retained after decimating the plurality of primitives by a second amount in response to the interactive feature being at the second position in the 3D environment; and

detecting collisions with the interactive feature using the first collider that is anchored to one or more of the first set of primitives when the interactive feature is at the first position in the 3D environment and using the second collider that is anchored to one or more of the second set of primitives when the interactive feature is at the second position in the 3D environment.

2 . The method of claim 1 , wherein the first amount is greater than the second amount, wherein the first set of primitives comprises fewer primitives than the second set of primitives, and wherein the first shape contains fewer edges and contours than the second shape.

3 . The method of claim 1 further comprising:

dynamically associating the first collider to the interactive feature in response to detecting the interactive feature at the first position; and

dynamically associating the second collider to the interactive feature in response to detecting the interactive feature at the second position.

4 . The method of claim 3 ,

wherein the first position corresponds to a particular range of depths in the 3D environment or the interactive feature being rendered at a particular range of sizes in the 3D environment; and

wherein dynamically associating the first collider comprises moving the first collider with the interactive feature in the 3D environment based on the first collider being anchored to the one or more of the first set of primitives while the interactive feature remains at the particular range of depths or is rendered at the particular range of sizes.

5 . The method of claim 3 , wherein dynamically associating the first collider comprises:

linking endpoints of the first collider to the one or more primitives of the first set of primitives; and

moving the first collider with the interactive feature based on said linking.

6 . The method of claim 1 , wherein generating the first collider comprises:

defining a single shape that approximates the first shape formed by the first set of primitives.

7 . The method of claim 1 , wherein detecting the collisions comprises:

performing a first number of calculations to determine a collision between an object in the 3D environment and the first collider; and

performing a second number of calculations to determine a collision between the object and the second collider, wherein the second number of calculations is greater than the first number of calculations based on the second collider having a more complex shape or different shapes than the first collider.

8 . The method of claim 1 ,

wherein generating the first collider comprises defining a single shape that is within a threshold distance of the first shape formed by the first set of primitives; and

wherein generating the second collider comprises defining a plurality of shapes that collectively are within the threshold distance of the second shape formed by the second set of primitives and that recreate a shape of the interactive feature with greater accuracy than the single shape of the first collider.

9 . The method of claim 1 ,

wherein generating the first collider comprises defining a single simple shape corresponding to a cube, sphere, cone, truncated cone, cylinder, torus, pyramid, or cuboid that matches the first shape formed by the first set of primitives by a threshold amount; and

wherein generating the second collider comprises defining two or more of the single simple shape to match the second shape formed by the second set of primitives by the threshold amount.

10 . The method of claim 1 , wherein detecting the collisions comprises:

detecting the collisions by calculating a position of a collision element relative to a position of the first collider rather than a position of each primitive of the first set of primitives when the interactive feature is at the first position.

11 . The method of claim 1 further comprising:

determining the first position of the interactive feature based on a depth of the interactive feature in the 3D environment or an amount of the 3D environment that is occupied by the interactive feature.

12 . The method of claim 1 further comprising:

determining an amount of resources that are available for generating the 3D environment; and

increasing the first amount and the second amount of decimation in response to the amount of resources being less than a threshold amount.

13 . The method of claim 1 , wherein detecting the collisions comprises:

providing a lower level of collision detection accuracy when detecting the collisions with the first collider and a higher level of collision detection accuracy when detecting the collisions with the second collider.

14 . The method of claim 1 further comprising:

performing a collision action in response to detecting a collision with one of the first collider or the second collider.

15 . A three-dimensional (3D) interactivity system comprising:

one or more hardware processors configured to:

render a 3D environment with an interactive feature that is defined with a plurality of primitives;

determine a position of the interactive feature in the 3D environment;

decimate the plurality of primitives to a first set of primitives in response to the interactive feature being at a first position in the 3D environment and to a second set of primitives in response to the interactive feature being at a second position in the 3D environment, wherein decimating the plurality of primitives to the first set of primitives comprises retaining the first set of primitives and discarding other primitives from the plurality of primitives;

generate a first collider with which to detect collisions with the interactive feature based on a first shape formed by the first set of primitives that are retained after decimating the plurality of primitives by a first amount in response to the interactive feature being at the first position in the 3D environment;

generate a second collider with which to detect collisions with the interactive feature based on a second shape formed by the second set of primitives that are retained after decimating the plurality of primitives by a second amount in response to the interactive feature being at the second position in the 3D environment; and

detect collisions with the interactive feature using the first collider that is anchored to one or more of the first set of primitives when the interactive feature is at the first position in the 3D environment and using the second collider that is anchored to one or more of the second set of primitives when the interactive feature is at the second position in the 3D environment.

16 . The 3D interactivity system of claim 15 , wherein the first amount is greater than the second amount, wherein the first set of primitives comprises fewer primitives than the second set of primitives, and wherein the first shape contains fewer edges and contours than the second shape.

17 . The 3D interactivity system of claim 15 , wherein the one or more hardware processors are further configured to:

dynamically associate the first collider to the interactive feature in response to detecting the interactive feature at the first position; and

dynamically associate the second collider to the interactive feature in response to detecting the interactive feature at the second position.

18 . The 3D interactivity system of claim 17 ,

wherein the first position corresponds to a particular range of depths in the 3D environment or the interactive feature being rendered at a particular range of sizes in the 3D environment; and

wherein dynamically associating the first collider comprises moving the first collider with the interactive feature in the 3D environment based on the first collider being anchored to the one or more of the first set of primitives while the interactive feature remains at the particular range of depths or is rendered at the particular range of sizes.

19 . The 3D interactivity system of claim 17 , wherein dynamically associating the first collider comprises:

linking endpoints of the first collider to the one or more primitives of the first set of primitives; and

moving the first collider with the interactive feature based on said linking.

20 . A non-transitory computer-readable medium storing instructions that, when executed by one or more processors of a three-dimensional (3D) interactivity system, cause the 3D interactivity system to perform operations comprising:

rendering a three-dimensional (3D) environment with an interactive feature that is defined with a plurality of primitives;

determining a position of the interactive feature in the 3D environment;

decimating the plurality of primitives to a first set of primitives in response to the interactive feature being at a first position in the 3D environment and to a second set of primitives in response to the interactive feature being at a second position in the 3D environment, wherein decimating the plurality of primitives to the first set of primitives comprises retaining the first set of primitives and discarding other primitives from the plurality of primitives;

generating a first collider with which to detect collisions with the interactive feature based on a first shape formed by the first set of primitives that are retained after decimating the plurality of primitives by a first amount in response to the interactive feature being at the first position in the 3D environment;

generating a second collider with which to detect collisions with the interactive feature based on a second shape formed by the second set of primitives that are retained after decimating the plurality of primitives by a second amount in response to the interactive feature being at the second position in the 3D environment; and

detecting collisions with the interactive feature using the first collider that is anchored to one or more of the first set of primitives when the interactive feature is at the first position in the 3D environment and using the second collider that is anchored to one or more of the second set of primitives when the interactive feature is at the second position in the 3D environment.

Assignments (2)
CHANGE OF NAME Recorded Sep 18, 2025
From: ILLUSCIO, INC.
To: MIRIS, INC.
Reel/Frame 072896/0410 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2024
From: GOOD, MAX; ELAHIE, DWAYNE
To: ILLUSCIO, INC.
Reel/Frame 067601/0214 →
Continuity (2)
Continuation 18419088 · Jan 22, 2024
Related Publication 20250239006A1 · Jul 24, 2025
References Cited (10)
US 8004517B1 · Edelsbrunner · 2011 [cited by examiner]
US 11798248B1 · Shchurko · 2023 [cited by examiner]
US 20180004290A1 · Shtraym · 2018 [cited by applicant]
US 20180161671A1 · Heubel · 2018 [cited by applicant]
US 20210117002A1 · Eagleman et al. · 2021 [cited by applicant]
US 20210217248A1 · Shimizu et al. · 2021 [cited by applicant]
US 20210383613A1 · Bullock · 2021 [cited by applicant]
US 20220055213A1 · Kang · 2022 [cited by examiner]
US 20220326760A1 · Karafin et al. · 2022 [cited by applicant]
US 20230418288A1 · Greiner et al. · 2023 [cited by applicant]