IP Library Granted Patent US 9,564,115
Granted Patent B2
US 9,564,115 · App. 13/403,974 · Granted Feb 7, 2017

Producing sounds in a virtual world and related sound card

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 9,564,115
App. No.
13/403,974
Granted
Feb 7, 2017
Kind
B2
Abstract

Disclosed are a method and apparatus for producing sounds in a virtual world, as well as a sound card. The method comprises the steps of determining a spring mass model of an object in the virtual world based on a 3D model of the object; analyzing force components produced on the 3D model by a collision in the virtual world; and generating sounds produced by the collision according to the spring mass model and the force components. By considering sound material of the object in the virtual world, the method, apparatus, and sound card may produce sounds in the virtual world more vividly and in real time.

Claims (75)

1. A method of producing sounds in a virtual world, comprising:

determining a spring mass model of an object in the virtual world based on a 3D model of the object;

calculating force components produced on the 3D model by a collision in the virtual world; and

generating sounds produced by the collision according to the spring mass model and the force components;

wherein calculating the force components produced on the 3D model by the collision in the virtual world comprises performing force analysis on the 3D model; and

wherein generating sounds produced by the collision according to the spring mass model and the force components comprises clipping the spring mass model according to the force components.

2. The method according to claim 1 , wherein determining the spring mass model of the object in the virtual world based on the 3D model of the object comprises:

obtaining at least one of a mass, a stiffness coefficient, and a damp coefficient of a particle in the spring mass model of the object.

3. The method according to claim 2 , wherein determining the spring mass model of the object in the virtual world based on the 3D model of the object comprises at least obtaining the mass of the particle, and wherein obtaining the mass of the particle in the spring mass model of the object comprises:

obtaining a mass of the 3D model;

determining a number of vertexes in the 3D model as a number of particles in the spring mass model; and

calculating the mass of the particle in the spring mass model according to the mass of the 3D model and the number of particles in the spring mass model.

4. The method according to claim 2 , wherein determining the spring mass model of the object in the virtual world based on the 3D model of the object comprises at least obtaining the stiffness coefficient of the particle, and wherein obtaining the stiffness coefficient of the particle in the spring mass model of the object comprises:

obtaining an average length of adjacent edges for a vertex in the 3D model;

calculating an area according to the average length of the adjacent edges as an area of the particle in the spring mass model; and

calculating the stiffness coefficient of the particle in the spring mass model according to a preset unit-area stiffness coefficient and the area of the particle in the spring mass model.

5. The method according to claim 2 , wherein determining the spring mass model of the object in the virtual world based on the 3D model of the object comprises at least obtaining the damp coefficient of the particle, and wherein obtaining the damp coefficient of the particle in the spring mass model of the object comprises:

receiving a user inputted value or a preset value as the damp coefficient of the particle in the spring mass model.

6. The method according to claim 1 , wherein calculating force components produced on the 3D model by the collision in the virtual world comprises:

performing force analysis on the 3D model to obtain at least a transient contact force component and a friction force component produced on the 3D model by the collision.

7. The method according to claim 6 , wherein clipping the spring mass model according to the force components comprises:

obtaining a transient contact force component and a friction force component on each of a plurality of vertexes in the 3D model that correspond to respective particles in the spring mass model; and

if the transient contact force component of a given one of the respective vertexes is less than a first predetermined threshold and the friction force component on the given one of the respective vertexes is less than a second predetermined threshold, removing from the spring mass model a particle that corresponds to the given one of the respective vertexes.

8. The method according to claim 1 , wherein generating sounds produced by the collision according to the spring mass model and the force components further comprises:

generating a sound source based on the clipped spring mass model and the force components;

filtering the sound source;

attenuating the filtered sound source; and

mixing the attenuated sound source with other sound sources caused by the collision.

9. The method according to claim 1 , wherein clipping the spring mass model according to the force components comprises:

obtaining force components on respective vertexes in the 3D model that correspond to respective particles in the spring mass model; and

if one or more force components of a given one of the respective vertexes are less than a corresponding predetermined threshold, removing from the spring mass model a particle that corresponds to the given one of the respective vertexes.

10. The method according to claim 1 , wherein generating sounds produced by the collision according to the spring mass model and the force components comprises:

generating a sound source based on the clipped spring mass model and the force components.

11. The method according to claim 10 , further comprising:

filtering the sound source;

attenuating the filtered sound source; and

mixing the attenuated sound source with other sound sources caused by the collision.

12. An apparatus for producing sounds in a virtual world, comprising:

determining means configured to determine a spring mass model of an object in the virtual world based on a 3D model of the object;

calculating means configured to calculate force components produced on the 3D model by a collision in the virtual world;

generating means configured to generate sounds produced by the collision according to the spring mass model and the force components;

wherein the calculating means comprises means for performing force analysis on the 3D model; and

wherein the generating means comprises means for clipping the spring mass model according to the force components.

13. The apparatus according to claim 12 , wherein the determining means comprises:

an obtaining unit configured to obtain at least one of a mass, a stiffness coefficient, and a damp coefficient of a particle in the spring mass model of the object.

14. The apparatus according to claim 13 , wherein the obtaining unit comprises:

means for obtaining a mass of the 3D model;

means for determining a number of vertexes in the 3D model as a number of particles in the spring mass model; and

means for calculating a mass of the particle in the spring mass model according to the mass of the 3D model and the number of particles in the spring mass model.

15. The apparatus according to claim 13 , wherein the obtaining unit comprises:

means for obtaining an average length of adjacent edges for a vertex in the 3D model;

means for calculating an area according to the average length of the adjacent edges as an area of the particle in the spring mass model; and

means for calculating the stiffness coefficient of the particle in the spring mass model according to a preset unit-area stiffness coefficient and the area of the particle in the spring mass model.

16. The apparatus according to claim 13 , wherein the obtaining unit comprises:

means for receiving a user inputted value or a preset value as a damp coefficient of the particle in the spring mass model.

17. The apparatus according to claim 12 , wherein the calculating means comprises:

means for performing force analysis on the 3D model to obtain at least a transient contact force component and a friction force component produced on the 3D model by the collision.

18. The apparatus according to claim 12 , wherein the generating means further comprises:

means for generating a sound source based on the clipped spring mass model and the force components;

means for filtering the sound source;

means for attenuating the filtered sound source; and

means for mixing the attenuated sound source with other sound sources caused by the collision.

19. The apparatus according to claim 12 , wherein the means for clipping the spring mass model according to the force components comprises:

means for calculating force components on respective vertexes in the 3D model that correspond to respective particles in the spring mass model; and

means for, if one or more force components of a given one of the respective vertexes are less than a corresponding predetermined threshold, removing from the spring mass model a particle that corresponds to the given one of the respective vertexes.

20. A sound card, comprising:

a processor comprising an apparatus for producing sounds in a virtual world, said apparatus for producing the sounds in the virtual world in turn comprising:

determining means configured to determine a spring mass model of an object in the virtual world based on a 3D model of the object;

calculating means configured to calculate force components produced on the 3D model by a collision in the virtual world, the analyzing means comprising means for performing force analysis on the 3D model; and

generating means configured to generate sounds produced by the collision according to the spring mass model and the force components, the generating means comprising:

means for clipping the spring mass model according to the force components;

means for generating a sound source based on the clipped spring mass model and the force components;

a filter configured to filter the generated sound source;

an attenuator configured to attenuate the filtered sound source; and

a mixer configured to mix the attenuated sound source with other sound sources caused by the collision.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2023
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: ROBLOX CORPORATION
Reel/Frame 064882/0470 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2012
From: LI, QI CHENG; WANG, JIAN; WANG, YI MIN; ZHU, ZI YU
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 027755/0191 →