CN102651214B - 用于产生虚拟世界中的声音的方法、设备和声卡 - Google Patents
用于产生虚拟世界中的声音的方法、设备和声卡 Download PDFInfo
- Publication number
- CN102651214B CN102651214B CN201110051604.5A CN201110051604A CN102651214B CN 102651214 B CN102651214 B CN 102651214B CN 201110051604 A CN201110051604 A CN 201110051604A CN 102651214 B CN102651214 B CN 102651214B
- Authority
- CN
- China
- Prior art keywords
- model
- particle
- elastic model
- elastic
- force component
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H5/00—Instruments in which the tones are generated by means of electronic generators
- G10H5/007—Real-time simulation of G10B, G10C, G10D-type instruments using recursive or non-linear techniques, e.g. waveguide networks, recursive algorithms
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B15/00—Systems controlled by a computer
- G05B15/02—Systems controlled by a computer electric
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2220/00—Input/output interfacing specifically adapted for electrophonic musical tools or instruments
- G10H2220/155—User input interfaces for electrophonic musical instruments
- G10H2220/351—Environmental parameters, e.g. temperature, ambient light, atmospheric pressure, humidity, used as input for musical purposes
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2250/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/315—Sound category-dependent sound synthesis processes [Gensound] for musical use; Sound category-specific synthesis-controlling parameters or control means therefor
- G10H2250/435—Gensound percussion, i.e. generating or synthesising the sound of a percussion instrument; Control of specific aspects of percussion sounds, e.g. harmonics, under the influence of hitting force, hitting position, settings or striking instruments such as mallet, drumstick, brush, hand
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R2201/00—Details of transducers, loudspeakers or microphones covered by H04R1/00 but not provided for in any of its subgroups
- H04R2201/02—Details casings, cabinets or mounting therein for transducers covered by H04R1/02 but not provided for in any of its subgroups
- H04R2201/029—Manufacturing aspects of enclosures transducers
Abstract
本发明公开了一种用于产生虚拟世界中的声音的方法、设备和声卡,该方法包括步骤:基于虚拟世界中物体的3D模型确定物体的弹性模型;分析虚拟世界中的碰撞对3D模型所产生的力分量;以及根据弹性模型和力分量,生成碰撞所产生的声音。本方法、设备和声卡考虑了虚拟世界中物体的声音材质,能够更加逼真地和实时地产生虚拟世界中的声音。
Description
技术领域
本发明的实施方式涉及虚拟世界,特别涉及用于产生虚拟世界中的声音的方法、设备和声卡。
背景技术
在虚拟世界领域中,目前存在多种模拟基于碰撞产生的声音的方法。例如,美国专利申请公开US 2007/0196801的技术方案可以根据物体之间物理运动碰撞来计算生成声波,然后进行多个声波的合成来产生碰撞产生的声音。例如,美国专利申请公开US 2010/0197401的技术方案描述了在三维场景的多个点中进行声音的采集,并在三维场景模拟过程中实时地根据几个采集的声音进行计算声源。例如,美国专利U.S.7,330,769所公开的技术方案描述了一种根据预设好的一组声波模型,并且该组声波模型的声调和音量是可控的,在游戏等虚拟世界应用场景中可以根据具体的场景进行合成来模拟出声音。
随着人们对于虚拟世界的应用更加广泛,人们更加希望能够得到更加逼真并且实时的虚拟世界声音。然而,现有的产生虚拟世界中的声音的各种方案都存在一定差距。例如,美国专利申请公开US2007/0196801的技术方案并没有考虑物体声音材质对声音模拟的影响,因此无法更加逼真地产生虚拟世界中的声音。美国专利申请公开US 2010/0197401的技术方案则基于的是采集的固定声音,无法实现实时的声音生成。美国专利U.S.7,330,769所公开的技术方案则是通过预设的声音合成来模拟,而不是根据虚拟世界中物体的属性来进行声音模拟。
发明内容
因此,目前需要一种能够逼真和实时的产生虚拟世界中的技术方案。
针对以上问题,本发明的实施方式提供了一种产生虚拟世界中的声音的方法、设备和声卡。
根据本发明的实施方式的第一方面,提供了一种用于产生虚拟世界中的声音的方法。该方法可以包括步骤:基于虚拟世界中物体的3D模型确定物体的弹性模型;分析虚拟世界中的碰撞对3D模型所产生的力分量;以及根据弹性模型和力分量,生成碰撞所产生的声音。
根据本发明的实施方式的第二方面,提供了一种用于产生虚拟世界中的声音的设备。该设备可以包括:确定装置,用于基于虚拟世界中物体的3D模型确定物体的弹性模型;分析装置,用于分析虚拟世界中的碰撞对3D模型所产生的力分量;以及生成装置,用于根据弹性模型和力分量,生成碰撞所产生的声音。
根据本发明的实施方式的第三方面,提供了一种声卡。该声卡可以包括:处理器,被配置用于基于虚拟世界中物体的3D模型确定物体的弹性模型,分析虚拟世界中的碰撞对3D模型所产生的力分量,以及根据弹性模型和力分量生成碰撞所产生的声音。
本方法、设备和声卡考虑了虚拟世界中物体的声音材质,能够更加逼真地和实时地产生虚拟世界中的声音。
通过以下对说明本发明的实施方式原理的优选实施方式的描述,并结合附图,本发明的实施方式的其他特征以及优点将会是显而易见的。
附图说明
通过以下结合附图的说明,并且随着对本发明的实施方式的更全面了解,本发明的实施方式的其他目的和效果将变得更加清楚和易于理解,其中:
图1是按照本发明的一个实施例的用于产生虚拟世界中的声音的方法的流程图;
图2是按照本发明的另一个实施例的用于产生虚拟世界中的声音的方法的流程图;
图3是按照本发明的一个实施例的用于产生虚拟世界中的声音的设备的方框图;
图4A是按照本发明的一个实施例的虚拟世界中的3D模型的示意图;
图4B是按照本发明的一个实施例的虚拟世界中的弹性模型的示意图;
图5是按照本发明的一个实施例的对虚拟世界中的3D模型进行受力分析的示意图;以及
图6是适于实施本发明的计算机系统的结构方框图。
在所有的上述附图中,相同的标号表示具有相同、相似或相应的特征或功能。
具体实施方式
以下结合附图对本发明的实施方式进行更详细的解释和说明。应当理解,本发明的附图及实施例仅用于示例性作用,并非用于限制本发明的保护范围。
附图中的流程图和框图,图示了按照本发明各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
为了清楚起见,首先对本发明的实施方式中所使用的术语作以解释。
1.虚拟世界
本发明的实施方式中的术语“虚拟世界”是利用计算机生成的逼真三维视觉、听觉、触觉等各种感觉,使玩家对一个虚拟的世界进行体验和交互。在虚拟世界中,可以借助于计算机生成具有若干物体的三维空间,通过将玩家置身其中来产生一种身临其境的感觉。
2.3D模型
虚拟世界中的物体都与一个3D模型相对应。3D模型通常可以通过两种方式来描述,一种是连续模型,另一种是离散模型。连续模型通常通过数学上的函数来限定物体的曲线/曲面,例如,样条(spline),Bezier曲线/曲面等。离散模型常用三角面片或者四边形面片来描述,三角面片模型可以转化为四边形面片模型(参见文献“Mixed-Integer Quadrangulation”,David Bommes,Henrik Zimmer,LeifKobbelt ACM Transactions on Graphics(TOG),28(3),Article No.77,2009 Proceedings of the 2009 SIGGRAPH Conference)。图4A示出了以三角面片来描述的虚拟世界中的3D模型的示意图。
3.弹性(Spring mass)模型
弹性模型可以简化成这样一个结构:由弹簧和粒子组成的正方形网格,正方形的每条边是一根弹簧,正方形的每个顶点则是一个粒子,例如图4B示出了根据本发明的一个实施例的弹性模型的示意图。弹性模型的各个粒子与3D模型的各个顶点是一一对应的,根据3D模型的各个顶点可以确定弹性模型的各个粒子,反之亦然。
弹性模型不仅可以对物体的属性进行表征,而且可以反映该物体的材质。弹性模型的每个粒子可以各自具有质量、硬度系数和阻尼系数,这些都可以用于表征物体的属性(例如重量、硬度等)和反映物体的材质。其中,粒子的质量可以表示该粒子的重量;粒子的硬度系数可以表示该粒子的硬度大小;粒子的阻尼系数可以反映物体的物理属性,与物体的具体材质有关。
在一个实施方式中,描述了一种用于产生虚拟世界中的声音的方法。在该实施方式中,首先可以基于虚拟世界中物体的3D模型确定该物体的弹性模型,从而可以进一步获取该弹性模型的粒子的质量、硬度系数和阻尼系数中的至少一个;然后,可以分析虚拟世界中的碰撞对该3D模型所产生的力分量,例如可以得到碰撞对3D模型产生的瞬时接触力分量和摩擦力分量中的至少一个;其后,可以根据所确定的弹性模型和所得到的力分量,生成虚拟世界中的碰撞所产生的声音。
图1是按照本发明的一个实施例的用于产生虚拟世界中的声音的方法的流程图。
在步骤S101,基于虚拟世界中物体的3D模型确定所述物体的弹性模型。
如前所述,弹性模型不仅可以对物体的属性进行表征,而且可以反映该物体的材质。由于物体的3D模型的顶点与该物体的弹性模型的粒子是一一对应的,因此可以根据已知的3D模型(例如三角面片模型)来确定对应的弹性模型的粒子。然后,可以获取物体的弹性模型的粒子的质量、硬度系数和阻尼系数中的至少一个。
例如,可以根据物体的3D模型的质量和对应的弹性模型的粒子数目,计算弹性模型的粒子的质量。例如,可以根据针对弹性模型预先设定的单位面积硬度系数和该弹性模型中的粒子的面积,计算弹性模型的粒子的硬度系数。例如,可以接收用户输入的值作为弹性模型的粒子的阻尼系数。此外,也可以接收预先设定的值作为弹性模型的粒子的阻尼系数。以下将在图2所示的实施例中对粒子的质量、硬度系数和阻尼系数的获取方式进行详细描述。
在步骤S102,分析虚拟世界中的碰撞对所述3D模型所产生的力分量。
目前已经存在一些分析碰撞所产生的力分量的方法。例如,可以首先选取研究对象,也即选取要进行受力分析的对象。由于碰撞可能是发生在虚拟世界中一个物体与另一个物体之间的,因此要进行受力分析的对象可以选择这两个物体之一。然后,可以把研究对象从周围的物体中隔离出来。随后,可以按照一定顺序进行受力分析,例如可以先分析重力;然后环绕物体一周,找出与研究对象接触的物体,并逐个分析弹力和摩擦力;最后再分析其它场力。
在本发明的实施方式中,主要研究的是两个物体之间的碰撞所引起的声音,对于两个物体中的第一个物体而言,其由于两个物体之间的碰撞产生声音;同样,对于两个物体中的第二个物体而言,其也会由于这一碰撞产生声音。因此,在本发明的实施方式中,仅对第一个物体由于碰撞所产生的声音进行研究。关于第二个物体由于碰撞所产生的声音,可以通过本发明的实施方式的方法类似地得到,所以不再赘述。在一个虚拟世界的实施方式中,可以将这两种声音进行叠加,从而形成更加逼真的声音。
在步骤S102可以对3D模型进行受力分析,以得到碰撞对3D模型产生的瞬时接触力分量和摩擦力分量中的至少一个。如图5所示,通过对3D模型进行受力分析,可以得到方向向下的瞬时接触力。另外,也可以得到方向向前的摩擦力。此外,还可以得到一个方向向上的无效力。瞬时接触力、摩擦力和无效力都是碰撞对3D模型产生的力分量。其中,由于无效力对于碰撞产生的声音没有贡献,因此本发明的实施方式省略对其的考虑。瞬时接触力分量(以下简称瞬时接触力)和摩擦力分量(以下简称摩擦力)都可以是具有大小和方向的矢量。为了简便,图5中仅仅示出了瞬时接触力和/或摩擦力的方向,但没有示出瞬时接触力和/或摩擦力的大小,其可以由本领域技术人员根据现有的方法和技术容易地得到,在此不再赘述。
在步骤S103,根据弹性模型和力分量,生成碰撞所产生的声音。
在一个实施例中,可以利用步骤S101得到的弹性模型和步骤S102得到的力分量来生成声源。随后,可以对生成的声源进一步处理,例如可以过滤该声源,由于适合人听力的频率一般在20赫兹(Hz)至20kHz之间,因此可以对生成的声源进行带通滤波,从而去除对于人们的听觉不起作用或者起很小作用的信号。此后,可以对过滤后的声源进行衰减;以及将经过衰减的声源与碰撞引起的其他声源进行混合,从而生成该碰撞所产生的声音。
在另一个实施例中,在弹性模型和力分量生成声源之前,可以首先根据步骤S102得到的力分量对步骤S101得到的弹性模型进行裁剪。裁剪的目的是将弹性模型中的对于生成声源贡献较小的粒子去除,而仅将对生成声源贡献较大的粒子保留在裁剪后的弹性模型中,并利用裁剪后的弹性模型和力分量生成声源。然后可以基于裁剪后的弹性模型和力分量生成声源;对声源进行过滤;对过滤后的声源进行衰减;以及将经过衰减的声源与碰撞引起的其他声源进行混合。
然后,图1的流程结束。
图2是按照本发明的另一个实施例的用于产生虚拟世界中的声音的方法的流程图。
在步骤S201,获取虚拟世界中的物体的弹性模型的粒子的质量、硬度系数和阻尼系数中的至少一个。
可以通过多种方式获取物体的弹性模型的粒子的质量。例如,可以得到3D模型的质量,确定3D模型中的顶点数目作为弹性模型的粒子数目,以及根据3D模型质量和弹性模型的粒子数目计算弹性模型的每个粒子的质量。
可以通过多种方式获取物体的弹性模型的粒子的硬度系数。例如,可以得到3D模型中的每个顶点的邻边平均长度,根据邻边平均长度来计算一个面积,作为弹性模型的每个粒子的面积,以及根据预先设定的单位面积硬度系数和弹性模型中的每个粒子的面积计算弹性模型的每个粒子的硬度系数。
可以通过多种方式获取物体的弹性模型的粒子的阻尼系数。例如,可以接收用户输入的值作为弹性模型的每个粒子的阻尼系数。也可以接收预先设定的值作为弹性模型的每个粒子的阻尼系数。
在一个实施例中,假设用户使用模型编辑工具,并在建模阶段输入3D模型的单位体积下的质量M’、单位面积硬度值K’、以及3D模型的阻尼系数C’。由于阻尼系数与物体的体积和面积无关,所以可以将用户输入的3D模型的阻尼系数C’作为弹性模型中每个粒子的阻尼系数C。
在该实施例中,假设弹性模型中所有粒子在面积和体积下是均分的,则可以通过以下步骤计算弹性模型中每个粒子的质量M的方法:首先,计算3D模型的体积V,并根据体积V和单位体积下的质量M’计算整个3D模型的质量V×M’,然后根据弹性模型中的粒子数目N通过以下式(1)计算出每个粒子的质量:
M=M’×V/N (1)
在该实施例中,假设3D模型中的第i个顶点与Xi个其他顶点相连接,其中i=1、2、...N,N是3D模型中的顶点数目、也是弹性模型中的粒子数目。计算第i个顶点的Xi条邻边的各自长度为Li,则可以得到该第i个顶点的邻边平均长度是:
在该实施例中,可以利用该邻边平均长度来得到弹性模型的各个粒子的面积。例如,可以以该邻边平均长度或者该长度的一定百分比(例如,该邻边平均长度的一半)为半径、以第i个粒子的位置为圆心计算一个圆形面积,来作为弹性模型的第i个粒子的面积;也可以以该邻边平均长度或者该长度的一定百分比(例如,该邻边平均长度的一半)为边长、以第i个粒子的位置为中心计算一个正方形面积,来作为弹性模型的第i个粒子的面积;或者也可以根据该邻边平均长度或者该长度的一定百分比以及第i个粒子的位置计算任何形状的面积,来作为弹性模型的第i个粒子的面积。
得到弹性模型的每个粒子的面积之后,可以根据该弹性模型的单位面积硬度值K’来得到每个粒子的硬度系数。例如,可以将每个粒子的面积与单位面积硬度值K’相乘来得到每个粒子的硬度系数;也可以根据预定的加权因子对不同粒子的面积进行加权后,再与单位面积硬度值K’相乘来得到每个粒子的硬度系数。
在步骤S202,对3D模型进行受力分析,以得到碰撞对3D模型产生的瞬时接触力分量和摩擦力分量中的至少一个。
该步骤与步骤S102类似,如图5所示,通过对3D模型进行受力分析,可以得到方向向下的瞬时接触力,也可以得到方向向前的摩擦力。瞬时接触力和摩擦力都是碰撞对3D模型产生的力分量。瞬时接触力分量和摩擦力分量都可以是具有大小和方向的矢量。
在步骤S203,根据力分量对弹性模型进行裁剪。
在图2所示的实施例中,在弹性模型和力分量生成声源之前,可以首先根据步骤S202得到的力分量对弹性模型进行裁剪。裁剪的目的是将弹性模型中的对于生成声源贡献较小的粒子去除,而仅将对生成声源贡献较大的粒子保留在裁剪后的弹性模型中,并利用裁剪后的弹性模型和力分量生成声源。在一种实施方式中,可以得到与弹性模型中的各个粒子相对应的3D模型中的各个顶点的力分量;以及如果一个顶点的一个或多个力分量小于相应的预定阈值,则将与该顶点相对应的粒子从弹性模型中去除。
弹性模型的裁剪过程是根据力分量(例如,摩擦力和/或瞬时接触力)进行的模型简化。
对于3D模型中的顶点的摩擦力,可以将该摩擦力与针对摩擦力的预定阈值进行比较。该预定阈值可以是根据经验得到的,也可以是预设的,还可以是本领域技术人员根据任何适当的方式得到的。进行比较的方式有多种,例如,针对摩擦力这种矢量力,进行比较可以采用取模运算并将得到的标量进行;当摩擦力小于预定阈值时,则将与该顶点相对应的粒子从弹性模型中去除,也即在后续利用弹性模型计算声源时忽略掉弹性模型中的此类粒子,而仅使用弹性模型中的除此类粒子之外的粒子来进行后续声源的确定,完成声音模拟计算。这样,显著减少了计算量和提高效率。
在另一个实施例中,在使用弹性模型中的除此类粒子之外的粒子来进行后续声源的确定过程中,也即,对于摩擦力大于预定阈值的顶点,物理引擎(例如NVIDIA公司的技术,其可用于在游戏上增加现实元素,详情可参见http://www.nvidia.com/object/physx_new.html)可以得到包含正在进行处理的物体与其他物体发生碰撞的接触顶点、接触边和接触面的集合。根据本领域技术人员已知的一些方法或算法,接触边可以转变为两个接触顶点,接触面可以转变为三个接触顶点,这样,碰撞物体的接触集合就可以转变为一个接触顶点集合。然后可以根据3D模型的顶点与弹性模型的粒子之间的对应关系从接触顶点集合中的各个顶点确定对应的粒子,从而确定一个接触粒子集合。然后,使用弹性模型中的除此类粒子之外的粒子来进行后续声源的确定,完成声音模拟计算。这样,进一步显著减少了计算量和提高效率。
对于3D模型中的顶点的瞬时接触力,可以根据参考文献“O’BRIEN,J.F.,AND HODGINS,J.K.1999.Graphical modeling andanimation of brittle fracture.In Proceedings of SIGGRAPH 99,Computer Graphics Proceedings,Annual Conference Series,137-146”进行计算。然后,可以遍历3D模型中的各个顶点,可以将各个顶点的瞬时接触力与针对瞬时接触力的预定阈值进行比较。该预定阈值可以是根据经验得到的,也可以是预设的,还可以是本领域技术人员根据任何适当的方式得到的。进行比较的方式有多种,例如,针对瞬时接触力这种矢量力,进行比较可以采用取模运算并将得到的标量进行;如果瞬时接触力小于预定阈值,则将与该顶点相对应的粒子从弹性模型中去除,也即在后续利用弹性模型计算声源时忽略掉弹性模型中的此类粒子以减少计算量和提高效率。
在本发明的各个实施例中,可以通过仅去除其摩擦力小于针对摩擦力的预定阈值的粒子来裁剪弹性模型,也可以通过仅去除其瞬时接触力小于针对瞬时接触力的预定阈值的粒子来裁剪弹性模型,也可以通过去除其摩擦力小于针对摩擦力的预定阈值、并且其瞬时接触力小于针对瞬时接触力的预定阈值的粒子来裁剪弹性模型。
应该注意的是,在本发明的实施方式中,步骤S203对弹性模型的裁剪过程是可选的。如果不进行步骤S203的裁剪过程,同样可以针对步骤S201的结果直接进行步骤S204-S207。
在步骤S204,基于裁剪后的弹性模型和力分量生成声源。
可以通过多种方式来生成声源。例如,可以使用以下的物体的动力响应分析方程来根据弹性模型和力分量生成声源(具体可以参考文献:J.F.O’Brien,C.Shen,and C.M.Gatchalian.Synthesizingsounds from rigid-body simulations.In SCA’02:Proceedings of the2002 ACM SIGGRAPH/Eurographics symposium on Computeranimation,pages 175-181,ACM,2002,在此通过参考将其引入)。
在上式中,假设一个物体由N个粒子表示,则弹性模型的各个粒子的质量可以组成一个N维向量“M”,该向量中的各个元素表示各个粒子的质量;“C”也可以是一个N维向量,该向量中的各个元素表示各个粒子的阻尼系数;“K”也可以是一个N维向量,该向量中各个元素表示各个粒子的硬度系数;“r”也可以是一个N维向量,该向量中的各个元素表示各个粒子的位移值;“f”表示物体由于碰撞而受到的力,该力例如可以是步骤S202得到的摩擦力分量和/或瞬时接触力分量。
可以将在步骤S201获取的物体的弹性模型的粒子的质量、硬度系数和阻尼系数中的至少一个对应地替代式(3)中的“M”、“K”和“C”中的至少一个。例如,当在步骤S201获取了粒子的质量时,可以将该质量替代式(3)中的“M”,而式(3)中“K”和“C”可以采用本领域技术人员的经验值或任何适当的预设值。
根据步骤S203得到的裁剪后的弹性模型以及步骤S202得到的力分量,可以通过求解式(3)可以得到粒子的振动方程(4)。其中,式(5)示出的ωi是角速度值,其可以转换成相应的频率值。
在本发明的另一个实施例中,在进行瞬态动力分析时可以使用瑞利阻尼系数,此时可将式(3)中的“C”用如下等式替换:
C=α*M+β*K (6)
其中,阻尼系数用两个瑞利阻尼系数α和β替代,用户可以在建模时输入这两个值来表示物体的阻尼系统。
通过代入上面等式到式(3)中,可以得到用于生成声源的另一个动力响应分析方程:
通过对式(7)所示的常微分方程的求解,也可以得到与式(4)和(5)类似的粒子的振动方程和角速度值。
另外,还可以根据本领域技术人员可知的其他方法或途径来基于弹性模型和力分量生成声源,本发明的实施例示出的动力响应分析方程(3)和(7)仅仅是基于弹性模型和力分量生成声源的两个具体实现方式,不应将根据弹性模型和力分量生成声源的方式局限于此。
在步骤S205,对声源进行过滤。
由于一般来说,适合人的听力的声音频率约在20Hz至20kHz之间,因此可以对生成的声源进行滤波,例如通过一个带通滤波器,从而去除对于人们的听觉不起作用或者起很小作用的信号。
在步骤S206,对过滤后的声源进行衰减。
根据虚拟世界中的特定环境,可以对得到的声源进行反射、干射、衍射和绕射,等等。另外,可以使用本领域公知的各种方法和技术来实现对声源的衰减,而不限于本发明的实施例所公开的任何特定形式。
在步骤S207,将经过衰减的声源与碰撞引起的其他声源进行混合。
在本发明的实施方式中,主要研究的是两个物体之间的碰撞所引起的声音,对于两个物体中的第一个物体而言,其由于两个物体之间的碰撞产生声音;同样,对于两个物体中的第二个物体而言,其也会由于这一碰撞产生声音。因此,可以根据步骤S201-S206得到第一个物体由于碰撞所产生的声音。同样,可以根据本发明的方法得到第二个物体由于碰撞所产生的声音。在步骤S207则可以将这两种声音进行叠加,例如,对表示第一个物体的声音的声源信号与表示第二个物体的声音的声源信号的幅度和相位分别进行叠加,从而形成更加逼真的声音。
然后图2的流程结束。
图3是按照本发明的一个实施例的用于产生虚拟世界中的声音的设备的方框图。图3的设备300可以包括确定装置301、分析装置302和生成装置303。
确定装置301可以被配置用于基于虚拟世界中物体的3D模型确定物体的弹性模型。
在一个实施例中,确定装置301可以包括:获取单元。该获取单元可以被配置用于获取物体的弹性模型的粒子的质量、硬度系数和阻尼系数中的至少一个。在本发明的一个例子中,获取单元可以包括:用于得到3D模型的质量的装置;用于确定3D模型中的顶点数目作为弹性模型的粒子数目的装置;以及用于根据3D模型质量和弹性模型的粒子数目,计算弹性模型的粒子的质量的装置。在本发明的另一个例子中,获取单元可以包括:用于得到3D模型中的顶点的邻边平均长度的装置;用于根据邻边平均长度来计算一个面积作为弹性模型的粒子的面积的装置;以及用于根据预先设定的单位面积硬度系数和弹性模型中的粒子的面积,计算弹性模型的粒子的硬度系数的装置。在本发明的另一个例子中,获取单元可以包括:用于接收用户输入或预先设定的值作为弹性模型的粒子的阻尼系数的装置。
分析装置302可以被配置用于分析虚拟世界中的碰撞对3D模型所产生的力分量。在一个实施例中,分析装置302可以包括:用于对3D模型进行受力分析,以得到碰撞对3D模型产生的瞬时接触力分量和摩擦力分量中的至少一个的装置。
生成装置303可以被配置用于根据弹性模型和力分量,生成碰撞所产生的声音。在一个实施例中,生成装置303可以包括:用于根据力分量对弹性模型进行裁剪的装置;用于基于裁剪后的弹性模型和力分量生成声源的装置;用于对声源进行过滤的装置;用于对过滤后的声源进行衰减的装置;以及用于将经过衰减的声源与碰撞引起的其他声源进行混合的装置。在本发明的一个例子中,用于根据力分量对弹性模型进行裁剪的装置可以包括:用于得到与弹性模型中的各个粒子相对应的3D模型中的各个顶点的力分量的装置;以及用于如果一个顶点的一个或多个力分量小于相应的预定阈值,则将与顶点相对应的粒子从弹性模型中去除的装置。
本发明的实施例还公开了一种声卡,该声卡用于产生虚拟世界中的声音。根据本发明的实施方式的声卡可以包括:处理器,包括根据权利要求9-16中任一项的用于产生虚拟世界中的声音的设备;滤波器,被配置用于对处理器产生的声源进行过滤;衰减器,被配置用于对过滤后的声源进行衰减;以及混合器,被配置用于将经过衰减的声源与碰撞引起的其他声源进行混合。
图6示意性示出了可以实现根据本发明的实施例的计算设备的结构方框图。
图6中所示的计算机系统包括CPU(中央处理单元)601、RAM(随机存取存储器)602、ROM(只读存储器)603、系统总线604,硬盘控制器605、键盘控制器606、串行接口控制器607、并行接口控制器608、显示器控制器609、硬盘610、键盘611、串行外部设备612、并行外部设备613和显示器614。在这些部件中,与系统总线604相连的有CPU 601、RAM 602、ROM 603、硬盘控制器605、键盘控制器606,串行接口控制器607,并行接口控制器608和显示器控制器609。硬盘610与硬盘控制器605相连,键盘611与键盘控制器606相连,串行外部设备612与串行接口控制器607相连,并行外部设备613与并行接口控制器608相连,以及显示器614与显示器控制器609相连。
图6中每个部件的功能在本技术领域内都是众所周知的,并且图6所示的结构也是常规的。不同的应用中,可以向图6中所示的结构添加某些部件,或者图6中的某些部件可以被省略。图6中所示的整个系统由通常作为软件存储在硬盘610中、或者存储在EPROM或者其他非易失性存储器中的计算机可读指令控制。软件也可从网络(图中未示出)下载。或者存储在硬盘610中,或者从网络下载的软件可被加载到RAM 602中,并由CPU 601执行,以便完成由软件确定的功能。
尽管图6中描述的计算机系统能够支持根据本发明的实施方式的用于产生虚拟世界中的声音的设备,但是其只是计算机系统的一个例子。本领域的熟练技术人员可以理解,许多其他计算机系统设计也能实现本发明的实施例。
本发明的实施方式还涉及一种计算机程序产品,该计算机程序产品包括用于执行如下的代码:基于虚拟世界中物体的3D模型确定该物体的弹性模型;分析虚拟世界中的碰撞对该3D模型所产生的力分量;以及根据弹性模型和力分量,生成该碰撞所产生的声音。在使用之前,可以把代码存储在其他计算机系统的存储器中,例如,存储在硬盘或诸如光盘或软盘的可移动的存储器中,或者经由因特网或其他计算机网络进行下载。
本发明的实施方式所公开的方法可以在软件、硬件、或软件和硬件的结合中实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器、个人计算机(PC)或大型机来执行。在优选实施方式中,本发明实现为软件,其包括但不限于固件、驻留软件、微代码等。
而且,本发明的实施方式还可以采取可从计算机可用或计算机可读介质访问的计算机程序产品的形式,这些介质提供程序代码以供计算机或任何指令执行系统使用或与其结合使用。出于描述目的,计算机可用或计算机可读机制可以是任何有形的装置,其可以包含、存储、通信、传播或传输程序以由指令执行系统、装置或设备使用或与其结合使用。
介质可以是电的、磁的、光的、电磁的、红外线的、或半导体的系统(或装置或器件)或传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可移动计算机磁盘、随机访问存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。目前光盘的例子包括紧凑盘-只读存储器(CD-ROM)、压缩盘-读/写(CD-R/W)和DVD。
适合于存储/或执行根据本发明的实施方式的程序代码的系统将包括至少一个处理器,其直接地或通过系统总线间接地耦合到存储器元件。存储器元件可以包括在程序代码的实际执行期间所利用的本地存储器、大容量存储器、以及提供至少一部分程序代码的临时存储以便减少执行期间从大容量存储器必须取回代码的次数的高速缓存存储器。
输入/输出或I/O设备(包括但不限于键盘、显示器、指点设备等等)可以直接地或通过中间I/O控制器耦合到系统。
网络适配器也可以耦合到系统,以使得系统能够通过中间的私有或公共网络而耦合到其他系统或远程打印机或存储设备。调制解调器、线缆调制解调器以及以太网卡仅仅是当前可用的网络适配器类型的几个例子。
应当注意,为了使本发明的实施方式更容易理解,上面的描述省略了对于本领域的技术人员来说是公知的、并且对于本发明的实施方式的实现可能是必需的更具体的一些技术细节。
提供本发明的说明书是为了说明和描述,而不是用来穷举或将本发明限制为所公开的形式。对本领域的普通技术人员而言,许多修改和变更都是可以的。
因此,选择并描述实施方式是为了更好地解释本发明的原理及其实际应用,并使本领域普通技术人员明白,在不脱离本发明实质的前提下,所有修改和变更均落入由权利要求所限定的本发明的保护范围之内。
Claims (14)
1.一种用于产生虚拟世界中的声音的方法,包括:
基于虚拟世界中物体的3D模型确定所述物体的弹性模型;
分析虚拟世界中的碰撞对所述3D模型所产生的力分量;以及
根据所述弹性模型和所述力分量,生成所述碰撞所产生的声音,
其中分析虚拟世界中的碰撞对所述3D模型所产生的力分量包括:对所述3D模型进行受力分析,以得到所述碰撞对所述3D模型产生的摩擦力分量。
2.根据权利要求1的方法,其中基于虚拟世界中物体的3D模型确定所述物体的弹性模型包括:
获取所述物体的弹性模型的粒子的质量、硬度系数和阻尼系数中的至少一个。
3.根据权利要求2的方法,其中获取所述物体的弹性模型的粒子的质量包括:
得到所述3D模型的质量;
确定所述3D模型中的顶点数目作为弹性模型的粒子数目;以及
根据所述3D模型质量和所述弹性模型的粒子数目,计算所述弹性模型的粒子的质量。
4.根据权利要求2的方法,其中获取所述物体的弹性模型的粒子的硬度系数包括:
得到所述3D模型中的顶点的邻边平均长度;
根据所述邻边平均长度来计算一个面积,作为弹性模型的粒子的面积;以及
根据预先设定的单位面积硬度系数和所述弹性模型中的粒子的面积,计算所述弹性模型的粒子的硬度系数。
5.根据权利要求2的方法,其中获取所述物体的弹性模型的粒子的阻尼系数包括:
接收用户输入或预先设定的值作为弹性模型的粒子的阻尼系数。
6.根据权利要求1的方法,其中分析虚拟世界中的碰撞对所述3D模型所产生的力分量还包括:对所述3D模型进行受力分析,以得到所述碰撞对所述3D模型产生的瞬时接触力分量。
7.根据权利要求1的方法,其中根据所述弹性模型和所述力分量生成所述碰撞所产生的声音包括:
根据所述力分量对所述弹性模型进行裁剪;
基于裁剪后的弹性模型和所述力分量生成声源;
对所述声源进行过滤;
对过滤后的声源进行衰减;以及
将经过衰减的声源与所述碰撞引起的其他声源进行混合,
其中根据所述力分量对所述弹性模型进行裁剪包括:
得到与所述弹性模型中的各个粒子相对应的3D模型中的各个顶点的力分量;以及
如果一个顶点的一个或多个力分量小于相应的预定阈值,则将与所述顶点相对应的粒子从弹性模型中去除。
8.一种用于产生虚拟世界中的声音的设备,包括:
确定装置,被配置用于基于虚拟世界中物体的3D模型确定所述物体的弹性模型;
分析装置,被配置用于分析虚拟世界中的碰撞对所述3D模型所产生的力分量;以及
生成装置,被配置用于根据所述弹性模型和所述力分量,生成所述碰撞所产生的声音,
其中所述分析装置包括:用于对所述3D模型进行受力分析,以得到所述碰撞对所述3D模型产生的摩擦力分量的装置。
9.根据权利要求8的设备,其中所述确定装置包括:
获取单元,被配置用于获取所述物体的弹性模型的粒子的质量、硬度系数和阻尼系数中的至少一个。
10.根据权利要求9的设备,其中所述获取单元包括:
用于得到所述3D模型的质量的装置;
用于确定所述3D模型中的顶点数目作为弹性模型的粒子数目的装置;以及
用于根据所述3D模型质量和所述弹性模型的粒子数目,计算所述弹性模型的粒子的质量的装置。
11.根据权利要求9的设备,其中所述获取单元包括:
用于得到所述3D模型中的顶点的邻边平均长度的装置;
用于根据所述邻边平均长度来计算一个面积作为弹性模型的粒子的面积的装置;以及
用于根据预先设定的单位面积硬度系数和所述弹性模型中的粒子的面积,计算所述弹性模型的粒子的硬度系数的装置。
12.根据权利要求9的设备,其中所述获取单元包括:
用于接收用户输入或预先设定的值作为弹性模型的粒子的阻尼系数的装置。
13.根据权利要求8的方法,其中所述分析装置进一步包括:对所述3D模型进行受力分析,以得到所述碰撞对所述3D模型产生的瞬时接触力分量的装置。
14.根据权利要求8的设备,其中所述生成装置包括:
用于根据所述力分量对所述弹性模型进行裁剪的装置;
用于基于裁剪后的弹性模型和所述力分量生成声源的装置;
用于对所述声源进行过滤的装置;
用于对过滤后的声源进行衰减的装置;以及
用于将经过衰减的声源与所述碰撞引起的其他声源进行混合的装置,其中用于根据所述力分量对所述弹性模型进行裁剪的装置包括:
用于得到与所述弹性模型中的各个粒子相对应的3D模型中的各个顶点的力分量的装置;以及
用于如果一个顶点的一个或多个力分量小于相应的预定阈值,则将与所述顶点相对应的粒子从弹性模型中去除的装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110051604.5A CN102651214B (zh) | 2011-02-28 | 2011-02-28 | 用于产生虚拟世界中的声音的方法、设备和声卡 |
US13/403,974 US9564115B2 (en) | 2011-02-28 | 2012-02-23 | Producing sounds in a virtual world and related sound card |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110051604.5A CN102651214B (zh) | 2011-02-28 | 2011-02-28 | 用于产生虚拟世界中的声音的方法、设备和声卡 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102651214A CN102651214A (zh) | 2012-08-29 |
CN102651214B true CN102651214B (zh) | 2015-01-07 |
Family
ID=46693209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110051604.5A Active CN102651214B (zh) | 2011-02-28 | 2011-02-28 | 用于产生虚拟世界中的声音的方法、设备和声卡 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9564115B2 (zh) |
CN (1) | CN102651214B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104134226B (zh) * | 2014-03-12 | 2015-08-19 | 腾讯科技(深圳)有限公司 | 一种虚拟场景中的声音模拟方法、装置及客户端设备 |
GB201409764D0 (en) | 2014-06-02 | 2014-07-16 | Accesso Technology Group Plc | Queuing system |
US11900734B2 (en) | 2014-06-02 | 2024-02-13 | Accesso Technology Group Plc | Queuing system |
CN112561775B (zh) * | 2021-02-22 | 2021-05-04 | 欢乐互娱(上海)科技股份有限公司 | 基于gpu实现粒子阻尼效果的方法、装置及存储介质 |
CN114501296A (zh) * | 2022-01-28 | 2022-05-13 | 联想(北京)有限公司 | 一种音频处理方法及车载多媒体设备 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5977469A (en) * | 1997-01-17 | 1999-11-02 | Seer Systems, Inc. | Real-time waveform substituting sound engine |
JPH11272156A (ja) | 1998-03-25 | 1999-10-08 | Sega Enterp Ltd | 仮想三次元音像生成装置及びその方法並びに媒体 |
JP2000267675A (ja) | 1999-03-16 | 2000-09-29 | Sega Enterp Ltd | 音響信号処理装置 |
US6647359B1 (en) * | 1999-07-16 | 2003-11-11 | Interval Research Corporation | System and method for synthesizing music by scanning real or simulated vibrating object |
CA2386446A1 (en) * | 2001-05-15 | 2002-11-15 | James Phillipsen | Parameterized interactive control of multiple wave table sound generation for video games and other applications |
JP4736771B2 (ja) * | 2005-12-09 | 2011-07-27 | ソニー株式会社 | 効果音生成装置及び効果音生成方法、並びにコンピュータ・プログラム |
EP2005342B1 (en) * | 2006-04-08 | 2019-06-05 | Allan Millman | Method and system for interactive simulation of materials |
US20090015583A1 (en) * | 2007-04-18 | 2009-01-15 | Starr Labs, Inc. | Digital music input rendering for graphical presentations |
US20100197401A1 (en) * | 2009-02-04 | 2010-08-05 | Yaniv Altshuler | Reliable, efficient and low cost method for games audio rendering |
JP5357685B2 (ja) * | 2009-09-28 | 2013-12-04 | 株式会社ソニー・コンピュータエンタテインメント | 3次元オブジェクト処理装置、3次元オブジェクト処理方法、プログラム、及び情報記憶媒体 |
-
2011
- 2011-02-28 CN CN201110051604.5A patent/CN102651214B/zh active Active
-
2012
- 2012-02-23 US US13/403,974 patent/US9564115B2/en active Active
Non-Patent Citations (3)
Title |
---|
Dynamically Simulated Characters in Virtual Environments;David C. Brogan et al;《Animating Virtual Humans》;19981031 * |
Interactive Sound Synthesis for Large Scale Environments;Nikunj Raghuvanshi et al;《I3D 2006》;20060314 * |
孙伟,张志胜,史金飞.教育机器人仿真系统中的声音设计.《计算机工程》.2009, * |
Also Published As
Publication number | Publication date |
---|---|
US9564115B2 (en) | 2017-02-07 |
US20120219164A1 (en) | 2012-08-30 |
CN102651214A (zh) | 2012-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Raghuvanshi et al. | Efficient and accurate sound propagation using adaptive rectangular decomposition | |
US10679407B2 (en) | Methods, systems, and computer readable media for modeling interactive diffuse reflections and higher-order diffraction in virtual environment scenes | |
O'Brien et al. | Synthesizing sounds from physically based motion | |
Van Den Doel et al. | FoleyAutomatic: physically-based sound effects for interactive simulation and animation | |
Cui et al. | Physics-based seismic hazard analysis on petascale heterogeneous supercomputers | |
CN102651214B (zh) | 用于产生虚拟世界中的声音的方法、设备和声卡 | |
Taylor et al. | Resound: interactive sound rendering for dynamic virtual environments | |
US20160034248A1 (en) | Methods, systems, and computer readable media for conducting interactive sound propagation and rendering for a plurality of sound sources in a virtual environment scene | |
US20150294041A1 (en) | Methods, systems, and computer readable media for simulating sound propagation using wave-ray coupling | |
Dybiec et al. | Subordinated diffusion and continuous time random walk asymptotics | |
Papaloizou et al. | Dynamic tides in rotating objects: a numerical investigation of inertial waves in fully convective or barotropic stars and planets | |
Brown et al. | How to build a digital river | |
Chartier et al. | Methodology for earthquake rupture rate estimates of fault networks: Example for the western Corinth rift, Greece | |
Fujita et al. | A quick earthquake disaster estimation system with fast urban earthquake simulation and interactive visualization | |
van den Doel et al. | Interactive simulation of complex audiovisual scenes | |
Manocha et al. | Interactive sound rendering | |
Manteaux et al. | Interactive detailed cutting of thin sheets | |
Charalampous et al. | Sound propagation in 3D spaces using computer graphics techniques | |
Was et al. | Agentbased approach and cellular automata-a promising perspective in crowd dynamics modeling | |
Stienen | Real-time auralisation of outdoor sound propagation | |
EP4127978A1 (en) | Force-directed graph layout | |
Liu et al. | Sound Synthesis | |
GB2593700A (en) | Force-directed graph layout | |
CN106570201A (zh) | 粘弹介质数值模拟方法及系统 | |
JP2009205626A (ja) | 接触音のリアルタイム生成装置、方法、プログラムおよびプログラムを格納した記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |