CN111111167B - 游戏场景中的音效播放方法和装置、电子装置 - Google Patents
游戏场景中的音效播放方法和装置、电子装置 Download PDFInfo
- Publication number
- CN111111167B CN111111167B CN201911236947.1A CN201911236947A CN111111167B CN 111111167 B CN111111167 B CN 111111167B CN 201911236947 A CN201911236947 A CN 201911236947A CN 111111167 B CN111111167 B CN 111111167B
- Authority
- CN
- China
- Prior art keywords
- sound source
- target
- distance
- current position
- target sound
- 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
- 230000000694 effects Effects 0.000 title claims abstract description 213
- 238000000034 method Methods 0.000 title claims abstract description 90
- 230000008569 process Effects 0.000 claims abstract description 29
- 238000001514 detection method Methods 0.000 claims description 42
- 238000012937 correction Methods 0.000 claims description 26
- 230000015654 memory Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 12
- 238000003860 storage Methods 0.000 claims description 10
- 230000007613 environmental effect Effects 0.000 abstract description 22
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 22
- 238000004364 calculation method Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- YBJHBAHKTGYVGT-ZKWXMUAHSA-N (+)-Biotin Chemical compound N1C(=O)N[C@@H]2[C@H](CCCCC(=O)O)SC[C@@H]21 YBJHBAHKTGYVGT-ZKWXMUAHSA-N 0.000 description 1
- 241000272171 Scolopacidae Species 0.000 description 1
- 238000010521 absorption reaction Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000009194 climbing Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000005429 filling process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 208000015041 syndromic microphthalmia 10 Diseases 0.000 description 1
- FEPMHVLSLDOMQC-UHFFFAOYSA-N virginiamycin-S1 Natural products CC1OC(=O)C(C=2C=CC=CC=2)NC(=O)C2CC(=O)CCN2C(=O)C(CC=2C=CC=CC=2)N(C)C(=O)C2CCCN2C(=O)C(CC)NC(=O)C1NC(=O)C1=NC=CC=C1O FEPMHVLSLDOMQC-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/54—Controlling the output signals based on the game progress involving acoustic signals, e.g. for simulating revolutions per minute [RPM] dependent engine sounds in a driving game or reverberation against a virtual wall
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/42—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
- A63F13/424—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving acoustic input signals, e.g. by using the results of pitch or rhythm extraction or voice recognition
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/6063—Methods for processing data by generating or executing the game program for sound processing
- A63F2300/6081—Methods for processing data by generating or executing the game program for sound processing generating an output signal, e.g. under timing constraints, for spatialization
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- Stereophonic System (AREA)
Abstract
本发明公开了一种游戏场景中的音效播放方法和装置、电子装置。其中,该方法包括:在目标游戏运行的过程中获取玩家帐号控制的虚拟对象在目标游戏的游戏场景中的当前位置;根据预先为游戏场景建立的声场数据获取与当前位置对应的目标音效类型和目标声源距离;根据目标声源距离获取当前位置上的目标声源方位;至少根据目标音效类型、目标声源距离和目标声源方位,在当前位置上播放目标音效,其中,目标音效的类型为目标音效类型,目标声源距离用于确定目标音效的大小,目标声源方位用于确定目标音效的声源的声源位置。本发明解决了现有技术中,对环境区域的声场数据配置效率低的技术问题。
Description
技术领域
本发明涉及游戏领域,具体而言,涉及一种游戏场景中的音效播放方法和装置、电子装置。
背景技术
为了使玩家更逼真的体现游戏,游戏的不同场景下存在不同的声效。目前游戏内环境音效的播放主要通过配置或者射线检测方式来实现。配置主要是指在环境区域布置播放点,当玩家进入播放区域,就可以听到环境音效;射线检测方式是指通过围绕玩家的周边进行射线检测,判断周边区域的环境类型以及声学参数,再控制环境音效的播放。
对于河流等大规模环境区域,配置播放点效率极低,并且需要确保配置点连续性和数量,才能保证环境声听感的连续性。另外对于动态运动的环境,是无法配置的。射线检测运用主要是探测环境区域是否存在,存在即播放环境音效,无方位感。如果需要通过射线检测实现方位感,需要增加探测的点和检测频率,性能开销大,尤其对于细长的环境区域实现复杂度较高。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种游戏场景中的音效播放方法和装置、电子装置,以至少解决现有技术中,对环境区域的声场数据配置效率低的技术问题。
根据本发明实施例的一个方面,提供了一种游戏场景中的音效播放方法,包括:在目标游戏运行的过程中获取玩家帐号控制的虚拟对象在所述目标游戏的游戏场景中的当前位置;根据预先为所述游戏场景建立的声场数据获取与所述当前位置对应的目标音效类型和目标声源距离;根据所述目标声源距离获取所述当前位置上的目标声源方位;至少根据所述目标音效类型、所述目标声源距离和所述目标声源方位,在所述当前位置上播放目标音效,其中,所述目标音效的类型为所述目标音效类型,所述目标声源距离用于确定所述目标音效的大小,所述目标声源方位用于确定所述目标音效的声源的声源位置。
根据本发明实施例的另一方面,还提供了一种游戏场景中的音效播放装置,包括:第一获取单元,用于在目标游戏运行的过程中获取玩家帐号控制的虚拟对象在所述目标游戏的游戏场景中的当前位置;第二获取单元,用于根据预先为所述游戏场景建立的声场数据获取与所述当前位置对应的目标音效类型和目标声源距离;第三获取单元,用于根据所述目标声源距离获取所述当前位置上的目标声源方位;播放单元,用于至少根据所述目标音效类型、所述目标声源距离和所述目标声源方位,在所述当前位置上播放目标音效,其中,所述目标音效的类型为所述目标音效类型,所述目标声源距离用于确定所述目标音效的大小,所述目标声源方位用于确定所述目标音效的声源的声源位置。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述游戏场景中的音效播放方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的游戏场景中的音效播放方法。
在本发明实施例中,通过在目标游戏运行的过程中获取玩家帐号控制的虚拟对象在目标游戏的游戏场景中的当前位置;根据预先为游戏场景建立的声场数据获取与当前位置对应的目标音效类型和目标声源距离;根据目标声源距离获取当前位置上的目标声源方位;至少根据目标音效类型、目标声源距离和目标声源方位,在当前位置上播放目标音效,其中,目标音效的类型为目标音效类型,目标声源距离用于确定目标音效的大小,目标声源方位用于确定目标音效的声源的声源位置,达到了预先根据游戏地图对游戏场景建立声场数据,根据玩家控制的虚拟对象在游戏场景中的当前位置,确定当前位置对应的音效类型和声源距离,以及根据声源距离确定当前位置上的声源方位,并至少根据目标音效类型、目标声源距离和目标声源方位,在当前位置上播放目标音效的目的,从而实现了根据游戏场景地图自动生成游戏环境区域的声场数据,虚拟操作对象在不同的位置获取该位置对应的声场数据的技术效果,进而解决了现有技术中,对环境区域的声场数据配置效率低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的游戏场景中的音效播放方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的游戏场景中的音效播放方法的流程图;
图3是根据本发明实施例的一种可选的获取与当前位置对应的目标声源距离的示意图;
图4是根据本发明实施例的一种可选的环境区域3D动态音效播放的方法流程图;
图5是根据本发明实施例的一种可选的游戏中的环境地图的转换为二维网格示意图;
图6是根据本发明实施例的一种可选的游戏中的对二维网格填充的示意图;
图7是根据本发明实施例的一种可选的检测区域为矩形区域的示意图;
图8是根据本发明实施例的一种可选的A点直线运动到B点过程,三个声学参数计算结果示意图;
图9是根据本发明实施例的一种可选的游戏正常运行实时计算流程图;
图10是根据本发明实施例的一种可选的加入分档参数控制的实时运行流程;
图11是根据本发明实施例的一种可选的游戏场景中的音效播放装置的结构示意图;
图12是根据本发明实施例的一种可选的游戏场景中的音效播放方法的电子装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种游戏场景中的音效播放方法,可选地,作为一种可选的实施方式,上述游戏场景中的音效播放方法可以但不限于应用于如图1所示的硬件环境中的游戏场景中的音效播放系统中,其中,该游戏场景中的音效播放系统可以包括但不限于终端设备102、网络110及服务器112。其中,该终端设备102中运行有游戏客户端,用于在游戏场景中在虚拟对象所在的位置处播放目标音效。
其中,上述终端设备102中可以包括但不限于:显示器108,处理器106及存储器104。人机交互屏幕104用于通过人机交互接口获取人机交互指令,还用于呈现游戏任务中的游戏画面;处理器106用于响应上述人机交互指令,控制虚拟对象移动到当前位置。存储器108用于存储虚拟对象的属性、虚拟对象在游戏地图中当前所处的位置信息,及游戏场景中的声场数据参数。这里服务器可以包括但不限于:数据库114及处理引擎116,处理引擎116用于调用数据库114中存储的虚拟对象当前在游戏环境中的位置信息,根据预先为所述游戏场景建立的声场数据获取与所述当前位置对应的目标音效类型和目标声源距离,根据所述目标声源距离获取所述当前位置上的目标声源方位,至少根据所述目标音效类型、所述目标声源距离和所述目标声源方位,在所述当前位置上播放目标音效。达到了预先根据游戏地图对游戏场景建立声场数据,根据玩家控制的虚拟对象在游戏场景中的当前位置,确定当前位置对应的音效类型和声源距离,以及根据声源距离确定当前位置上的声源方位,并至少根据目标音效类型、目标声源距离和目标声源方位,在当前位置上播放目标音效的目的,从而实现了根据游戏场景地图自动生成游戏环境区域的声场数据,虚拟操作对象在不同的位置获取该位置对应的声场数据的技术效果,进而解决了现有技术中,对环境区域的声场数据配置效率低的技术问题。
具体过程如以下步骤:在终端设备102中的人机交互屏幕104显示游戏客户端运行一局游戏任务的交互界面(如图1所示为射击类游戏,目标虚拟角色正在狙击远处的目标对象)。如步骤S102-S112,获取玩家帐号控制的虚拟对象在目标游戏的游戏场景中的当前位置,并将当前位置通过网络110发送服务器112。在服务器112根据预先为游戏场景建立的声场数据获取与当前位置对应的目标音效类型和目标声源距离,根据目标声源距离获取当前位置上的目标声源方位;至少根据目标音效类型、目标声源距离和目标声源方位,在当前位置上播放目标音效。然后将上述确定出的目标音效返回终端设备102。
然后,如步骤S102-S110,终端设备102目标游戏运行的过程中获取玩家帐号控制的虚拟对象在目标游戏的游戏场景中的当前位置,根据预先为游戏场景建立的声场数据获取与当前位置对应的目标音效类型和目标声源距离,根据目标声源距离获取当前位置上的目标声源方位;至少根据目标音效类型、目标声源距离和目标声源方位,在当前位置上播放目标音效。达到了预先根据游戏地图对游戏场景建立声场数据,根据玩家控制的虚拟对象在游戏场景中的当前位置,确定当前位置对应的音效类型和声源距离,以及根据声源距离确定当前位置上的声源方位,并至少根据目标音效类型、目标声源距离和目标声源方位,在当前位置上播放目标音效的目的,从而实现了根据游戏场景地图自动生成游戏环境区域的声场数据,虚拟操作对象在不同的位置获取该位置对应的声场数据的技术效果,进而解决了现有技术中,对环境区域的声场数据配置效率低的技术问题。
可选地,作为一种可选的实施方式,如图2所示,上述游戏场景中的音效播放方法包括:
步骤S202,在目标游戏运行的过程中获取玩家帐号控制的虚拟对象在目标游戏的游戏场景中的当前位置。
步骤S204,根据预先为游戏场景建立的声场数据获取与当前位置对应的目标音效类型和目标声源距离。
步骤S206,根据目标声源距离获取当前位置上的目标声源方位。
步骤S208,至少根据目标音效类型、目标声源距离和目标声源方位,在当前位置上播放目标音效,其中,目标音效的类型为目标音效类型,目标声源距离用于确定目标音效的大小,目标声源方位用于确定目标音效的声源的声源位置。
可选的,在本实施例中,上述游戏场景中的音效播放方法可以但不限于应用于游戏场景中的虚拟对象在游戏地图上完成游戏任务的游戏应用中,如远程射击类游戏应用、竞速类游戏应用等。其中,上述游戏应用可以为多人在线战术竞技游戏(MultiplayerOnline Battle Arena简称为MOBA)或者为单人游戏(Single-Player Game简称为SPG)。需要说明的是,上述游戏应用的类型可以包括但不限于以下至少之一:二维(Two Dimension,简称2D)游戏应用、三维(Three Dimension,简称3D)游戏应用、虚拟现实(VirtualReality,简称VR)游戏应用、增强现实(Augmented Reality,简称AR)游戏应用、混合现实(Mixed Reality,简称MR)游戏应用。以上只是一种示例,本实施例对此不作任何限定。
可选的,本实施例中的,声场数据可以包括但不限于声音类型、声源距离、方位、环绕。上述游戏场景中的音效播放方法可以适用于各种环境区域音效播放。
可选的,在本实施例中,获取游戏地图环境区域的物理信息,投影成平面二维数据,预先为游戏场景建立声场数据,根据游戏场景建立的声场数据获取与当前位置对应的目标音效类型和目标声源距离。进一步的,可以根据目标声源距离获取当前位置上的目标声源方位,从而至少据目标音效类型、目标声源距离和目标声源方位,在当前位置上播放目标音效,其中,目标音效的类型为目标音效类型,目标声源距离用于确定目标音效的大小,目标声源方位用于确定目标音效的声源的声源位置。进而在虚拟对象所在位置处播放目标音效。
例如,玩家控制的虚拟对象当前位置为一条河流边缘的A点,根据预先为游戏场景建立的声场数据获取与A点对应的目标音效类型和目标声源距离,根据目标声源距离获取当前位置上的目标声源方位,进而根据至少根据目标音效类型、目标声源距离和目标声源方位,在当前位置上播放目标音效。即在A点的播放环绕性的音效,其中该音效距离A点10厘米,与A点夹角10度方位的身源。
需要说明的是,为了减少服务器的计算压力,可以对游戏场景的声场数据进行离线编码,通过对游戏地图中的环境区域为例,将其游戏场景3D网格模型投影转换成2D网格,然后对2D网格进行图像填充处理,保证区域连通,并对不同区域做不同标记。通过模拟声场生成算法对图像声学数据计算,并根据实际地理环境进行校正。最后把计算得到的声学数据进行压缩处理,保存为编码文件。进而确地出该游戏场景中的声场数据。
进一步的,游戏初始化时,解析编码文件数据。运行时根据游戏玩家的位置坐标(2D,3D),读取所在位置的压缩数据。解析压缩数据,计算提取声学参数,然后通过音频接口设置和播放对应环境音效。
可选的,根据预先为游戏场景建立的声场数据获取与当前位置对应的目标声源距离,包括:
S1,在声场数据中获取与当前位置对应的目标声源距离,其中,目标声源距离为预先设置的声源的最大传播距离减去当前位置到声源位置的距离;或者
S2,在声场数据中获取与当前位置对应的当前位置到声源位置的距离,并将预先设置的声源最大传播距离减去当前位置到声源位置的距离,得到目标声源距离。
例如,声源的位置为B点,虚拟对象的位置为A点,声源B最大的传播距离为半径为R的区域,也就是说,在距离声源B点的距离为R的点上听不到B点声源的声音,则可以将半径为R的圆的边缘作为O点,目标声源的距离为R-BA,BA是当前位置与声源B之间的距离。如图3所示,获取与当前位置对应的目标声源距离的示意图。
可选的,根据目标声源距离获取当前位置上的目标声源方位,可以包括:根据以当前位置为中心的检测区域的边上的点到声源位置的距离、当前位置到声源位置的距离、边上的点到当前位置的距离,在边上查找目标方位点;根据目标方位点与当前位置确定出声源相对于当前位置的目标声源方位。
其中,根据以当前位置为中心的检测区域的边上的点到声源位置的距离、当前位置到声源位置的距离、边上的点到当前位置的距离,在边上查找目标方位点,包括:获取边上每个点的归一化距离差值其中,r表示边上的点,A表示当前位置,Gr表示点r到声源位置的距离,GA表示当前位置到声源位置的距离,Dr-A表示点r到当前位置的距离;将边上G′r最大的点r确定为目标方位点。
可选的,根据目标方位点与当前位置确定出声源相对于当前位置的目标声源方位,可以包括:在检测区域为矩形区域的情况下,获取目标方位点与当前位置的连线与检测区域的水平轴之间的夹角,其中,夹角用于表示目标声源方位。
可选的,在根据预先为游戏场景建立的声场数据获取与当前位置对应的目标音效类型和目标声源距离之后,方法还包括:根据当前位置获取当前位置上的目标环绕参数;至少根据目标音效类型、目标声源距离和目标声源方位,在当前位置上播放目标音效,包括:至少根据目标音效类型、目标声源距离、目标声源方位和目标环绕参数,在当前位置上播放目标音效。
其中,根据当前位置获取当前位置上的目标环绕参数,可以包括:根据以当前位置为中心的检测区域的边上的点到声源位置的距离、以及边上的点的总数,确定目标环绕参数。
需要说明的是,根据以当前位置为中心的检测区域的边上的点到声源位置的距离、以及边上的点的总数,确定目标环绕参数,包括:在检测区域为矩形区域的情况下,将目标环绕参数确定为其中,r表示边上的点,Gr表示点r到声源位置的距离,Mean(Gr)表示边上的点到声源位置的距离的平均值,Count(Gr≥Mean(Gr))表示边上Gr大于平均值的点的个数。
可选的,在目标游戏运行的过程中获取玩家帐号控制的虚拟对象在目标游戏的游戏场景中的当前位置之前,上述方法还包括:
S1,为游戏场景中的每个位置确定目标音效类型和目标声源距离,其中,声场数据包括每个位置上的目标音效类型和目标声源距离;或者
S2,为游戏场景中的每个位置确定目标音效类型和每个位置到声源位置的距离,其中,每个位置上的目标声源距离为声源的最大传播距离减去每个位置到声源位置的距离,声场数据包括每个位置上的目标音效类型和每个位置到声源位置的距离;或者
S3,为游戏场景中的每个位置确定目标音效类型和每个位置到声源位置的距离的校正值,其中,每个位置上的目标声源距离为声源的最大传播距离减去每个位置到声源位置的距离的校正值,声场数据包括每个位置上的目标音效类型和每个位置到声源位置的距离的校正值。
其中,为游戏场景中的每个位置确定每个位置到声源位置的距离的校正值,可以包括:获取游戏场景中位置(x,y)到声源位置的距离G(x,y);将位置(x,y)到声源位置的距离的校正值确定为G(x,y)′=G(x,y)*G(x,y)/L(x,y);其中,G(x,y)′表示游戏场景中位置(x,y)到声源位置的距离的校正值,L(x,y)=Max{L(x,y),Mini=x-1,x+1,j=y-1,y+1{L(i,j)}},H(i,j)表示位置(i,j)上的高度。
需要说明的是,本实施例上述记载了针对高度值进行修正,在实际应用中,修正除高度外,还包括环境吸收、阻挡等因素。也就是说,可以对游戏场景中的每个位置确定每个位置到声源位置的所在环境进行校正。例如,当前游戏场景中包括大山、村庄中的房屋以及树木等。进行对环境中的其他声音进行修正等等。
可选的,在目标游戏运行的过程中获取玩家帐号控制的虚拟对象在目标游戏的游戏场景中的当前位置之前,上述方法还包括:在目标游戏运行时加载并解析预先生成的编码文件,得到声场数据。
通过本实施例,预先根据游戏地图对游戏场景建立声场数据,根据玩家控制的虚拟对象在游戏场景中的当前位置,确定当前位置对应的音效类型和声源距离,以及根据声源距离确定当前位置上的声源方位,并至少根据目标音效类型、目标声源距离和目标声源方位,在当前位置上播放目标音效的目的,从而实现了根据游戏场景地图自动生成游戏环境区域的声场数据,虚拟操作对象在不同的位置获取该位置对应的声场数据的技术效果,进而解决了现有技术中,对环境区域的声场数据配置效率低的技术问题。
需要说明的是,通过本实施例,实现3D动态氛围音效播放的系统和方法。首先,获取游戏地图环境区域的物理信息,投影成平面二维数据。然后通过声场模拟算法得到声场的距离表示,并根据实际场景进行高度信息校正,再将声场数据进行压缩编码成信息文件。游戏运行时根据效果配置类型,读取信息文件,提取播放点环境声的声学参数,控制环境音效的播放。
根据地图自动生成环境区域的声场数据,解决了静态环境区域的配置效率问题,同时支持动态运行的环境声场数据快速生成。通过声场数据快速提取声学参数,准确的还原环境音效的空间距离,方位和氛围感,同时拥有计算量小,性能开销低等特点。
结合上述实施例,本发明还提供了一种可选的实施例,一种环境区域3D动态音效播放的方法。
如图4所示,本发明实施例的一种可选的环境区域3D动态音效播放的方法流程图。本实施例适用于各种环境区域音效播放,此处仅以河流环境声播放为例介绍实现技术原理。
如图4所示,该方法包含离线编码和实时计算两部分。
一、离线编码部分:用于通过对游戏地图中的环境区域进行枚举,将其3D网格模型投影转换成2D网格,然后对2D网格进行图像填充处理,保证区域连通,并对不同区域做不同标记。通过模拟声场生成算法对图像声学数据计算,并根据实际地理环境进行校正。最后把计算得到的声学数据进行压缩处理,保存为编码文件。
二、实时计算部分:游戏初始化时,解析编码文件数据。运行时根据游戏玩家的位置坐标(2D,3D),读取所在位置的压缩数据。解析压缩数据,计算提取声学参数,然后通过音频接口设置和播放对应环境音效。
其中,离线编码部分包括:获取物理参数(游戏场景中的不同位置的声场物理参数)、声学模型计算、声学参数压缩。
1、获取物理参数,过程具体如下:
步骤1,获取目标游戏的游戏地图;
步骤2,通过物理模型将游戏地图的三维网格模型投影转换成二维网格投影;
根据环境声的类型,设置对应声场坐标的分辨率。获取建模对象的静态纹理数据,进行水平投影到声场坐标,得到二维网格填充图,如图5所示,游戏中的环境地图的转换为二维网格示意图。
步骤3,图像填充;
并对投影得到的二维网格进行图像填充,如图5所示,纹理直接投影区域存在不连续,需要对二维网格图进行图像块填充,得到建模对象块填充区域,结果如图6所示,对二维网格填充的示意图。填充区域图是2值图像,0为非环境区域(不关心的区域),1为环境区域(关心的需要产生音效的声源区域)。填充过程需要忽略非环境区域的误判。
2、声学模型计算,即可以包括声学参数的生成以及声学参数校正,过程具体如下:
假设位于水流区域内的声强度均匀分布,为Eo。不考虑能量衰减因素,距离水流水平距离为D点的声强,其中,R为声音传播的区域,Dr为D点到r点的距离(最大为传播区域的半径),E0为传播区域中每个点的声强值,不同的点上R的大小相同,但R内为1的点的个数不同:
D点坐标(x,y),水流区域r点坐标(xr,yr),代入得到:
假设能量下降阈值ED,计算的最小能量Emin满足:
上述方式可以计算出声学模型,计算量比较大,存储量较大。
当ED=-20dB,K=100,需要计算距离过长,产生过多数据样本点。考虑人耳心理听觉因素,D点的声强由周围水流区域产生的最大值近似:
计算距离公式满足:
当ED=-20dB,K=10,需要计算距离大大减少。
声强计算过程,未考虑实际能量衰减因素,直接用于表示声场,不适合实现不同环境和区域的衰减计算。可以将声强转换成距离表示,根据实际应用需要,针对不同环境区域的衰减因子决定实际能量值。
假设最大水流位置距离为K,考虑数据存储,大于K的取值为0,实际计算G=K-Dr。距离生成算法步骤如下(为了生成登高线):
步骤1,地图G(x,y)数据初始化,初始化水流区域距离为Griver(x,y)=1,非水流区域值距离为Gland(x,y)=0,设置最大水流距离K;(可以在边界上缩一些);
步骤2,判断Gmax(x,y)≥K,是则生成结束;否则执行第3步;
步骤3,遍历G(x,y)>0,G(x,y)=G(x,y)+1;
步骤4,遍历G(x,y)>0的邻近点:
G(x,y)=Maxi=x-1,x+1,j=y-1,y+1{G(i,j)-D(i,j)}
步骤5,跳转到第2步继续循环。
1)声学参数计算为:
环境声的声学参数主要包括三个:1)距离G(X,Y):声源的发声距离,决定音量大小;2)方位:声源的发声位置;3)环绕度:环境声包围程度。
通过扫描检测区域的路径数值变化,来计算声学参数。如图7所示,检测区域为矩形区域,区域范围R由方位分辨率来确定。A为(X,Y),未知声源点
假设方位分辨率θ,对应检测区域半径为R,满足公式:
当R=5时,分辨率达到9°,已经可以满足实际需要。
矩形区域为10*10,在矩形区域的边上找声源点,从而确定方位。
确定检测区域范围后,计算r位置的归一化距离差值G′r:
Dr-DA为r点到A的距离;
1)对应得到声源距离:K-(GA+Max{G′r})
a)当位于流水区域,GA=K,Max{G′r}=0,距离为0;
b)当位于流水声接收区域,K>GA>0,距离反应实际值;
c)当位于无流水声区域,GA=0,距离为K。
2)声源方位:Maxr{G′r},算出一个角度
图8为A点直线运动到B点过程,三个声学参数计算结果的示意图。左侧为环境区域和运动示意图;右侧第一个图为距离曲线,右侧第二个图为方位变化曲线,右侧第三个图为环绕程度变化曲线。
2)声学参数校正为:
上述计算的距离数据只考虑水平距离,未考虑高度因素影响。对于场景中存在陡峭悬崖边等地理环境时,计算得到的距离值很小,导致无距离效果的问题。需要考虑高度因素,进行加权处理。假设声音球形传播,各个传播方向能量相同,无能量衰减。假设水平计算点离水流距离为D,实际高度为H。考虑实际距离和高度差,修正后声强:
上述计算使用距离表示,距离修正算法类似上述距离生成过程,距离修正公式为:
L(x,y)=Max{L(x,y),Mini=x-1,x+1,j=y-1,y+1{L(i,j)}}
G(x,y)′=G(x,y)*D(x,y)/L(x,y)
3、数据压缩,其中,模型数据压缩保存步骤如下:
1)归一化距离值,最大距离为K,压缩前先归一化到0~1范围;
2)按照检测半径R大小分块索引编码,设置编码块大小为2R*2R矩形块;
3)计算矩形编码块2R的距离值,全零块不编码;
4)全1块特殊编码,非全1数据块编码位数,可以根据K值确定。
实际编码文件大小取决于环境区域边缘长度和K值大小。
其中,实时计算部分可以包括如下内容:
如图9所示,游戏正常运行实时计算的流程图。
步骤1,开始;
步骤2,首先加载并解析编码文件,初始化环境区域的声场信息;
其中,初始化:加载编码数据,解析块索引和解码压缩数据,读取地图初始偏移量offsetX,offsetY;编码块大小blockSize。
步骤3,游戏运行,判断玩家位置是否更新posX,posY,在是的情况下,执行步骤4;
步骤4,偏移量转换mapPosX=posX-offsetX,mapPosY=posY-offsetY;
在步骤4中,游戏运行时,根据游戏玩家当前的坐标点,更新目前所在区域的声场数据;
步骤5,块索引计算blockIndex=floor(mapPos/blockSize);块内坐标blockPos=mapPos-blockIndex*blockSize;
步骤6,根据当前块索引和块内坐标计算拼接矩形区域块索引catIndex[4][2]={LU,RU,LD,RD};修正当前块内坐标在大块的坐标blockPos=blockPos+blockOffset;
步骤7,根据catIndex查找对应数据块,nonDataCount为查找到的非零矩形块数目;2、将四个小矩形块拼接成矩形区域;
步骤8,判读存在有效数据块是否nonDataCount<4,在是的情况下,执行步骤9,在否的情况下,执行步骤10;
步骤9,利用blockPos计算检测坐标compIndex=[blockPos-R,blockPos+R],总数为4*2R;计算对应的归一化距离值G=(compG-blockG)/distance(compIndex,blockPos);
步骤10,更新3D声源对象坐标posPlayX=FLT_MAX,posPlayY=FLT_MAX;设置声场环绕度0%;
步骤11,查找最大G值和对应索引[maxG,maxIndex]=max(G);计算对应距离值Dist=K*(1-(compG+maxG));
步骤12,判断是否距离Dist>=K,在是的情况下,执行步骤13,在否的情况下,执行步骤14;
步骤13,判断是否距离Dist<=0,在是的情况下,执行步骤14,在否的情况下,执行步骤15;
步骤14,如果未播放水流音效,播放流水音效;更新3D流水声源对象的坐标posPlayX=posX,posPlayY=posY;设置声场环绕度100%。
步骤15,查找最大G值和对应索引[maxG,maxIndex]=max(G);
步骤16,利用maxG,maxIndex平滑方位变化,计算得到平滑方位索引nearIndex;转换成角度Angle=(nearIndex+5)*2pi/4*2R;计算声源偏移坐标:offsetSndX=-sinf(angle)*Dist,offsetSndY=-cosf(angle)*Dist;计算环绕度spread;
步骤17,如果未播放水流音效,播放流水音效;更新3D声源对象坐标posPlayX=posX+offsetSndX,posPlayY=posY+offsetSndY;设置声场环绕度spread;
步骤18,判断游戏是否继续,是的情况下,执行步骤19,否的情况下,执行步骤3;
步骤19,结束。
在上述实施例中,利用声场数据提取播放需要的声学参数(声音类型、声源距离、方位、环绕),调用音频中间件播放接口进行播放;循环重复上述更新和提取过程。
还需说明的是,本实施例中还可以进行分档设置,控制声场坐标分辨率和方位分辨率可以实现不同档的效果实现。
声场坐标分辨率:影响声场变化与坐标的关系,分辨率越小,减少加载的声场数据,降低内存占用。
方位分辨率:影响环境声方位感受的精确度,分辨率越小,计算的数据少,降低计算量。
如图10所示,加入分档参数控制的实时运行的流程图。具体的步骤如下:
步骤1,开始,即开始进行数据的加载;
步骤2,按照声场坐标分辨率Q加载压缩数据,默认Q=1,Q=1,加载全块数据;Q>1,抽取对应的数据;
步骤3,游戏运行,判断玩家位置posX,posY是否更新,是的情况下,执行步骤4,否的情况下,玩家所听到的音效不改变;
步骤4,Q=1,直接利用数据块构造矩阵块;Q>1,进行数据插值构造矩阵块;
步骤5,判断是否存在有效数据块nonDataCount<4,在是的情况下,执行步骤6,在否的情况下,执行步骤7;
步骤6,方位分辨率因子S,默认S=1,计算compIndex=[blockPos-R,blockPos+R],S=1,计算总数为4*2R,S>1,计算总数为4*2R/S;
步骤7,更新3D声源对象坐标,posPlayX=FLT_MAX,posPlayY=FLT_MAX;设置声场环绕度0%;
步骤8,判断是否距离Dist>=K,在是的情况下,执行步骤7,在否的情况下,执行步骤9;
步骤9,判断是否距离Dist<=0,在是的情况下,执行步骤10,在否的情况下,执行步骤11;
步骤10,如果未播放水流音效,播放流水音效;更新3D流水声源对象的坐标posPlayX=posX,posPlayY=posY;设置声场环绕度100%。
步骤11,查找最大G值和对应索引[maxG,maxIndex]=max(G)
步骤12,利用maxG,maxIndex平滑方位变化,计算得到平滑方位索引nearIndex;转换成角度Angle=(nearIndex+5)*2pi/4*2R;计算声源偏移坐标:offsetSndX=-sinf(angle)*Dist,offsetSndY=-cosf(angle)*Dist;计算环绕度spread;
步骤13,如果未播放水流音效,播放流水音效;更新3D声源对象坐标posPlayX=posX+offsetSndX,posPlayY=posY+offsetSndY;设置声场环绕度spread;
步骤14,判断游戏是否继续,在是的情况下,返回步骤3,在否的情况下,执行步骤15;
步骤15,结束。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述游戏场景中的音效播放方法的游戏场景中的音效播放装置。如图11所示,该装置包括:第一获取单元1101、第二获取单元1103、第三获取单元1105、播放单元1107。
第一获取单元1101,用于在目标游戏运行的过程中获取玩家帐号控制的虚拟对象在目标游戏的游戏场景中的当前位置;
第二获取单元1103,用于根据预先为游戏场景建立的声场数据获取与当前位置对应的目标音效类型和目标声源距离;
第三获取单元1105,用于根据目标声源距离获取当前位置上的目标声源方位;
播放单元1107,用于至少根据目标音效类型、目标声源距离和目标声源方位,在当前位置上播放目标音效,其中,目标音效的类型为目标音效类型,目标声源距离用于确定目标音效的大小,目标声源方位用于确定目标音效的声源的声源位置。
可选的,上述第三获取单元1105,包括:第一获取模块,用于在声场数据中获取与当前位置对应的目标声源距离,其中,目标声源距离为预先设置的声源的最大传播距离减去当前位置到声源位置的距离;或者第二获取模块,用于在声场数据中获取与当前位置对应的当前位置到声源位置的距离,并将预先设置的声源最大传播距离减去当前位置到声源位置的距离,得到目标声源距离。
可选的,上述第三获取单元1105,还可以包括:查找模块,用于根据以当前位置为中心的检测区域的边上的点到声源位置的距离、当前位置到声源位置的距离、边上的点到当前位置的距离,在边上查找目标方位点;第一确定模块,用于根据目标方位点与当前位置确定出声源相对于当前位置的目标声源方位。
其中,查找模块,可以包括:第一获取子模块,用于获取边上每个点的归一化距离差值其中,r表示边上的点,A表示当前位置,Gr表示点r到声源位置的距离,GA表示当前位置到声源位置的距离,Dr-A表示点r到当前位置的距离;第一确定子模块,用于将边上G′r最大的点r确定为目标方位点。
其中,上述第一确定模块,可以包括:第一获取子模块,用于在检测区域为矩形区域的情况下,获取目标方位点与当前位置的连线与检测区域的水平轴之间的夹角,其中,夹角用于表示目标声源方位。
通过上述装置实施例,第一获取单元1101在目标游戏运行的过程中获取玩家帐号控制的虚拟对象在目标游戏的游戏场景中的当前位置;第二获取单元1103根据预先为游戏场景建立的声场数据获取与当前位置对应的目标音效类型和目标声源距离;第三获取单元1105根据目标声源距离获取当前位置上的目标声源方位;播放单元1107至少根据目标音效类型、目标声源距离和目标声源方位,在当前位置上播放目标音效,其中,目标音效的类型为目标音效类型,目标声源距离用于确定目标音效的大小,目标声源方位用于确定目标音效的声源的声源位置。达到了预先根据游戏地图对游戏场景建立声场数据,根据玩家控制的虚拟对象在游戏场景中的当前位置,确定当前位置对应的音效类型和声源距离,以及根据声源距离确定当前位置上的声源方位,并至少根据目标音效类型、目标声源距离和目标声源方位,在当前位置上播放目标音效的目的,从而实现了根据游戏场景地图自动生成游戏环境区域的声场数据,虚拟操作对象在不同的位置获取该位置对应的声场数据的技术效果,进而解决了现有技术中,对环境区域的声场数据配置效率低的技术问题。
作为一种可选的实施例,上述装置还可以包括:第四获取单元,用于在根据预先为游戏场景建立的声场数据获取与当前位置对应的目标音效类型和目标声源距离之后,根据当前位置获取当前位置上的目标环绕参数;播放单元,还用于至少根据目标音效类型、目标声源距离、目标声源方位和目标环绕参数,在当前位置上播放目标音效。
其中,上述第四获取单元,可以包括:第二确定模块,用于根据以当前位置为中心的检测区域的边上的点到声源位置的距离、以及边上的点的总数,确定目标环绕参数。
其中,上述第二确定模块还用于:在检测区域为矩形区域的情况下,将目标环绕参数确定为其中,r表示边上的点,Gr表示点r到声源位置的距离,Mean(Gr)表示边上的点到声源位置的距离的平均值,Count(Gr≥Mean(Gr))表示边上Gr大于平均值的点的个数。
作为一种可选的实施例,上述装置还可以包括:
第一确定单元,用于在目标游戏运行的过程中获取玩家帐号控制的虚拟对象在目标游戏的游戏场景中的当前位置之前,为游戏场景中的每个位置确定目标音效类型和目标声源距离,其中,声场数据包括每个位置上的目标音效类型和目标声源距离;或者
第二确定单元,用于为游戏场景中的每个位置确定目标音效类型和每个位置到声源位置的距离,其中,每个位置上的目标声源距离为声源的最大传播距离减去每个位置到声源位置的距离,声场数据包括每个位置上的目标音效类型和每个位置到声源位置的距离;或者
第三确定单元,用于为游戏场景中的每个位置确定目标音效类型和每个位置到声源位置的距离的校正值,其中,每个位置上的目标声源距离为声源的最大传播距离减去每个位置到声源位置的距离的校正值,声场数据包括每个位置上的目标音效类型和每个位置到声源位置的距离的校正值。
其中,上述第三确定单元,可以包括:第三获取模块,用于获取游戏场景中位置(x,y)到声源位置的距离G(x,y);第三确定模块,用于将位置(x,y)到声源位置的距离的校正值确定为G(x,y)′=G(x,y)*G(x,y)/L(x,y);
其中,G(x,y)′表示游戏场景中位置(x,y)到声源位置的距离的校正值,L(x,y)=Max{L(x,y),Mini=x-1,x+1,j=y-1,y+1{L(i,j)}},
作为一种可选的实施例,上述装置还可以包括:得到单元,用于在目标游戏运行的过程中获取玩家帐号控制的虚拟对象在目标游戏的游戏场景中的当前位置之前,在目标游戏运行时加载并解析预先生成的编码文件,得到声场数据。
根据本发明实施例的又一个方面,还提供了一种用于实施上述游戏场景中的音效播放方法的电子装置,如图12所示,该电子装置包括存储器1202和处理器1204,该存储器1202中存储有计算机程序,该处理器1204被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,在目标游戏运行的过程中获取玩家帐号控制的虚拟对象在目标游戏的游戏场景中的当前位置;
S2,根据预先为游戏场景建立的声场数据获取与当前位置对应的目标音效类型和目标声源距离;
S3,根据目标声源距离获取当前位置上的目标声源方位;
S4,至少根据目标音效类型、目标声源距离和目标声源方位,在当前位置上播放目标音效,其中,目标音效的类型为目标音效类型,目标声源距离用于确定目标音效的大小,目标声源方位用于确定目标音效的声源的声源位置。
可选地,本领域普通技术人员可以理解,图12所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图12其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图12中所示更多或者更少的组件(如网络接口等),或者具有与图12所示不同的配置。
其中,存储器1202可用于存储软件程序以及模块,如本发明实施例中的游戏场景中的音效播放方法和装置对应的程序指令/模块,处理器1204通过运行存储在存储器1202内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的游戏场景中的音效播放方法。存储器1202可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1202可进一步包括相对于处理器1204远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1202具体可以但不限于用于虚拟对象的属性信息、虚拟对象所处的位置信息、游戏场景数据等信息。作为一种示例,如图12所示,上述存储器1202中可以但不限于包括上述游戏场景中的音效播放装置中的第一获取单元1101、第二获取单元1103、第三获取单元1105、播放单元1107。此外,还可以包括但不限于上述游戏场景中的音效播放装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1206用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1206包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1206为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器1208,用于显示上述游戏画面;和连接总线1210,用于连接上述电子装置中的各个模块部件。
根据本发明的实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在目标游戏运行的过程中获取玩家帐号控制的虚拟对象在目标游戏的游戏场景中的当前位置;
S2,根据预先为游戏场景建立的声场数据获取与当前位置对应的目标音效类型和目标声源距离;
S3,根据目标声源距离获取当前位置上的目标声源方位;
S4,至少根据目标音效类型、目标声源距离和目标声源方位,在当前位置上播放目标音效,其中,目标音效的类型为目标音效类型,目标声源距离用于确定目标音效的大小,目标声源方位用于确定目标音效的声源的声源位置。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (23)
1.一种游戏场景中的音效播放方法,其特征在于,包括:
在目标游戏运行的过程中获取玩家帐号控制的虚拟对象在所述目标游戏的游戏场景中的当前位置;
根据预先为所述游戏场景建立的声场数据获取与所述当前位置对应的目标音效类型和目标声源距离;
根据所述目标声源距离获取所述当前位置上的目标声源方位;
其中,所述根据所述目标声源距离获取所述当前位置上的目标声源方位,包括:根据以所述当前位置为中心的检测区域的边上的点到所述声源位置的距离、所述当前位置到所述声源位置的距离、所述边上的点到所述当前位置的距离,在所述边上查找目标方位点;根据所述目标方位点与所述当前位置确定出所述声源相对于所述当前位置的所述目标声源方位;
至少根据所述目标音效类型、所述目标声源距离和所述目标声源方位,在所述当前位置上播放目标音效,其中,所述目标音效的类型为所述目标音效类型,所述目标声源距离用于确定所述目标音效的大小,所述目标声源方位用于确定所述目标音效的声源的声源位置。
2.根据权利要求1所述的方法,其特征在于,所述根据预先为所述游戏场景建立的声场数据获取与所述当前位置对应的目标声源距离,包括:
在所述声场数据中获取与所述当前位置对应的所述目标声源距离,其中,所述目标声源距离为预先设置的所述声源的最大传播距离减去所述当前位置到所述声源位置的距离;或者
在所述声场数据中获取与所述当前位置对应的所述当前位置到所述声源位置的距离,并将预先设置的所述声源最大传播距离减去所述当前位置到所述声源位置的距离,得到所述目标声源距离。
4.根据权利要求1所述的方法,其特征在于,所述根据所述目标方位点与所述当前位置确定出所述声源相对于所述当前位置的所述目标声源方位,包括:
在所述检测区域为矩形区域的情况下,获取所述目标方位点与所述当前位置的连线与所述检测区域的水平轴之间的夹角,其中,所述夹角用于表示所述目标声源方位。
5.根据权利要求1所述的方法,其特征在于,
在根据预先为所述游戏场景建立的声场数据获取与所述当前位置对应的目标音效类型和目标声源距离之后,所述方法还包括:根据所述当前位置获取所述当前位置上的目标环绕参数;
至少根据所述目标音效类型、所述目标声源距离和所述目标声源方位,在所述当前位置上播放目标音效,包括:至少根据所述目标音效类型、所述目标声源距离、所述目标声源方位和所述目标环绕参数,在所述当前位置上播放所述目标音效。
6.根据权利要求5所述的方法,其特征在于,所述根据所述当前位置获取所述当前位置上的目标环绕参数,包括:
根据以所述当前位置为中心的检测区域的边上的点到所述声源位置的距离、以及所述边上的点的总数,确定所述目标环绕参数。
9.根据权利要求1至8中任一项所述的方法,其特征在于,在目标游戏运行的过程中获取玩家帐号控制的虚拟对象在所述目标游戏的游戏场景中的当前位置之前,所述方法还包括:
为所述游戏场景中的每个位置确定所述目标音效类型和所述目标声源距离,其中,所述声场数据包括所述每个位置上的所述目标音效类型和所述目标声源距离;或者
为所述游戏场景中的每个位置确定所述目标音效类型和所述每个位置到所述声源位置的距离,其中,所述每个位置上的目标声源距离为所述声源的最大传播距离减去所述每个位置到所述声源位置的距离,所述声场数据包括所述每个位置上的所述目标音效类型和所述每个位置到所述声源位置的距离;或者
为所述游戏场景中的每个位置确定所述目标音效类型和所述每个位置到所述声源位置的距离的校正值,其中,所述每个位置上的目标声源距离为所述声源的最大传播距离减去所述每个位置到所述声源位置的距离的校正值,所述声场数据包括所述每个位置上的所述目标音效类型和所述每个位置到所述声源位置的距离的校正值。
11.根据权利要求1至8中任一项所述的方法,其特征在于,在目标游戏运行的过程中获取玩家帐号控制的虚拟对象在所述目标游戏的游戏场景中的当前位置之前,所述方法还包括:
在所述目标游戏运行时加载并解析预先生成的编码文件,得到所述声场数据。
12.一种游戏场景中的音效播放装置,其特征在于,包括:
第一获取单元,用于在目标游戏运行的过程中获取玩家帐号控制的虚拟对象在所述目标游戏的游戏场景中的当前位置;
第二获取单元,用于根据预先为所述游戏场景建立的声场数据获取与所述当前位置对应的目标音效类型和目标声源距离;
第三获取单元,用于根据所述目标声源距离获取所述当前位置上的目标声源方位;
播放单元,用于至少根据所述目标音效类型、所述目标声源距离和所述目标声源方位,在所述当前位置上播放目标音效,其中,所述目标音效的类型为所述目标音效类型,所述目标声源距离用于确定所述目标音效的大小,所述目标声源方位用于确定所述目标音效的声源的声源位置;
其中,所述第三获取单元,包括:查找模块,用于根据以所述当前位置为中心的检测区域的边上的点到所述声源位置的距离、所述当前位置到所述声源位置的距离、所述边上的点到所述当前位置的距离,在所述边上查找目标方位点;第一确定模块,用于根据所述目标方位点与所述当前位置确定出所述声源相对于所述当前位置的所述目标声源方位。
13.根据权利要求12所述的装置,其特征在于,所述第三获取单元,包括:
第一获取模块,用于在所述声场数据中获取与所述当前位置对应的所述目标声源距离,其中,所述目标声源距离为预先设置的所述声源的最大传播距离减去所述当前位置到所述声源位置的距离;或者
第二获取模块,用于在所述声场数据中获取与所述当前位置对应的所述当前位置到所述声源位置的距离,并将预先设置的所述声源最大传播距离减去所述当前位置到所述声源位置的距离,得到所述目标声源距离。
15.根据权利要求12所述的装置,其特征在于,所述第一确定模块,包括:
第一获取子模块,用于在所述检测区域为矩形区域的情况下,获取所述目标方位点与所述当前位置的连线与所述检测区域的水平轴之间的夹角,其中,所述夹角用于表示所述目标声源方位。
16.根据权利要求12所述的装置,其特征在于,所述装置还包括:
第四获取单元,用于在根据预先为所述游戏场景建立的声场数据获取与所述当前位置对应的目标音效类型和目标声源距离之后,根据所述当前位置获取所述当前位置上的目标环绕参数;
所述播放单元,还用于至少根据所述目标音效类型、所述目标声源距离、所述目标声源方位和所述目标环绕参数,在所述当前位置上播放所述目标音效。
17.根据权利要求16所述的装置,其特征在于,所述第四获取单元,包括:
第二确定模块,用于根据以所述当前位置为中心的检测区域的边上的点到所述声源位置的距离、以及所述边上的点的总数,确定所述目标环绕参数。
20.根据权利要求12至19中任一项所述的装置,其特征在于,所述装置还包括:
第一确定单元,用于在目标游戏运行的过程中获取玩家帐号控制的虚拟对象在所述目标游戏的游戏场景中的当前位置之前,为所述游戏场景中的每个位置确定所述目标音效类型和所述目标声源距离,其中,所述声场数据包括所述每个位置上的所述目标音效类型和所述目标声源距离;或者
第二确定单元,用于为所述游戏场景中的每个位置确定所述目标音效类型和所述每个位置到所述声源位置的距离,其中,所述每个位置上的目标声源距离为所述声源的最大传播距离减去所述每个位置到所述声源位置的距离,所述声场数据包括所述每个位置上的所述目标音效类型和所述每个位置到所述声源位置的距离;或者
第三确定单元,用于为所述游戏场景中的每个位置确定所述目标音效类型和所述每个位置到所述声源位置的距离的校正值,其中,所述每个位置上的目标声源距离为所述声源的最大传播距离减去所述每个位置到所述声源位置的距离的校正值,所述声场数据包括所述每个位置上的所述目标音效类型和所述每个位置到所述声源位置的距离的校正值。
21.根据权利要求12至19任一项所述的装置,其特征在于,所述装置还包括:
得到单元,用于在目标游戏运行的过程中获取玩家帐号控制的虚拟对象在所述目标游戏的游戏场景中的当前位置之前,在所述目标游戏运行时加载并解析预先生成的编码文件,得到所述声场数据。
22.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至11任一项中所述的方法。
23.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至11任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911236947.1A CN111111167B (zh) | 2019-12-05 | 2019-12-05 | 游戏场景中的音效播放方法和装置、电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911236947.1A CN111111167B (zh) | 2019-12-05 | 2019-12-05 | 游戏场景中的音效播放方法和装置、电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111111167A CN111111167A (zh) | 2020-05-08 |
CN111111167B true CN111111167B (zh) | 2021-01-05 |
Family
ID=70497701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911236947.1A Active CN111111167B (zh) | 2019-12-05 | 2019-12-05 | 游戏场景中的音效播放方法和装置、电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111111167B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111714889B (zh) * | 2020-06-19 | 2024-06-25 | 网易(杭州)网络有限公司 | 一种声源控制的方法、装置、计算机设备和介质 |
CN111744192B (zh) * | 2020-06-28 | 2024-02-02 | 网易(杭州)网络有限公司 | 声音的传播方法、装置、电子设备及计算机可读介质 |
CN112295226B (zh) * | 2020-11-25 | 2022-05-10 | 腾讯科技(深圳)有限公司 | 一种音效播放控制方法、装置、计算机设备及存储介质 |
CN113318432B (zh) * | 2021-06-07 | 2024-02-23 | 网易(杭州)网络有限公司 | 游戏中的音乐控制方法、非易失性存储介质及电子装置 |
CN113559512A (zh) * | 2021-08-04 | 2021-10-29 | 网易(杭州)网络有限公司 | 声源音效的处理方法、装置、计算机设备以及存储介质 |
CN113941151A (zh) * | 2021-09-24 | 2022-01-18 | 网易(杭州)网络有限公司 | 音频的播放方法、装置、电子设备及存储介质 |
CN115966213A (zh) * | 2021-10-12 | 2023-04-14 | 华为技术有限公司 | 一种声音处理方法及相关装置 |
CN114404973A (zh) * | 2021-12-28 | 2022-04-29 | 网易(杭州)网络有限公司 | 播放音频的方法、装置及电子设备 |
CN114917585A (zh) * | 2022-06-24 | 2022-08-19 | 四川省商投信息技术有限责任公司 | 一种音效生成方法及系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7818077B2 (en) * | 2004-05-06 | 2010-10-19 | Valve Corporation | Encoding spatial data in a multi-channel sound file for an object in a virtual environment |
JP2011092302A (ja) * | 2009-10-27 | 2011-05-12 | Konami Digital Entertainment Co Ltd | ゲーム装置、ゲーム装置の制御方法、及びプログラム |
KR101374961B1 (ko) * | 2012-09-10 | 2014-03-18 | 김정헌 | 사운드 기반 인터페이스 장치 및 방법 |
US8903104B2 (en) * | 2013-04-16 | 2014-12-02 | Turtle Beach Corporation | Video gaming system with ultrasonic speakers |
CN110170170A (zh) * | 2019-05-30 | 2019-08-27 | 维沃移动通信有限公司 | 一种信息显示方法及终端设备 |
CN110270094A (zh) * | 2019-07-17 | 2019-09-24 | 珠海天燕科技有限公司 | 一种游戏中音频控制的方法及装置 |
-
2019
- 2019-12-05 CN CN201911236947.1A patent/CN111111167B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111111167A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111111167B (zh) | 游戏场景中的音效播放方法和装置、电子装置 | |
CN108597530B (zh) | 声音再现方法和装置、存储介质及电子装置 | |
CN109685909B (zh) | 图像的显示方法、装置、存储介质和电子装置 | |
CN107358649B (zh) | 地形文件的处理方法和装置 | |
US20170154468A1 (en) | Method and electronic apparatus for constructing virtual reality scene model | |
CN107638690B (zh) | 增强现实的实现方法、装置、服务器及介质 | |
CN110850961A (zh) | 一种头戴式显示设备的校准方法及头戴式显示设备 | |
US11110352B2 (en) | Object moving method and apparatus, storage medium, and electronic apparatus | |
CN116109803B (zh) | 信息构建方法、装置、设备及存储介质 | |
CN113952720A (zh) | 游戏场景渲染方法、装置、电子设备及存储介质 | |
CN112231020B (zh) | 模型切换方法和装置、电子设备和存储介质 | |
CN112669423B (zh) | 闪电生成方法、装置、电子设备和计算机可读存储介质 | |
CN112206519B (zh) | 实现游戏场景环境变化的方法、装置、存储介质及计算机设备 | |
CN106210859B (zh) | 全景视频渲染方法和装置 | |
CN117456079A (zh) | 场景渲染方法、装置、设备、存储介质及程序产品 | |
CN116109756B (zh) | 光线追踪方法、装置、设备及存储介质 | |
CN113117328B (zh) | 一种数据处理方法以及设备 | |
CN112915540B (zh) | 用于虚拟场景中的数据处理方法、装置、设备及存储介质 | |
CN107347153B (zh) | 经纬图全景视频的质量评价方法 | |
CN114677482B (zh) | 地形构建方法及设备 | |
CN118831319A (zh) | 画面显示方法、装置、设备及存储介质 | |
CN115554697A (zh) | 虚拟场景的生成方法、装置、计算机设备以及存储介质 | |
CN114404948A (zh) | 游戏地图显示方法、装置、电子设备及计算机可读存储介质 | |
CN118840505A (zh) | 模型处理方法、装置、设备、存储介质及程序产品 | |
CN116832446A (zh) | 虚拟角色控制方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |