撞击音效的播放方法、装置和电子设备与流程



1.本发明涉及游戏交互设计技术领域,尤其是涉及一种撞击音效的播放方法、装置和电子设备。


背景技术:



2.跳弹通常是当子弹以一定倾斜角击中光滑的硬物时,子弹有一定几率被反弹,进而使子弹的物理外形、飞行轨道、稳定性发生变化后继续飞行的现象,属于“流弹”的一种。在射击类游戏中,虽然没有肉眼可见的跳弹产生,更不会产生实际的跳弹伤害,但我们可以在听觉方面模拟出来,让游戏听起来更加丰富且真实,使玩家通过听觉获取的爽快感、紧张感得到进一步提升。
3.相关技术中,通常在一个固定方向上,通过为物体受击声叠加播放一层跳弹声来实现跳弹音效,但是受击物体不同,通常产生的跳弹音效会有一定的差异,以统一的方式实现跳弹音效,会导致跳弹音效的真实感较差,影响玩家游戏体验。


技术实现要素:



4.本发明的目的在于提供一种撞击音效的播放方法、装置和电子设备,以提高游戏中受击物体被撞击时发出音效的真实感,进而提升玩家游戏体验。
5.第一方面,本发明提供了一种撞击音效的播放方法,通过终端设备提供一图形用户界面,该图形用户界面中显示有虚拟场景的虚拟画面;该方法包括:响应于虚拟场景中目标对象击中受击对象,获取目标对象击中受击对象时的撞击入射角、目标对象的类型信息和受击对象的材质信息;根据撞击入射角、类型信息和材质信息,确定目标对象击中受击对象的目标跳弹音效;播放目标跳弹音效。
6.在可选的实施方式中,上述根据撞击入射角、类型信息和材质信息,确定目标对象击中受击对象的目标跳弹音效的步骤,包括:基于撞击入射角和材质信息,确定跳弹触发概率;根据跳弹触发概率,从类型信息对应的目标对象的多个音效播放源中确定目标播放源;将目标播放源确定为目标跳弹音效。
7.在可选的实施方式中,上述基于撞击入射角和材质信息,确定跳弹触发概率的步骤,包括:根据预设的跳弹触发关系,确定撞击入射角和材质信息对应的跳弹触发概率;其中,跳弹触发关系中包括:多个预设角度区间中每个预设角度区间在每种预设受击材质下的跳弹触发概率。
8.在可选的实施方式中,每种类型的目标对象,在每种跳弹触发概率下均对应有多个音效播放源,音效播放源为无声播放源或者有声播放源;每种跳弹触发概率对应的多种音效播放源中,无声播放源的数量和有声播放源的数量是根据跳弹触发概率确定的;上述根据跳弹触发概率,从类型信息对应的目标对象的多个音效播放源中确定目标播放源的步骤,包括:从类型信息对应的目标对象在跳弹触发概率下对应的多个音效播放源中,随机选择一个音效播放源作为目标播放源;其中,目标播放源为无声播放源或者有声播放源。
9.在可选的实施方式中,每种类型的目标对象,在每种跳弹触发概率下均对应有多个音效播放源,音效播放源为无声播放源或者有声播放源;每种跳弹触发概率对应的多个音效播放源中,无声播放源对应的权重和有声播放源对应的权重是根据跳弹触发概率确定的;上述根据跳弹触发概率,从类型信息对应的目标对象的多个音效播放源中确定目标播放源的步骤,包括:基于跳弹触发概率下无声播放源对应的权重和有声播放源对应的权重,从类型信息对应的目标对象在跳弹触发概率下对应的无声播放源和有声播放源中,确定目标播放源。
10.在可选的实施方式中,上述有声播放源中保存有随着时间衰减变化的音效;多个音效播放源中包括多个有声播放源时,有声播放源保存的音效不同。
11.在可选的实施方式中,上述播放目标跳弹音效的步骤之前,上述方法还包括:从预设的多个播放路径中,选取一个目标路径,以使目标跳弹音效按照目标路径的方向进行播放。
12.在可选的实施方式中,上述播放目标跳弹音效的步骤,包括:从受击对象的被撞击点开始,沿着目标路径的方向播放目标跳弹音效。
13.在可选的实施方式中,上述方法还包括:如果未获取到击中受击对象的撞击入射角,将预设入射角确定为撞击入射角。
14.在可选的实施方式中,上述播放目标跳弹音效的步骤,包括:响应于目标对象在虚拟场景中移动,根据移动方向对应的预设衰减曲线,播放目标跳弹音效。
15.在可选的实施方式中,上述根据撞击入射角、类型信息和材质信息,确定目标对象击中受击对象的目标跳弹音效的步骤之后,上述方法还包括:在播放目标跳弹音效的同时,播放受击对象的被击中音效。
16.在可选的实施方式中,上述在播放目标跳弹音效的同时,播放受击对象的被击中音效的步骤之前,上述方法还包括:根据目标对象的类型信息,确定受击对象对应的至少一个预设击中音效;从至少一个预设击中音效中,抽取一个预设击中音效作为受击对象的被击中音效。
17.第二方面,本发明提供了一种撞击音效的播放装置,通过终端设备提供一图形用户界面,该图形用户界面中显示有虚拟场景的虚拟画面;该装置包括:信息获取模块,用于响应于虚拟场景中目标对象击中受击对象,获取目标对象击中受击对象时的撞击入射角、目标对象的类型信息和受击对象的材质信息;音效确定模块,用于根据撞击入射角、类型信息和材质信息,确定目标对象击中受击对象的目标跳弹音效;音效播放模块,用于播放目标跳弹音效。
18.第三方面,本发明提供了一种电子设备,该电子设备包括处理器和存储器,该存储器存储有能够被处理器执行的机器可执行指令,该处理器执行机器可执行指令以实现上述撞击音效的播放方法。
19.第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,该计算机可执行指令促使处理器实现上述撞击音效的播放方法。
20.本发明实施例带来了以下有益效果:
21.本发明提供的一种撞击音效的播放方法、装置和电子设备,首先响应于虚拟场景
中目标对象击中受击对象,获取目标对象击中受击对象时的撞击入射角、目标对象的类型信息和受击对象的材质信息;进而根据撞击入射角、类型信息和材质信息,确定目标对象击中受击对象的目标跳弹音效;然后播放目标跳弹音效。该方式中,根据目标对象击中受击对象时的撞击入射角、目标对象的类型和受击对象的材质,共同决定跳弹音效,使得不同类型的目标对象的跳弹音效能够差异化,且跳弹音效的确定能够兼顾撞击入射角和受击材质的影响,从而跳弹音效的触发逻辑和听感更加真实,有利于提升用户体验。
22.本发明的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本发明的上述技术即可得知。
23.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。
附图说明
24.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
25.图1为本发明实施例提供的一种撞击音效的播放方法的流程图;
26.图2为本发明实施例提供的另一种撞击音效的播放方法的流程图;
27.图3为本发明实施例提供的一种撞击音效播放的实现逻辑图;
28.图4为本发明实施例提供的一种audio对象层级结构图;
29.图5为本发明实施例提供的另一种撞击音效的播放方法的流程图;
30.图6为本发明实施例提供的播放路径的示意图;
31.图7为本发明实施例提供的一种撞击音效的播放装置的结构示意图;
32.图8为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
33.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
34.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
35.在虚拟场景中,跳弹通常是当子弹以一定倾斜角击中光滑的硬物时,子弹有一定几率被反弹,进而使子弹的物理外形、飞行轨道、稳定性发生变化后继续飞行的现象,属于“流弹”的一种。例如,在射击类游戏中,虽然没有肉眼可见的跳弹产生,更不会产生实际的跳弹伤害,但我们可以在听觉方面模拟出来,让游戏听起来更加丰富且真实,使玩家通过听觉获取的爽快感、紧张感得到进一步提升。
36.相关技术中,跳弹音效一般通过如下方案实现:
37.方案一,只有当听者离受击物体近时,可以听到作为点声源的跳弹声,即通过“为物体受击声叠加播放一层跳弹声,并让跳弹声的衰减曲线结束的更早”来实现。
38.方案二,为水泥、金属、石头等这类在现实中比较硬的材质叠加播放一层跳弹声,这层跳弹声可能100%触发,也可能按一定概率触发。
39.以上方案的跳弹声均是方位固定不变的点声源,即跳弹声的方位自始至终与子弹与物体的撞击点的方位是完全相同的,因此,相关技术中提供的方案存在以下不足:
40.(1)现有技术无法充分还原现实中跳弹声音的产生条件。现实中是否产生跳弹不仅仅取决于材质的硬度,也同时与子弹击中受击物体表面的角度有直接的关系。而通过现有技术实现的跳弹音效,无法让跳弹音效的产生与入射角关联,以至于现有技术的触发逻辑使声音触发的真实感不足。
41.(2)现有技术无法实现更丰富、真实的空间变化。现实中的跳弹一旦产生后,还是会继续飞行的,虽然飞行的速度非常快,但声音的方位变化还是客观存在的。而现有技术只能固定在子弹与物体的撞击点产生声音,声音一旦产生便不会继续发生空间变化,会使玩家觉得跳弹是原地不动的,悦耳感和真实感均不足。
42.(3)现有技术无法对产生该跳弹的子弹或械类型做区分。现实中,不同类型的子弹由于形状、大小、结构等属性各异,所产生的跳弹声音也是有所不同的。还有例如,像反装甲子弹这种特殊的子弹,产生跳弹的可能性会大幅降低。这些差异均可以归纳为产生跳弹的子弹差异或械差异,这些差异通过现有技术是无法在声音上体现出来的,以统一的方式实现跳弹音效,使得跳弹音效既不能达到更好的艺术表现,也不能起到功能性的提示音作用,导致跳弹音效的真实感较差,影响玩家游戏体验。
43.基于上述描述,本发明实施例提供了一种撞击音效的播放方法、装置和电子设备,该技术可以应用于虚拟场景中物体之间发生撞击的场景中,尤其是射击类游戏中,子弹击中受击物体的场景。
44.在本公开的一种实施例中的撞击音效的播放方法,可以运行于终端设备或者是服务器。其中,终端设备可以为本地终端设备。当撞击音效的播放方法运行于服务器时,该方法则可以基于云交互系统来实现与执行,其中,云交互系统包括服务器和客户端设备。
45.在一可选的实施方式中,云交互系统下可以运行各种云应用,例如:云游戏。以云游戏为例,云游戏是指以云计算为基础的游戏方式。在云游戏的运行模式下,游戏程序的运行主体和游戏画面呈现主体是分离的,信息交互方法的储存与运行是在云游戏服务器上完成的,客户端设备的作用用于数据的接收、发送以及游戏画面的呈现,举例而言,客户端设备可以是靠近用户侧的具有数据传输功能的显示设备,如,移动终端、电视机、计算机、掌上电脑等;但是进行信息处理的终端设备为云端的云游戏服务器。在进行游戏时,玩家操作客户端设备向云游戏服务器发送操作指令,云游戏服务器根据操作指令运行游戏,将游戏画面等数据进行编码压缩,通过网络返回客户端设备,最后,通过客户端设备进行解码并输出游戏画面。
46.在一可选的实施方式中,终端设备可以为本地终端设备。以游戏为例,本地终端设备存储有游戏程序并用于呈现游戏画面。本地终端设备用于通过图形用户界面与玩家进行交互,即,常规的通过电子设备下载安装游戏程序并运行。该本地终端设备将图形用户界面
提供给玩家的方式可以包括多种,例如,可以渲染显示在终端的显示屏上,或者,通过全息投影提供给玩家。举例而言,本地终端设备可以包括显示屏和处理器,该显示屏用于呈现图形用户界面,该图形用户界面包括游戏画面,该处理器用于运行该游戏、生成图形用户界面以及控制图形用户界面在显示屏上的显示。
47.在一种可能的实施方式中,本发明实施例提供了一种撞击音效的播放方法,通过终端设备提供一图形用户界面,该图形用户界面中显示有虚拟场景的虚拟画面;如图1所示,该方法包括如下具体步骤:
48.步骤s102,响应于虚拟场景中目标对象击中受击对象,获取目标对象击中受击对象时的撞击入射角、目标对象的类型信息和受击对象的材质信息。
49.上述目标对象通常是攻击类器械,该攻击类器械可以是飞镖、各种类型的虚拟械(例如,手、狙击、、步、重机、冲锋等)或者飞碟等。上述受击对象通常是墙壁、地面、大树、铁板、沙子等可以被撞击的物体,每种受击对象都对应有各自的材质,且每种受击对象对应的材质是虚拟场景中预先设置好的,具体根据研发需求进行设置。例如,地面的材质是水泥,大树的材质是木头,铁板的材质是金属等。
50.如果玩家控制虚拟场景中的目标对象击中受击对象时,立即获取目标对象击中受击对象时的撞击入射角、目标对象的类型和受击对象的材质。具体地,如果目标对象为虚拟械,那么撞击入射角即为虚拟械的发射子弹的弹道与受击对象表面的最小夹角;如果目标对象为飞镖,那么撞击入射角即为飞镖的发射轨迹与受击对象表面的最小夹角。
51.例如,玩家使用手以45度角向木质物体射击时,获取到的撞击入射角为45度,目标对象的类型信息为手,受击对象的材质信息为木质材料。
52.步骤s104,根据上述撞击入射角、类型信息和材质信息,确定目标对象击中受击对象的目标跳弹音效。
53.在具体实现时,不同类型的目标对象击中受击对象发出的声音是不同的,且每种类型的目标对象击中不同材质的受击对象发出的声音也是不同的。另外,目标对象以不同的入射角击中受击对象时,发生跳弹的概率不同,且目标对象以相同的入射角击中不同材质的受击对象,发生跳弹的概率也不同。因此,为了使得目标对象击中受击对象时发出的目标跳弹音效更加真实,需要根据目标对象的类型信息,以及影响跳弹触发概率的撞击入射角和受击对象的材质,共同决定目标跳弹音效。
54.在具体实现时,上述目标跳弹音效可以是有声的也可以是无声的,其中,目标跳弹音效是无声的情况是指:目标对象在以某一个入射角击中某材质的受击对象时,不会发生跳弹(也即是发生跳弹的概率为0);或者,目标对象在以某一个入射角击中某材质的受击对象时发生跳弹的概率大于0小于1,此时抽取到了无声播放源作为目标跳弹音效。例如,手以90度角向木质物体射击时,不会发生跳弹;手以45度角向木质物体射击时,发生跳弹的概率为13%。
55.目标跳弹音效是有声的情况是指:目标对象在以某一个入射角击中某材质的受击对象时,一定会发生跳弹(也即是发生跳弹的概率为1);或者,目标对象在以某一个入射角击中某材质的受击对象时发生跳弹的概率大于0小于1,此时抽取到了有声播放源作为目标跳弹音效。例如,手以10度角向金属物体射击时,发生跳弹的概率为100%,此时目标跳弹音效一定是有声的。
56.在实际应用中,每种类型的目标对象每个撞击入射角,击中每种材质的受击对象时对应的跳弹音效是提前设置好的,当接收到目标对象击中受击对象时的撞击入射角、目标对象的类型信息和受击对象的材质信息时,即可实时确定出目标跳弹音效。
57.步骤s106,播放上述目标跳弹音效。
58.在具体实现时,在确定出目标跳弹音效后,可同时播放受击对象的被击中音效和目标跳弹音效;由于确定出的目标跳弹音效可能是无声的,此时可仅播放受击对象的被击中音效。受击对象的被击中音效通常是根据受击对象的材质和目标对象的类型决定的,且每种类型的目标对象击中某种材质的受击对象发出的被击中音效是提前设置好的。
59.本发明实施例提供的一种撞击音效的播放方法,首先响应于虚拟场景中目标对象击中受击对象,获取目标对象击中受击对象时的撞击入射角、目标对象的类型信息和受击对象的材质信息;进而根据撞击入射角、类型信息和材质信息,确定目标对象击中受击对象的目标跳弹音效;然后播放目标跳弹音效。该方式中,根据目标对象击中受击对象时的撞击入射角、目标对象的类型和受击对象的材质,共同决定跳弹音效,使得不同类型的目标对象的跳弹音效能够差异化,且跳弹音效的确定能够兼顾撞击入射角和受击材质的影响,从而跳弹音效的触发逻辑和听感更加真实,有利于提升用户体验。
60.本发明实施例还提供了另一种撞击音效的播放方法,该方法在上述实施例的基础上实现,该方法重点描述根据撞击入射角、类型信息和材质信息,确定目标对象击中受击对象的目标跳弹音效的具体过程(通过下述步骤s204-s208实现),如图2所示,该方法包括如下具体步骤:
61.步骤s202,响应于虚拟场景中目标对象击中受击对象,获取目标对象击中受击对象时的撞击入射角、目标对象的类型信息和受击对象的材质信息。
62.步骤s204,基于上述撞击入射角和材质信息,确定跳弹触发概率。
63.在具体实现时,目标对象的类型信息可以决定跳弹音效的音效内容,而撞击入射角和受击对象的材质是跳弹音效是否触发的影响因素,也即是不同的撞击入射角针对不同的受击对象的材质,产生的弹跳触发概率不同。因而,可以根据预设的跳弹触发关系,确定撞击入射角和材质信息对应的跳弹触发概率。
64.上述跳弹触发关系可以根据不同类型的目标对象发生跳弹的实际情况进行设置,该跳弹触发关系中可以包括:多个预设角度区间中每个预设角度区间在每种预设受击材质(相当于受击对象的材质)下的跳弹触发概率。例如,表1所示为预先设计规划好的跳弹触发概率与材质、角度的关系(相当于上述跳弹触发关系)。
65.表1
[0066][0067]
在具体实现时,上述预设角度区间可以根据研发需求进行确定,表1中的角度范围为0度到90度,每10度划分一个角度区间。具体地,角度范围还可以是0度到180度,或者0度到60度等,在此不做具体限定,同样地,划分间隔也可以根据研发需求进行设定,该划分间隔可以是10度,也可以是5度或者7度等,划分间隔越小,每个角度区间的范围越小,划分也会更加精细。
[0068]
在实际应用中,根据撞击入射角所在的角度区间,以及受击对象的材质,即可确定出跳弹触发概率。例如,撞击入射角为43度,受击材质为金属,那么跳弹触发概率即为63%。
[0069]
步骤s206,根据上述跳弹触发概率,从上述类型信息对应的目标对象的多个音效播放源中确定目标播放源。
[0070]
在具体实现时,每种类型的目标对象均对应有多个与跳弹相关的音频播放源,该音频播放源为无声播放源或有声播放源,多个音频播放源中无声播放源和有声样板的设置与跳弹触发概率有关。具体地,每种类型的目标对象,在每种跳弹触发概率下对应的音频播放源可以通过下述两种方式设置:
[0071]
方式一,每种类型的目标对象,在每种跳弹触发概率下均对应有多个音效播放源,音效播放源为无声播放源或者有声播放源;每种跳弹触发概率对应的多种音效播放源中,无声播放源的数量和有声播放源的数量是根据跳弹触发概率确定的;通常跳弹触发概率越
大,多个音效播放源中有声播放源的数量越多,如果跳弹触发概率为100%,那么多个音效播放源全部为有声播放源,如果跳弹触发概率为0,那么多个音效播放源全部为无声播放源,如果跳弹触发概率为25%,那么多个音效播放源中可以包含有2个有声播放源和6个无声播放源。
[0072]
基于方式一,上述步骤s206可以通过下述方式实现:
[0073]
从上述类型信息对应的目标对象在跳弹触发概率下对应的多个音效播放源中,随机选择一个音效播放源作为目标播放源;其中,目标播放源为无声播放源或者有声播放源。具体地,在多个跳弹触发概率中,确定与跳弹触发概率相匹配该的概率,将匹配出的概率对应的多个音效播放源确定为跳弹触发概率对应的多个音效播放源,进而从多个音效播放源中随机抽取一个音效播放源,将抽取出的音效播放源确定为目标播放源。由于多个音效播放源中所包含的有声播放源的数量与无声播放源的数量与其对应的跳弹触发概率相匹配,那么从多个音频播放源中随机抽取播放源的过程,即满足了按照跳弹触发概率触发跳弹的过程。
[0074]
方式二,每种类型的目标对象,在每种跳弹触发概率下均对应有多个音效播放源,音效播放源为无声播放源或者有声播放源;每种跳弹触发概率对应的多个音效播放源中,无声播放源对应的权重和有声播放源对应的权重是根据跳弹触发概率确定的;通常跳弹触发概率越大,有声播放源的权重越大,无声播放源对应的权重越小,如果跳弹触发概率为100%,那么多个音效播放源中有声播放源对应的权重为1,无声播放源对应的权重为0;如果跳弹触发概率为0,那么多个音效播放源中无声播放源对应的权重为1,有声播放源对应的权重为0;如果跳弹触发概率为25%,那么多个音效播放源中有声播放源对应的权重可以是0.25,无声播放源对应的权重可以是0.75。
[0075]
基于方式二,上述步骤s206可以通过下述方式实现:基于跳弹触发概率下无声播放源对应的权重和有声播放源对应的权重,从类型信息对应的目标对象在跳弹触发概率下对应的无声播放源和有声播放源中,确定目标播放源。
[0076]
在实际应用中,上述有声播放源中保存有随着时间衰减变化的音效;无声播放源为静默音效。在一些实施例中,某一预设概率下的多个音效播放源中包括多个有声播放源时,每个有声播放源保存的音效不同,从而可以使得每次触发的跳弹音效有差异,使得跳弹音效更加真实;同时,为了设置方便,也可以将多个有声播放源设置成相同的音效。
[0077]
步骤s208,将上述目标播放源确定为目标跳弹音效。
[0078]
步骤s210,根据目标对象的类型信息,确定受击对象对应的至少一个预设击中音效。
[0079]
在具体实现时,为了使得受击对象的被击中音效更加真实,可以为受击对象被同一个目标对象击中时,设置多个预设击中音效,从而每次触发的被击中音效可能不同。
[0080]
步骤s212,从上述至少一个预设击中音效中,抽取一个预设击中音效作为受击对象的被击中音效。
[0081]
步骤s214,在播放目标跳弹音效的同时,播放受击对象的被击中音效。
[0082]
在具体实现时,需要游戏引擎和音频引擎共同完成跳弹音效的确定。首先当虚拟场景中目标对象击中受击对象时,获取目标对象击中受击对象时的撞击入射角、目标对象的类型信息(该类型信息可以是xx类型的目标对象进攻或者开火等)和受击对象的材质信
息。游戏引擎将获取到的撞击入射角、类型信息和材质信息发送给音频引擎,然后音频引擎根据接收到的信息,确定出目标跳弹音效和受击对象的被击中音效,并将确定出的音效返回给游戏引擎,以使游戏引擎播放接收的音频。
[0083]
为了实现上述撞击音效的播放方法,需要提前在游戏引擎和音频引擎中进行设计,下面以游戏引擎采用ue4、音频引擎采用wwise来进行实现方案的设计。为了便于理解,首先介绍一下音频引擎中的对象,如下:
[0084]
audio对象:wwise中可供播放的对象的统称,例如随机容器、混合容器、switch容器等。
[0085]
随机容器:wwise中的一种audio对象,播放这种对象时会随机播放其里面的子对象。
[0086]
随机样本:游戏中有些声音会连续、频繁触发,为了让这种声音表现更加真实、降低重复性,往往会将多个非常相似的声音样本(相当于有声播放源)组成一个集合,每次随机触发其中的一个。
[0087]
混合容器:wwise中的一种audio对象,播放混合容器时,会对混合容器内的所有子对象同时播放。
[0088]
rtpc:wwise中用来传输连续数值变化的一种控制信息,一般是由游戏中的某个数值参数实时转化而来,例如入射角、子弹数、速度等这些信息就比较适合通过rtpc传输至wwise,再由设计师决定如何使用。
[0089]
switch:wwise中用来切换switch容器中的各个子集的控制信息,可以由游戏引擎发起,也可以由rtpc控制。
[0090]
switch组:switch的父级,表示这个集合的类,例如switch组叫做材质,组里面包含水泥、金属、木头等这些具体的switch。
[0091]
switch容器:wwise中的一种audio对象,播放时会按照所设定的switch和switch组的规则在容器内的子对象中选择播放。
[0092]
event:wwise中的一种对象,用来接收游戏引擎发来的调用,音效设计师在event中设置这个调用对应执行哪几个音频相关动作,例如最常用的动作包括播放某个音频、停止某个音频、重置某几个参数等。
[0093]
action:在各个event里添加和配置,调用event后,所要执行的每个具体行为称为action。
[0094]
wwise silence:wwise中集成的一种音源插件,用来充当无声的audio对象(相当于上述无声播放源),常用来作为占位符或者制作声音间隔。
[0095]
衰减曲线:wwise中用来设定点声源在3d空间中衰减规律数值变化的函数曲线。
[0096]
在这里补充说明一下wwise音频引擎和ue4游戏引擎之间的运作方式。程序员可以在ue4中以某些时机、数值、方位等作为数据源或条件,将它们通过程序手段触发或转化为供wwise识别的专门格式的指令,例如rtpc、event、switch等指定格式,将这种指令发送给wwise后,若wwise里面已经预先创建好了一个与之命名相同、类型相同的对象来接收这个指令,那么wwise就可以利用这个指令按照音效设计师设定和配置的方式来触发声音或对声音产生影响。
[0097]
如图3所示为本发明实时提供的一种撞击音效播放的实现逻辑图,在方案设计阶
段,需要程序员将虚拟场景中可能会用到目标对象的类型、受击对象的材质和入射角范围(相当于上述预设角度区间)均发送给音频引擎,以使音效设计师根据发送的信息在音频引擎上进行设置。如图3所示,目标对象的类型包括手、狙击、、步、重机和冲锋,入射角范围为0度到90度,不同类型的目标对象通过不同的event进行区分,图3中的event分为了4种,分别是event1-手击中物体、event2-狙击击中物体、event3-击中物体、event4-步\重机\冲锋击中物体。实际可根据自己的项目灵活设计,例如不同规格的子弹击中物体、飞镖击中物体等。图3中的不同材质是通过switch进行划分的,可以包含有表1中所示的受击材质。
[0098]
根据图3可知,游戏引擎需要向音频引擎提供以下三部分信息:
[0099]
(1)将表示撞击入射角的rtpc发送至wwise。当目标对象的子弹击中受击对象时,获取弹道与受击对象表面的最小夹角数据(相当于撞击入射角),将这个数据转化为rtpc,将rtpc名称同步提供给音频引擎wwise,例如,名称为“bulletimpact_angle”。在游戏运行时,目标对象以30度夹角向受击对象射击,每发子弹命中的同时都会返回一个rtpc数值“bulletimpact_angle=30”,游戏引擎会将该rtpc数值发送给wwise。
[0100]
(2)将表示受击对象的材质的switch发送至wwise。当目标对象的子弹击中受击对象时,获取这个受击对象的材质信息,将该材质信息转化为switch,将switch名称及对应的switch组名称同步提供给音频引擎,例如,switch组为“switch_impact_material”,switch组里面包含的switch则按具体的材质命名,例如concrete(也即是混凝土)、metal(也即是金属)、wood(也即是木头)等,具体取决于项目的场景中有哪些材质。功能做好后,假如游戏角向一块木板射击,那么每发子弹命中的同时都会返回“switch to wood”的switch信息,游戏引擎会将该switch信息发送给wwise。
[0101]
(3)使不同类型的目标对象(如,械)击中受击对象时,分别调用不同的event(图3中包含有4个event),也即是需要获取目标对象的类型信息,并将类型信息发送给wwise,以使wwise条用该类型信息对应的目标对象的event。
[0102]
需要说明的是,上述第(2)点和第(3)点,实现方式是可以灵活处理的,这取决于项目现有的开发情况,以及哪种方式后续在wwise中配置更方便一点。例如,下表2所示,受击对象的材质也可以不通过switch来区分,而是像第(3)点那样通过不同的event来区分,同样目标对象的类型也可以不通过event来区分,而是像(2)那样通过switch来区分。但有一点需要注意,“通过事件event做区分”这种方式二者至多有一个,也就是说二者不能都是通过事件做区分的。原因是后续在wwise中进行配置时,这二者要以类似父级、子级的形式嵌套到一起,如果都是通过事件做区分,那么二者就无法嵌套了。当然,如果非要把他们都通过事件区分也不是无法实现,即把所有的可能性都做成单独的事件,只是这可能大幅度增加程序员的工作量以及沟通成本以及后续进行配置的灵活性,也就是这会使整体游戏音效工作的效率被降低。
[0103]
表2
[0104][0105][0106]
参考图3,详细介绍一下在音频引擎wwise中进行设置的方案。在wwise中创建入射角rtpc。例如,在wwise中创建rtpc命名为bulletimpact_angle(与游戏引擎中的命名相同),属性编辑中将min值设置为0,将max值设置为90,也即是入射角范围为0度到90度。
[0107]
在一些实施例中,还可以在属性编辑中将default值设置为预设角度,以使后续在未获取到击中受击对象的撞击入射角时,将预设入射角确定为撞击入射角。具体地,default对应的预设角度是音效设计师自定义的,这个default的意思是当该rtpc没有接收到任何数值时,则按default的数值来执行。以default=90为例,假如由于某种bug或其他原因,导致ue4没有向wwise发送撞击入射角的rtpc,那么无论从哪个角度射击,wwise都会认为这个rtpc的数值是90。其中,将default设置为90是较为常见的,是因为90度射击产生跳弹的概率最低,万一发生上述bug,不至于当任何角度射击时都产生大量跳弹声音对玩家造成干扰。
[0108]
在wwise中创建入射角rtpc后,需要将该rtpc转换为表示预设角区间的switch。例如,创建switch组,命名为bullet_ricochet(与游戏引擎提供的命名相同),在其属性编辑器中勾选“use game parameter”,并将控制源选为刚刚创建的bulletimpact_angle这个rtpc,然后在这个switch组中创建9个switch(由于图3的逻辑中设置有9个角度区间,因而这里示例性的将switch的数量设置为9),并配置各个switch与rtpc数值的对应关系,其中,9个switch可以为:bulletimpact_angle_00_10(0度到10对应的switch)、bulletimpact_angle_10_20(表示角度区间为10度到20对应的switch)、bulletimpact_angle_20_30(表示角度区间为20度到30对应的switch)、bulletimpact_angle_30_40(表示角度区间为30度到40对应的switch)、bulletimpact_angle_40_50(表示角度区间为40度到50对应的switch)、bulletimpact_angle_50_60(表示角度区间为50度到60对应的switch)、bulletimpact_angle_60_70(表示角度区间为60度到70对应的switch)、bulletimpact_angle_70_80(表示角度区间为70度到80对应的switch)、bulletimpact_angle_80_90(表示角度区间为80度到90对应的switch)。
[0109]
例如,以“bulletimpact_angle_20_30”这个switch为例,实际的效果就是当bulletimpact_angle收到的rtpc数值为20至30时,bullet_ricochet这个switch组会切换到bulletimpact_angle_20_30这个switch,此时,rtpc向switch的转换就完成了。在此解释
一下为什么需要这样的转换:因为wwise功能所限,并没有rtpc直接控制跳弹触发概率的功能,通过这样的转换后能够达到类似的效果。另外,本例中是创建了9个switch,实际上也可以更多或更少,若越多则颗粒度越细。这个switch理论上也可以直接让程序来调用而不是通过rtpc来转换,但其实还是出于灵活性和需求难度的考虑,比如这个入射角rtpc以后在其他模块使用。
[0110]
接下来,需要在wwise中创建切换受击对象材质的switch。例如,创建switch组命名为“switch_impact_material”(同游戏引擎中的命名相同),switch组里面添加受击材质metal、wood、concrete等switch,这里受击材质的命名也是与游戏引擎中是一致的。
[0111]
在wwise中还需要创建表示不同类型的目标对象击中受击对象的event。图3中的目标对象为各种类型的械,在wwise中分别按照程序接入的event相同的名称建立即可,如图3所示需要创建4个event。
[0112]
下面主要描述在音频引擎中创建和配置供event播放的audio对象(相当于音频播放源),以及设定这些audio对象如何被控制信息所影响的过程。首先需要预先设计规划跳弹触发概率关系,例如,可以是表1所示的跳弹触发概率关系。如图4所示实例性的提供了一种audio对象层级结构图,图4中的“work uit”层和“actor mixer”层,可以按需自行决定是否创建,通常子弹击中物体的衰减曲线(这个衰减曲线通常与子弹击中物体后的移动方向有关)可以配置在“actor mixer”层,若未创建actor-mixer也可配置在下一层。
[0113]
图4中“switch容器”这层是需要被不同类型的目标对象击中受击对象的event来播放的,每个event分别播放对应的switch容器。以图4中“switch容器-材质:子弹击中物体-手”为例,进入其属性编辑器界面进行配置时,可将switch组选择为“switch_impact_material”,默认switch按需选择即可,再将各个材质的switch与switch容器里的对象关联好。其他三个switch容器也进行同样的操作,这一层没有任何区别。至此,当目标对象击中物体时,逻辑上已经既能进行目标对象类型的判断,也能进行受击材质的判断了。
[0114]
接下来进入“switch容器”的下一层(也即是图4中对应的第4列)。这层会分为两种情况,一种是能够触发跳弹的材质,例如图4中的“混合容器:子弹击中金属”和“混合容器:子弹击中水泥”,这种要使用混合容器,目的是为了能够同时播放“子弹击中物体”(相当于被击中音效)和“跳弹”(相当于跳弹音效)这两个对象。另一种是不能触发跳弹的材质,例如图4中的“随机容器:子弹击中沙子”和“随机容器:子弹击中雪”,该情况直接通过随机容器来播放相应“子弹击中物体”的音效即可。
[0115]
进入再下一层的配置(也即是图4中的5列)。由于不能触发跳弹的情况不涉及额外的配置了,且能触发跳弹材质的“子弹击中物体”的部分(图4中“随机容器:子弹击中水泥”以及两个“随机容器:子弹击中金属”)也不涉及额外的配置了,所以下文主要以图4中“switch容器-概率:子弹跳弹-金属-手”、“switch容器-概率:子弹跳弹-水泥-手”、“switch容器-概率:子弹跳弹-金属-狙击”这三个关于跳弹的switch容器为例进行说明。
[0116]
以图4中“switch容器-概率:子弹跳弹-金属-手”为例,首先将其switch组设置为前文配置好的“bullet_ricochet”,默认switch建议设置为跳弹触发概率相对较小的角度区间,本例中设置为了70至80。之前已经在bullet_ricochet这个switch组中建立了8个switch,现在同样的将这个switch容器中的8个随机容器与这8个switch按照表1的对应关系进行一一对应关联。当入射角为0至10度和10至20度时,触发“跳弹触发概率为8分之8的
随机容器”,入射角为20至30度时,触发“跳弹触发概率为8分之7的随机容器”,入射角为30至40度时,触发“跳弹触发概率为8分之6的随机容器,以此类推,除金属外其他材质也是如此,按照表1进行对应即可。至此,对“switch容器-概率:子弹跳弹-金属-手”的switch相关参数配置就完成了。现在,已经能够根据不同入射角匹配不同的“随机容器”对象了,后面将对这些随机容器中的跳弹音效的跳弹触发概率”进行配置。
[0117]
接下来对图4中音频播放源的跳弹触发概率进行配置。这里可能会有多种方法,总之能够让每个随机容器可以按照所设定的概率来触发音效播放源即可。例如,在随机容器对应的多个音效播放源中放入2个有声播放源和6个无声播放源(这里可以使用wwise silence),即可得到2/8跳弹触发概率的随机容器,同理3个有声播放源和5个无声播放源就是3/8跳弹触发概率,以此类推。如果使用多个音效播放源做随机触发,那么无声播放源的数量也要等比增加。
[0118]
这里还可以尝试另外一种方法,即通过调整随机容器内各音效播放源的权重(weight)参数来实现同样的效果。
[0119]
具体地,任何一个角度区间switch都可以自由地与任一跳弹触发概率的随机容器关联,结合图3中第7行金属与水泥的差异,可以直观地看出这一点,因此,该方式使跳弹音效触发逻辑能够同时且合理化地兼顾入射角和受击材质的影响。另外,由于不同目标对象的类型的最上层audio对象是独立的,那么我们当然就可以为不同类型使用不同的跳弹音效播放源,也可以分别配置不同的跳弹触发概率等其他参数,即可实现不同目标对象类型的跳弹音效能够差异化。音效播放源中有声播放源的差异化不但能提升艺术表现,经验丰富的玩家还能够根据周围的跳弹音效反推敌人所使用的目标对象的类型,这一点属于对声音功能表现上的优化。
[0120]
上述撞击音效的播放方法,该方法能够使跳弹音效的触发逻辑和听感更加真实,最终获得更好的艺术表现,同时也对功能表现稍有优化。同时该方式使跳弹音效触发逻辑能够同时且合理化地兼顾入射角和受击材质的影响,且使不同类型的目标对象的跳弹音效能够差异化。
[0121]
本发明实施例还提供了另一种撞击音效的播放方法,该方法在上述实施例的基础上实现,该方法重点描述播放受击对象的被击中音效和目标跳弹音效的具体过程(通过下述步骤s506-s508实现),如图5所示,该方法包括如下具体步骤:
[0122]
步骤s502,响应于虚拟场景中目标对象击中受击对象,获取目标对象击中受击对象时的撞击入射角、目标对象的类型信息和受击对象的材质信息。
[0123]
步骤s504,根据上述撞击入射角、类型信息和材质信息,确定目标对象击中受击对象的目标跳弹音效。
[0124]
步骤s506,从预设的多个播放路径中,选取一个目标路径,以使目标跳弹音效按照目标路径的方向进行播放。
[0125]
在具体实现时,为了使跳弹音效能够听起来是随机向各个方向运动的,需要在音频引擎中设置多个播放路径,在游戏运行时可以随机从多个播放路径中抽取一个播放路径作为目标路径,也可以由程序定向选择一个播放路径作为目标路径。
[0126]
具体地,在音频引擎中可以进行如下配置:进入播放路径对应的switch容器的positioning选项卡,勾选override parent后,按照常规的“物体受击音效”的方式进行配
置。其中speaker panning/3d spatialization mix可按需配置,但数值不宜太低;衰减曲线这里可以继续复用“物体受击音效”的,也可以另外为跳弹创建一个专用的。点击automation按钮进入3dautomation配置,这里需要新建多个播放路径。这些播放路径之间唯一不同的就是轨迹automation线段的方向不同,这些线段应该全都是从圆的中心开始,分别在远离圆心的某一点结束,最后要使每个路径的automation线段结束在各个不同的方向,如果把这些线段集中到一起来看,应该是一个大致均匀的放射状,如图6所示为播放路径的示意图。
[0127]
在具体实现时,当跳弹音频触发时,其空间方位从子弹与物体的碰撞点(相当于受击对象的被撞击点)开始播放,同时随机抽取一个这里的automation,播放过程中按照这个automation的轨迹来变化空间。注意这里的线段长度也不是绝对的,也是需要结合听感来到一个合适的程度,太短或太长都会使效果不明显或效果变得奇怪。
[0128]
步骤s508,从受击对象的被撞击点开始,沿着目标路径的方向播放受击对象的被击中音效和目标跳弹音效。
[0129]
在具体实现时,在播放所述受击对象的被击中音效和所述目标跳弹音效时,响应于目标对象在虚拟场景中移动,根据移动方向对应的预设衰减曲线,播放受击对象的被击中音效和目标跳弹音效。
[0130]
在具体实现时,每种移动方向所对应的预设衰减曲线不同,例如,当目标对象朝着受击对象移动时,声音可能会有轻微的变大;当目标对象远离受击对象移动是,声音可能会越来越弱。
[0131]
上述撞击音效的播放方法,该方式使跳弹音效触发逻辑能够同时且合理化地兼顾入射角和受击材质的影响、使跳弹声能够听起来是随机向各个方向运动的,同时也使得不同目标对象类型的跳弹音效能够差异化。以上三种效果是以往的跳弹音效方案无法实现的,但更重要的是,有些不同层面的设计同时糅合到一起会产生实现冲突、提高实现难度,而本发明能够同时满足上述诉求,且达到预设效果。
[0132]
对应于上述方法实施例,本发明实施例还提供了一种撞击音效的播放装置,通过终端设备提供一图形用户界面,该图形用户界面中显示有虚拟场景的虚拟画面;如图7所示,该装置包括:
[0133]
信息获取模块70,用于响应于虚拟场景中目标对象击中受击对象,获取目标对象击中受击对象时的撞击入射角、目标对象的类型信息和受击对象的材质信息。
[0134]
音效确定模块71,用于根据撞击入射角、类型信息和材质信息,确定目标对象击中受击对象的目标跳弹音效。
[0135]
音效播放模块72,用于播放目标跳弹音效。
[0136]
上述撞击音效的播放装置,首先响应于虚拟场景中目标对象击中受击对象,获取目标对象击中受击对象时的撞击入射角、目标对象的类型信息和受击对象的材质信息;进而根据撞击入射角、类型信息和材质信息,确定目标对象击中受击对象的目标跳弹音效;然后播放目标跳弹音效。该方式中,根据目标对象击中受击对象时的撞击入射角、目标对象的类型和受击对象的材质,共同决定跳弹音效,使得不同类型的目标对象的跳弹音效能够差异化,且跳弹音效的确定能够兼顾撞击入射角和受击材质的影响,从而跳弹音效的触发逻辑和听感更加真实,有利于提升用户体验。
[0137]
具体地,上述音效确定模块71,包括:跳弹概率确定单元,用于基于撞击入射角和材质信息,确定跳弹触发概率;跳弹音效确定单元,用于根据跳弹触发概率,从类型信息对应的目标对象的多个音效播放源中确定目标播放源;将目标播放源确定为目标跳弹音效。
[0138]
在具体实现时,上述跳弹概率确定单元,还用于:根据预设的跳弹触发关系,确定撞击入射角和材质信息对应的跳弹触发概率;其中,跳弹触发关系中包括:多个预设角度区间中每个预设角度区间在每种预设受击材质下的跳弹触发概率。
[0139]
可选的,每种类型的目标对象,在每种跳弹触发概率下均对应有多个音效播放源,音效播放源为无声播放源或者有声播放源;每种跳弹触发概率对应的多种音效播放源中,无声播放源的数量和有声播放源的数量是根据跳弹触发概率确定的;上述跳弹音效确定单元,还用于:从类型信息对应的目标对象在跳弹触发概率下对应的多个音效播放源中,随机选择一个音效播放源作为目标播放源;其中,目标播放源为无声播放源或者有声播放源。
[0140]
可选的,每种类型的目标对象,在每种跳弹触发概率下均对应有多个音效播放源,音效播放源为无声播放源或者有声播放源;每种跳弹触发概率对应的多个音效播放源中,无声播放源对应的权重和有声播放源对应的权重是根据跳弹触发概率确定的;上述跳弹音效确定单元,还用于:基于跳弹触发概率下无声播放源对应的权重和有声播放源对应的权重,从类型信息对应的目标对象在跳弹触发概率下对应的无声播放源和有声播放源中,确定目标播放源。
[0141]
在一些实施例中,上述有声播放源中保存有随着时间衰减变化的音效;多个音效播放源中包括多个有声播放源时,有声播放源保存的音效不同。
[0142]
进一步地,上述装置还包括播放路径确定模块,用于:在播放目标跳弹音效之前,从预设的多个播放路径中,选取一个目标路径,以使目标跳弹音效按照目标路径的方向进行播放。
[0143]
基于此,上述音效播放模块72,用于:从受击对象的被撞击点开始,沿着目标路径的方向播放目标跳弹音效。
[0144]
在具体实现时,上述装置还包括角度确定模块,用于:如果未获取到击中受击对象的撞击入射角,将预设入射角确定为撞击入射角。
[0145]
在一些实施例中,上述音效播放模块72,用于:响应于目标对象在虚拟场景中移动,根据移动方向对应的预设衰减曲线,播放目标跳弹音效。
[0146]
在具体实现时,上述装置还包括击中音效播放模块,用于:在根据撞击入射角、类型信息和材质信息,确定目标对象击中受击对象的目标跳弹音效之后,在播放目标跳弹音效的同时,播放受击对象的被击中音效。
[0147]
进一步地,上述装置还包括击中音效确定模块,用于:在播放受击对象的被击中音效和目标跳弹音效之前,根据目标对象的类型信息,确定受击对象对应的至少一个预设击中音效;从至少一个预设击中音效中,抽取一个预设击中音效作为受击对象的被击中音效。
[0148]
本发明实施例所提供的撞击音效的播放装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
[0149]
本发明实施例还提供了一种电子设备,如图8所示,该电子设备包括处理器和存储器,该存储器存储有能够被处理器执行的机器可执行指令,该处理器执行机器可执行指令
以实现上述撞击音效的播放方法。
[0150]
具体地,通过电子设备提供一图形用户界面,该图形用户界面中显示有虚拟场景的虚拟画面;该撞击音效的播放方法包括:响应于虚拟场景中目标对象击中受击对象,获取目标对象击中受击对象时的撞击入射角、目标对象的类型信息和受击对象的材质信息;根据撞击入射角、类型信息和材质信息,确定目标对象击中受击对象的目标跳弹音效;播放目标跳弹音效。
[0151]
上述撞击音效的播放方法可以根据目标对象击中受击对象时的撞击入射角、目标对象的类型和受击对象的材质,共同决定跳弹音效,使得不同类型的目标对象的跳弹音效能够差异化,且跳弹音效的确定能够兼顾撞击入射角和受击材质的影响,从而跳弹音效的触发逻辑和听感更加真实,有利于提升用户体验。
[0152]
在可选实施方式中,上述根据撞击入射角、类型信息和材质信息,确定目标对象击中受击对象的目标跳弹音效的步骤,包括:基于撞击入射角和材质信息,确定跳弹触发概率;根据跳弹触发概率,从类型信息对应的目标对象的多个音效播放源中确定目标播放源;将目标播放源确定为目标跳弹音效。
[0153]
在可选实施方式中,上述基于撞击入射角和材质信息,确定跳弹触发概率的步骤,包括:根据预设的跳弹触发关系,确定撞击入射角和材质信息对应的跳弹触发概率;其中,跳弹触发关系中包括:多个预设角度区间中每个预设角度区间在每种预设受击材质下的跳弹触发概率。
[0154]
在可选实施方式中,每种类型的目标对象,在每种跳弹触发概率下均对应有多个音效播放源,音效播放源为无声播放源或者有声播放源;每种跳弹触发概率对应的多种音效播放源中,无声播放源的数量和有声播放源的数量是根据跳弹触发概率确定的;上述根据跳弹触发概率,从类型信息对应的目标对象的多个音效播放源中确定目标播放源的步骤,包括:从类型信息对应的目标对象在跳弹触发概率下对应的多个音效播放源中,随机选择一个音效播放源作为目标播放源;其中,目标播放源为无声播放源或者有声播放源。
[0155]
在可选实施方式中,每种类型的目标对象,在每种跳弹触发概率下均对应有多个音效播放源,音效播放源为无声播放源或者有声播放源;每种跳弹触发概率对应的多个音效播放源中,无声播放源对应的权重和有声播放源对应的权重是根据跳弹触发概率确定的;上述根据跳弹触发概率,从类型信息对应的目标对象的多个音效播放源中确定目标播放源的步骤,包括:基于跳弹触发概率下无声播放源对应的权重和有声播放源对应的权重,从类型信息对应的目标对象在跳弹触发概率下对应的无声播放源和有声播放源中,确定目标播放源。
[0156]
在可选实施方式中,上述有声播放源中保存有随着时间衰减变化的音效;多个音效播放源中包括多个有声播放源时,有声播放源保存的音效不同。
[0157]
在可选实施方式中,上述播放目标跳弹音效的步骤之前,上述方法还包括:从预设的多个播放路径中,选取一个目标路径,以使目标跳弹音效按照目标路径的方向进行播放。
[0158]
在可选实施方式中,上述播放目标跳弹音效的步骤,包括:从受击对象的被撞击点开始,沿着目标路径的方向播放目标跳弹音效。
[0159]
在可选的实施方式中,上述方法还包括:如果未获取到击中受击对象的撞击入射角,将预设入射角确定为撞击入射角。
[0160]
在可选实施方式中,上述播放目标跳弹音效的步骤,包括:响应于目标对象在虚拟场景中移动,根据移动方向对应的预设衰减曲线,播放目标跳弹音效。
[0161]
在可选的实施方式中,上述根据撞击入射角、类型信息和材质信息,确定目标对象击中受击对象的目标跳弹音效的步骤之后,上述方法还包括:在播放目标跳弹音效的同时,播放受击对象的被击中音效。
[0162]
在可选的实施方式中,上述在播放目标跳弹音效的同时,播放受击对象的被击中音效的步骤之前,上述方法还包括:根据目标对象的类型信息,确定受击对象对应的至少一个预设击中音效;从至少一个预设击中音效中,抽取一个预设击中音效作为受击对象的被击中音效。
[0163]
进一步地,图8所示的电子设备还包括总线102和通信接口103,处理器101、通信接口103和存储器100通过总线102连接。
[0164]
其中,存储器100可能包含高速随机存取存储器(ram,randomaccessmemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0165]
处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现成可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器100,处理器101读取存储器100中的信息,结合其硬件完成前述实施例的方法的步骤。
[0166]
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,该计算机可执行指令促使处理器实现上述撞击音效的播放方法,具体实现可参见方法实施例,在此不再赘述。
[0167]
具体地,通过电子设备提供一图形用户界面,该图形用户界面中显示有虚拟场景的虚拟画面;该撞击音效的播放方法包括:响应于虚拟场景中目标对象击中受击对象,获取目标对象击中受击对象时的撞击入射角、目标对象的类型信息和受击对象的材质信息;根据撞击入射角、类型信息和材质信息,确定目标对象击中受击对象的目标跳弹音效;播放目标跳弹音效。
[0168]
上述撞击音效的播放方法可以根据目标对象击中受击对象时的撞击入射角、目标
对象的类型和受击对象的材质,共同决定跳弹音效,使得不同类型的目标对象的跳弹音效能够差异化,且跳弹音效的确定能够兼顾撞击入射角和受击材质的影响,从而跳弹音效的触发逻辑和听感更加真实,有利于提升用户体验。
[0169]
在可选实施方式中,上述根据撞击入射角、类型信息和材质信息,确定目标对象击中受击对象的目标跳弹音效的步骤,包括:基于撞击入射角和材质信息,确定跳弹触发概率;根据跳弹触发概率,从类型信息对应的目标对象的多个音效播放源中确定目标播放源;将目标播放源确定为目标跳弹音效。
[0170]
在可选实施方式中,上述基于撞击入射角和材质信息,确定跳弹触发概率的步骤,包括:根据预设的跳弹触发关系,确定撞击入射角和材质信息对应的跳弹触发概率;其中,跳弹触发关系中包括:多个预设角度区间中每个预设角度区间在每种预设受击材质下的跳弹触发概率。
[0171]
在可选实施方式中,每种类型的目标对象,在每种跳弹触发概率下均对应有多个音效播放源,音效播放源为无声播放源或者有声播放源;每种跳弹触发概率对应的多种音效播放源中,无声播放源的数量和有声播放源的数量是根据跳弹触发概率确定的;上述根据跳弹触发概率,从类型信息对应的目标对象的多个音效播放源中确定目标播放源的步骤,包括:从类型信息对应的目标对象在跳弹触发概率下对应的多个音效播放源中,随机选择一个音效播放源作为目标播放源;其中,目标播放源为无声播放源或者有声播放源。
[0172]
在可选实施方式中,每种类型的目标对象,在每种跳弹触发概率下均对应有多个音效播放源,音效播放源为无声播放源或者有声播放源;每种跳弹触发概率对应的多个音效播放源中,无声播放源对应的权重和有声播放源对应的权重是根据跳弹触发概率确定的;上述根据跳弹触发概率,从类型信息对应的目标对象的多个音效播放源中确定目标播放源的步骤,包括:基于跳弹触发概率下无声播放源对应的权重和有声播放源对应的权重,从类型信息对应的目标对象在跳弹触发概率下对应的无声播放源和有声播放源中,确定目标播放源。
[0173]
在可选实施方式中,上述有声播放源中保存有随着时间衰减变化的音效;多个音效播放源中包括多个有声播放源时,有声播放源保存的音效不同。
[0174]
在可选实施方式中,上述播放目标跳弹音效的步骤之前,上述方法还包括:从预设的多个播放路径中,选取一个目标路径,以使目标跳弹音效按照目标路径的方向进行播放。
[0175]
在可选实施方式中,上述播放目标跳弹音效的步骤,包括:从受击对象的被撞击点开始,沿着目标路径的方向播放目标跳弹音效。
[0176]
在可选的实施方式中,上述方法还包括:如果未获取到击中受击对象的撞击入射角,将预设入射角确定为撞击入射角。
[0177]
在可选实施方式中,上述播放受击对象的被击中音效和目标跳弹音效的步骤,包括:响应于目标对象在虚拟场景中移动,根据移动方向对应的预设衰减曲线,播放目标跳弹音效。
[0178]
在可选的实施方式中,上述根据撞击入射角、类型信息和材质信息,确定目标对象击中受击对象的目标跳弹音效的步骤之后,上述方法还包括:在播放目标跳弹音效的同时,播放受击对象的被击中音效。
[0179]
在可选的实施方式中,上述在播放目标跳弹音效的同时,播放受击对象的被击中
音效的步骤之前,上述方法还包括:根据目标对象的类型信息,确定受击对象对应的至少一个预设击中音效;从至少一个预设击中音效中,抽取一个预设击中音效作为受击对象的被击中音效。
[0180]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0181]
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0182]
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

技术特征:


1.一种撞击音效的播放方法,其特征在于,通过终端设备提供一图形用户界面,所述图形用户界面中显示有虚拟场景的虚拟画面;所述方法包括:响应于所述虚拟场景中目标对象击中受击对象,获取所述目标对象击中所述受击对象时的撞击入射角、所述目标对象的类型信息和所述受击对象的材质信息;根据所述撞击入射角、所述类型信息和所述材质信息,确定所述目标对象击中所述受击对象的目标跳弹音效;播放所述目标跳弹音效。2.根据权利要求1所述的方法,其特征在于,所述根据所述撞击入射角、所述类型信息和所述材质信息,确定所述目标对象击中所述受击对象的目标跳弹音效的步骤,包括:基于所述撞击入射角和所述材质信息,确定跳弹触发概率;根据所述跳弹触发概率,从所述类型信息对应的所述目标对象的多个音效播放源中确定目标播放源;将所述目标播放源确定为所述目标跳弹音效。3.根据权利要求2所述的方法,其特征在于,所述基于所述撞击入射角和所述材质信息,确定跳弹触发概率的步骤,包括:根据预设的跳弹触发关系,确定所述撞击入射角和所述材质信息对应的跳弹触发概率;其中,所述跳弹触发关系中包括:多个预设角度区间中每个所述预设角度区间在每种预设受击材质下的跳弹触发概率。4.根据权利要求2所述的方法,其特征在于,每种类型的所述目标对象,在每种跳弹触发概率下均对应有多个音效播放源,所述音效播放源为无声播放源或者有声播放源;每种所述跳弹触发概率对应的多种音效播放源中,所述无声播放源的数量和所述有声播放源的数量是根据所述跳弹触发概率确定的;所述根据所述跳弹触发概率,从所述类型信息对应的所述目标对象的多个音效播放源中确定目标播放源的步骤,包括:从所述类型信息对应的所述目标对象在所述跳弹触发概率下对应的所述多个音效播放源中,随机选择一个音效播放源作为目标播放源;其中,所述目标播放源为无声播放源或者有声播放源。5.根据权利要求2所述的方法,其特征在于,每种类型的所述目标对象,在每种跳弹触发概率下均对应有多个音效播放源,所述音效播放源为无声播放源或者有声播放源;每种所述跳弹触发概率对应的多个音效播放源中,所述无声播放源对应的权重和所述有声播放源对应的权重是根据所述跳弹触发概率确定的;所述根据所述跳弹触发概率,从所述类型信息对应的所述目标对象的多个音效播放源中确定目标播放源的步骤,包括:基于所述跳弹触发概率下无声播放源对应的权重和有声播放源对应的权重,从所述类型信息对应的所述目标对象在所述跳弹触发概率下对应的无声播放源和有声播放源中,确定所述目标播放源。6.根据权利要求4或5所述的方法,其特征在于,所述有声播放源中保存有随着时间衰减变化的音效;所述多个音效播放源中包括多个有声播放源时,所述有声播放源保存的音
效不同。7.根据权利要求1所述的方法,其特征在于,所述播放所述目标跳弹音效的步骤之前,所述方法还包括:从预设的多个播放路径中,选取一个目标路径,以使所述目标跳弹音效按照所述目标路径的方向进行播放。8.根据权利要求7所述的方法,其特征在于,所述播放所述目标跳弹音效的步骤,包括:从所述受击对象的被撞击点开始,沿着所述目标路径的方向播放所述目标跳弹音效。9.根据权利要求1所述的方法,其特征在于,所述方法还包括:如果未获取到击中所述受击对象的撞击入射角,将预设入射角确定为所述撞击入射角。10.根据权利要求1所述的方法,其特征在于,所述播放所述目标跳弹音效的步骤,包括:响应于所述目标对象在所述虚拟场景中移动,根据移动方向对应的预设衰减曲线,播放所述目标跳弹音效。11.根据权利要求1所述的方法,其特征在于,所述根据所述撞击入射角、所述类型信息和所述材质信息,确定所述目标对象击中所述受击对象的目标跳弹音效的步骤之后,所述方法还包括:在播放所述目标跳弹音效的同时,播放所述受击对象的被击中音效。12.根据权利要求11所述的方法,其特征在于,所述在播放所述目标跳弹音效的同时,播放所述受击对象的被击中音效的步骤之前,所述方法还包括:根据所述目标对象的类型信息,确定所述受击对象对应的至少一个预设击中音效;从所述至少一个预设击中音效中,抽取一个所述预设击中音效作为所述受击对象的被击中音效。13.一种撞击音效的播放装置,其特征在于,通过终端设备提供一图形用户界面,所述图形用户界面中显示有虚拟场景的虚拟画面;所述装置包括:信息获取模块,用于响应于所述虚拟场景中目标对象击中受击对象,获取所述目标对象击中所述受击对象时的撞击入射角、所述目标对象的类型信息和所述受击对象的材质信息;音效确定模块,用于根据所述撞击入射角、所述类型信息和所述材质信息,确定所述目标对象击中所述受击对象的目标跳弹音效;音效播放模块,用于播放所述目标跳弹音效。14.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1至12任一项所述的撞击音效的播放方法。15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,所述计算机可执行指令促使所述处理器实现权利要求1至12任一项所述的撞击音效的播放方法。

技术总结


本发明提供了一种撞击音效的播放方法、装置和电子设备,该方法包括:响应于虚拟场景中目标对象击中受击对象,获取目标对象击中受击对象时的撞击入射角、目标对象的类型信息和受击对象的材质信息;根据撞击入射角、类型信息和材质信息,确定目标对象击中受击对象的目标跳弹音效;播放目标跳弹音效。该方式中,根据目标对象击中受击对象时的撞击入射角、目标对象的类型和受击对象的材质,共同决定跳弹音效,使得不同类型的目标对象的跳弹音效能够差异化,且跳弹音效的确定能够兼顾撞击入射角和受击材质的影响,从而跳弹音效的触发逻辑和听感更加真实,有利于提升用户体验。有利于提升用户体验。有利于提升用户体验。


技术研发人员:

刘明哲 李萌 王钧平 汤子建

受保护的技术使用者:

网易(杭州)网络有限公司

技术研发日:

2022.06.14

技术公布日:

2022/11/8

本文发布于:2024-09-21 16:22:17,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/45095.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:音效   对象   目标   入射角
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议