CN118267708A - 音效编辑方法、装置和电子设备 - Google Patents
音效编辑方法、装置和电子设备 Download PDFInfo
- Publication number
- CN118267708A CN118267708A CN202410217193.XA CN202410217193A CN118267708A CN 118267708 A CN118267708 A CN 118267708A CN 202410217193 A CN202410217193 A CN 202410217193A CN 118267708 A CN118267708 A CN 118267708A
- Authority
- CN
- China
- Prior art keywords
- sound effect
- audio
- hanging
- target
- hooking
- 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.)
- Pending
Links
- 230000000694 effects Effects 0.000 title claims abstract description 761
- 238000000034 method Methods 0.000 title claims abstract description 87
- 230000009471 action Effects 0.000 claims description 159
- 238000012360 testing method Methods 0.000 claims description 33
- 238000013500 data storage Methods 0.000 claims description 9
- 230000007704 transition Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007654 immersion Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Abstract
本发明提供了一种音效编辑方法、装置和电子设备,其中,方法包括:确定目标虚拟角色以及目标虚拟角色的目标技能,并获取目标技能对应的音效挂接对象;如果音效挂接对象存在音效挂接数据,获取音效挂接数据;接收音效编辑指令,从音效挂接对象中确定对应的目标挂接对象并更新音效挂接数据;接收技能预览指令,控制目标虚拟角色释放目标技能,并基于音效挂接数据中的挂接参数播放音效文件。该方式可以同时编辑角色的某一技能的所有音效挂接对象的音效挂接数据,并同时预览技能释放时这些音效挂接数据的整体播放效果,降低了工作人员挂接音效的工作量,提高了音效挂接的效率。
Description
技术领域
本发明涉及游戏技术领域,尤其是涉及一种音效编辑方法、装置和电子设备。
背景技术
音效是游戏的重要组成部分,为场景、角色、动作、特效等配置音效,可以增加游戏的沉浸感。在游戏开发过程中,需要使用音效工具为角色挂接音效。在音效工具中,首先获取虚拟角色的角色模型、角色动作或角色特效的动画序列、以及待挂接的音效文件;控制虚拟角色的角色模型实现动画序列对应的角色动作或角色特效,当运行到动画序列的指定动画帧时,音效文件开始播放;工作人员还可以根据音效文件的播放效果,调整播放音效文件的动画帧,以及其他播放参数。
在上述方式中,工作人员获取到角色模型、动画序列以及音效文件后,只能操作和预览该动画序列对应的动作或特效的音效;当角色较多、或者角色动作、角色特效较多时,需要挂接的音效量也会较多,工作人员的操作工作量会比较大,且音效挂接的效率较低。
发明内容
有鉴于此,本发明的目的在于提供一种音效编辑方法、装置和电子设备,以降低工作人员挂接音效的工作量,提高音效挂接的效率。
第一方面,本发明实施例提供了一种音效编辑方法,该方法包括:确定目标虚拟角色,以及目标虚拟角色的目标技能,并获取目标技能对应的音效挂接对象;其中,音效挂接对象包括:技能动作和/或技能特效;如果音效挂接对象存在音效挂接数据,获取音效挂接数据;其中,音效挂接数据包括:已挂接的音效文件以及音效文件对应的挂接参数;接收音效编辑指令,从音效挂接对象中确定音效编辑指令对应的目标挂接对象,并基于音效编辑指令更新目标挂接对象的音效挂接数据;接收技能预览指令,控制目标虚拟角色释放目标技能,并基于音效挂接数据中的挂接参数播放音效文件。
第二方面,本公开实施例还提供一种音效编辑装置,该装置包括:对象获取模块,用于确定目标虚拟角色,以及目标虚拟角色的目标技能,并获取目标技能对应的音效挂接对象;其中,音效挂接对象包括:技能动作和/或技能特效;数据获取模块,用于如果音效挂接对象存在音效挂接数据,获取音效挂接数据;其中,音效挂接数据包括:已挂接的音效文件以及音效文件对应的挂接参数;数据更新模块,用于接收音效编辑指令,从音效挂接对象中确定音效编辑指令对应的目标挂接对象,并基于音效编辑指令更新目标挂接对象的音效挂接数据;文件播放模块,用于接收技能预览指令,控制目标虚拟角色释放目标技能,并基于音效挂接数据中的挂接参数播放音效文件。
第三方面,本公开实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述音效编辑方法。
第四方面,本公开实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述音效编辑方法。
本发明实施例带来了以下有益效果:
上述音效编辑方法、装置和电子设备,确定目标虚拟角色,以及目标虚拟角色的目标技能,并获取目标技能对应的音效挂接对象;其中,音效挂接对象包括:技能动作和/或技能特效;如果音效挂接对象存在音效挂接数据,获取音效挂接数据;其中,音效挂接数据包括:已挂接的音效文件以及音效文件对应的挂接参数;接收音效编辑指令,从音效挂接对象中确定音效编辑指令对应的目标挂接对象,并基于音效编辑指令更新目标挂接对象的音效挂接数据;接收技能预览指令,控制目标虚拟角色释放目标技能,并基于音效挂接数据中的挂接参数播放音效文件。
该方式中,确定目标虚拟角色以及目标技能后,即可对该目标技能的音效挂接对象编辑音效挂接数据,还可以预先目标虚拟角色释放目标技能时,音效挂接数据的播放效果,该方式可以同时编辑角色的某一技能的所有音效挂接对象的音效挂接数据,并同时预览技能释放时这些音效挂接数据的整体播放效果,降低了工作人员挂接音效的工作量,提高了音效挂接的效率。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种音效编辑方法的流程图;
图2为本发明实施例提供的一种音效工具在测试场景作用的示意图;
图3为本发明实施例提供的一种使用音效工具编辑器窗口的流程图;
图4为本发明实施例提供的一种音效数据自动配表的流程图;
图5为本发明实施例提供的一种动作状态机提示信息获取的流程图;
图6为本发明实施例提供的一种查询未被引用的音效标识的流程图;
图7为本发明实施例提供的一种音效编辑装置的示意图;
图8为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,音效是游戏的重要组成部分,为场景、角色、动作、特效等配置音效,可以增加游戏的沉浸感。在游戏开发过程中,需要使用音效工具为角色挂接音效。通常,角色的技能由动作以及特效组成,这两个部分都需要配置相应的音效。
在音效工具中,首先获取虚拟角色的角色模型、角色动作或角色特效的动画序列、以及待挂接的音效文件;控制虚拟角色的角色模型实现动画序列对应的角色动作或角色特效,当运行到动画序列的指定动画帧时,音效文件开始播放;工作人员还可以根据音效文件的播放效果,调整播放音效文件的动画帧,以及其他播放参数。
在上述方式中,工作人员获取到角色模型、动画序列以及音效文件后,只能操作和预览该动画序列对应的动作或特效的音效;当角色较多、或者角色动作、角色特效较多时,需要挂接的音效量也会较多,工作人员的操作工作量会比较大,且音效挂接的效率较低。
并且,旧工具功能较为单一,只解决了音效挂接的预览问题,其缺点是操作不便,在每一次的操作中,使用者都需要对涉及到的模型、相关动作以及存储数据进行手动拖动修改,且单次只能预览一个动作或一个特效的音效效果,无法将技能相关的动作、特效关联起来预览。
除了无法实时预览的问题外,由于资源的不断新增迭代,难免会存在部分动作、特效未配置对应音效的遗漏问题,或者配置表内有旧数据被舍弃,但是没有在表里及时删除,从而导致配置表无效数据繁多的问题。
基于此,本发明实施例提供的一种音效编辑方法、装置和电子设备,该技术可以应用于对音效进行编辑的游戏或其他应用中。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种音效编辑方法进行详细介绍,如图1所示,该音效编辑的方法,本方法包括如下步骤:
步骤S102、确定目标虚拟角色,以及目标虚拟角色的目标技能,并获取目标技能对应的音效挂接对象;其中,音效挂接对象包括:技能动作和/或技能特效;
上述目标虚拟角色通常是指游戏中需要进行音效编辑的虚拟角色,例如,虚拟人物角色或虚拟动物角色。上述目标技能通常可以有多个,例如,挥拳攻击技能、吼叫攻击技能或治愈技能。
实际实现时,工作人员可以首先确定目标虚拟角色,再确定目标虚拟角色对应的目标技能,进一步地,终端设备获取目标技能对应的音效挂接对象,该音效挂接对象可以是技能动作,还可以是技能特效,也可以同时包括技能动作和技能特效。
在这里,终端设备可以提供音效工具编辑器窗口EditorWindow,以便于工作人员对音效进行编辑;该EditorWindow是Unity编辑器中的一个用户界面控件类,用于在Unity编辑器中创建自定义的窗口,EditorWindow提供一些基本UI交互元素,例如,按钮、输入文本框、列表等。在该编辑器窗口中,实现音效数据的可视化及可操作化。
示例性的实施例中,如图2所示的音效工具在测试场景作用的示意图。首先,工作人员在测试场景中点击选中虚拟人物控件,显示虚拟人物对应的多个目标技能,接着,选择当前目标虚拟角色的目标技能,例如,在测试场景中点击选中挥拳攻击技能的文件名称;终端设备获取该挥拳攻击技能对应的技能动作,或者技能特效,或者技能动作和技能特效。
步骤S104、如果音效挂接对象存在音效挂接数据,获取音效挂接数据;其中,音效挂接数据包括:已挂接的音效文件以及音效文件对应的挂接参数;
上述音效挂接数据通常指的是,针对技能动作和技能特效中至少一个音效挂接对象已挂接的音效文件,以及该音效文件对应的挂接参数。上述音效文件通常是ScriptableObject类,音效文件对应的挂接参数的格式通常为int整型,或string字符串。
也就是说,如果音效挂接对象存在技能动作已挂接的音效文件以及音效文件对应的挂接参数,或者,技能特效已挂接的音效文件以及音效文件对应的挂接参数,再者,技能动作和技能特效已挂接的音效文件以及音效文件对应的挂接参数,则终端设备获取已挂接的音效文件以及音效文件对应的挂接参数。
一个示例中,如果技能动作存在已挂接的音效文件,以及音效播放帧数、音量等音效文件对应的挂接参数,则终端设备获取技能动作对应的已挂接的音效文件,以及音效播放帧数、音量等音效文件对应的挂接参数。
步骤S106、接收音效编辑指令,从音效挂接对象中确定音效编辑指令对应的目标挂接对象,并基于音效编辑指令更新目标挂接对象的音效挂接数据;
上述音效编辑指令通常对音效进行编辑,例如,对音效路径进行编辑,或者,对音效文件对应的挂接参数进行编辑,再者,新建一个音效。上述目标挂接对象通常可以是技能动作,还可以是技能特效,也可以是技能动作和技能特效。
实际实现时,工作人员可以在编辑器窗口中点击对应的音效编辑控件,接着,终端设备接收音效编辑指令,从技能动作和/或技能特效中确定音效编辑指令对应的目标挂接对象,并且根据音效编辑指令,对目标挂接对象的音效挂接数据进行更新。
上述方式中,若游戏的迭代影响了数据结构,只需对代码的数据读写部分进行对应迭代即可,进行小规模修改,无需改动整体框架,提高了音效挂接效率。
步骤S108、接收技能预览指令,控制目标虚拟角色释放目标技能,并基于音效挂接数据中的挂接参数播放音效文件。
上述技能预览指令可以通过点击控件触发,也可以在工作人员完成音效挂接数据的设置后自动触发,用于对技能动作和技能特效中至少一个音效挂接对象对应的音效文件进行预览。
也就是说,工作人员可以在编辑器窗口中点击对应的技能预览控件,接着,终端设备接收音效编辑指令,控制目标虚拟角色释放对应的目标技能,并且根据音效挂接数据中的挂接参数播放音效文件。
示例地,如图2所示,工作人员在测试场景中点击选中技能预览控件,进而终端设备播放技能音效、特效音效,例如,音效工具根据音效挂接数据中的挂接参数播放音效文件。
上述方式中,在音效工具内完成音效编辑操作,利用编辑器窗口展示的形式便于进行音效测试,无需打开多余的软件窗口,即可完成所有操作。
上述音效编辑方法,确定目标虚拟角色,以及目标虚拟角色的目标技能,并获取目标技能对应的音效挂接对象;其中,音效挂接对象包括:技能动作和/或技能特效;如果音效挂接对象存在音效挂接数据,获取音效挂接数据;其中,音效挂接数据包括:已挂接的音效文件以及音效文件对应的挂接参数;接收音效编辑指令,从音效挂接对象中确定音效编辑指令对应的目标挂接对象,并基于音效编辑指令更新目标挂接对象的音效挂接数据;接收技能预览指令,控制目标虚拟角色释放目标技能,并基于音效挂接数据中的挂接参数播放音效文件。该方式中,确定目标虚拟角色以及目标技能后,即可对该目标技能的音效挂接对象编辑音效挂接数据,还可以预先目标虚拟角色释放目标技能时,音效挂接数据的播放效果。该方式可以同时编辑角色的某一技能的所有音效挂接对象的音效挂接数据,并同时预览技能释放时这些音效挂接数据的整体播放效果,降低了工作人员挂接音效的工作量,提高了音效挂接的效率。
下述实施例提供设置音效编辑指令的可选实现方式。
一种可选方式中,上述音效编辑指令包括音效路径编辑指令;具体地,接收音效路径编辑指令,从音效挂接对象中确定音效路径编辑指令对应的目标挂接对象,从目标挂接对象的已挂接的音效文件中,确定音效路径编辑指令对应的第一目标音效文件;从音效编辑指令中获取第一音效路径,将第一目标音效文件替换为第一音效路径对应的音效文件。
上述音效路径编辑指令通常可以是针对音效名称控件的点击操作;根据点击选中的音效名称,终端设备确定第一目标音效文件,以及第一音效路径对应的音效文件。
上述第一目标音效文件通常是指需要对路径进行编辑的音效文件,例如,可以是EffectSoundDataObject文件,该文件为一个ScriptableObject类,用于存储数据;EffectSoundDataObject存储着一个EffectSoundData类的列表,每个EffectSoundData类内的信息对应一个音效。
当目标挂接对象为技能动作时,EffectSoundDataObject中包括两个EffectSoundData,表示该技能动作会播放两个音效文件;在EffectSoundData中包括EffectName,EffectName为音效名称,该音效名称与音效路径同理,均用于查找加载音效文件,例如,终端设备通过命名规则(如音效文件需要与目标挂接对象同名),查找当前目标挂接对象已挂接的音效文件,并显示在音效工具的编辑窗口中,工作人员可以从已挂接的音效文件中点击选中第一目标音效文件,向终端设备发送音效路径编辑指令。
也就是说,工作人员可以点击选中技能动作和技能特效中至少一个音效挂接对象作为目标挂接对象,并对第一目标音效文件的音效名称进行点击操作;终端设备接收到音效路径编辑指令后,根据工作人员点击选中的目标挂接对象的已挂接的音效文件,确定第一目标音效文件。接着,根据点击工作人员点击选中的第一音效路径,终端设备将第一目标音效文件替换为所述第一音效路径对应的音效文件。
一个示例中,首先,工作人员可以在音效工具的编辑窗口中,点击选中技能动作的音效文件对应的音效名称,例如,该音效名称可以为人的吼叫声,用于播放人的吼叫声的音效;终端设备接收音效路径编辑指令,并从技能动作的已挂接的音效文件中,确定人的吼叫声作为第一目标音效文件。接着,工作人员可以在音效工具编辑界面点击选择第一音效路径,例如,该第一音效路径可以指示播放“拳头挥动的声音”对应的音效文件,进一步地,终端设备将第一目标音效文件替换为指示播放“拳头挥动的声音”对应的音效文件。
一种可选方式中,上述音效编辑指令包括挂接参数编辑指令;具体地,接收挂接参数编辑指令,从音效挂接对象中确定挂接参数编辑指令对应的目标挂接对象,从目标挂接对象的已挂接的音效文件中,确定挂接参数编辑指令对应的第二目标音效文件;从音效编辑指令中获取第一挂接参数,将第二目标音效文件的挂接参数替换为第一挂接参数。
上述挂接参数编辑指令通常可以是针对音效名称控件进行点击操作后,对增减控件进行点击操作;根据点击选中的音效名称,终端设备确定第二目标音效文件;根据点击增减控件设置的帧数,终端设备确定第一挂接参数。上述挂接参数可以是音效播放帧的帧数,该音效播放帧用于存储需要播放目标挂接对象对应的音效文件的时刻。
上述第二目标音效文件通常是需要对挂接参数进行编辑的音效文件,例如,可以是EffectSoundDataObject文件,EffectSoundDataObject存储着一个EffectSoundData类的列表,在EffectSoundData中包括EffectFrames;EffectFrames为播放该音效文件的帧数,具体存储为一个列表list,工作人员可以点击增减控件调整挂接参数,通过点击增“+”控件增加帧数,或点击减“-”控件减少帧数。
也就是说,工作人员可以点击选中技能动作和技能特效中至少一个音效挂接对象作为目标挂接对象,并对第二目标音效文件的挂接参数进行增减操作;终端设备接收到挂接参数编辑指令后,根据工作人员点击选中的目标挂接对象的已挂接的音效文件,确定第二目标音效文件。接着,根据工作人员点击增减控件进行调整、完成设置的第一挂接参数,终端设备将第二目标音效文件的挂接参数替换为第一挂接参数。
一个示例中,首先,工作人员可以在音效工具的编辑窗口中,点击选中技能动作的音效文件对应的音效名称,例如,该音效名称可以为人的吼叫声,并且,在音效工具编辑界面点击增减控件调整挂接参数,设置第一挂接参数;终端设备接收挂接参数编辑指令,并从技能动作的已挂接的音效文件中,确定人的吼叫声作为第二目标音效文件,进一步地,终端设备从音效编辑指令中获取第一挂接参数对应的音效播放帧的帧数,将第二目标音效文件的音效播放帧的帧数替换为该第一挂接参数。
一种可选方式中,上述音效编辑指令包括音效新建指令;具体地,接收音效新建指令,从音效挂接对象中确定音效新建指令对应的目标挂接对象,提供目标挂接对象的音效路径编辑接口和挂接参数编辑接口;其中,音效路径编辑接口用于获取音效路径,挂接参数编辑接口用于获取挂接参数。
上述音效新建指令通常可以是针对新建音效控件的点击操作,该新建音效控件可以显示为“+”控件,用于新建一个空白音效文件,例如,EffectSoundDataObject文件。
实际实现时,工作人员可以在音效工具的编辑器窗口中点击“+”控件,新建一个空白音效文件,并且,点击选中技能动作和技能特效中至少一个音效挂接对象作为目标挂接对象。
此时,终端设备接收音效编辑指令,根据工作人员点击选中的音效挂接对象,确定目标挂接对象,接着,在音效工具的编辑器窗口中提供目标挂接对象的音效路径编辑接口和挂接参数编辑接口,示例地,该音效路径编辑接口和挂接参数编辑接口为空白输入框,工作人员点击音效路径编辑接口后,显示音效路径列表;点击挂接参数编辑接口后,可以输入数字,对应于目标挂接对象的音效播放帧数,当然,还可以通过点击增减控件,修改挂接参数。
一个实施例中,参见图3所示的音效工具编辑器窗口的流程图,提供音效编辑指令实现的具体实现方式。
首先,工作人员点击选中目标挂接对象,终端设备确定目标挂接对象后,查找目标挂接对象对应的音效挂接数据。
一个方式中,如果音效挂接数据存在,则终端设备加载目标挂接对象已挂接的音效文件,或者音效文件对应的挂接参数,并在音效工具的编辑器窗口中显示音效挂接数据,接着,工作人员可以针对目标挂接对象已挂接的音效文件,或者音效文件对应的挂接参数进行修改,然后通过终端设备播放音效文件。
一个方式中,如果音效挂接数据不存在,工作人员可以点击新建音效控件,创建音效挂接数据;终端设备在音效工具的编辑器窗口中显示音效挂接数据,接着,工作人员可以针对目标挂接对象已挂接的音效文件,或者音效文件对应的挂接参数进行修改,然后通过终端设备播放音效文件。
进一步地,判断当前是否是测试场景,如果是测试场景,则在音效工具的编辑器窗口中加载包括技能动作和技能特效的音效挂接对象的音效挂接数据,并且保存音效挂接数据,完成音效设置;如果不是测试场景,则终端设备加载已经完成的配置表内的数据,并且保存音效挂接数据,完成音效设置。
需要说明的是,在音效挂接测试场景中,上述判断当前是否是测试场景时,其判断结果通常为“是测试场景”;上述已经完成的配置表内的数据,可以通过获取前述预设数据表,并更新其中的数据行后得到。
下述实施例提供播放音效文件的可选实现方式。
一种可选方式中,获取的音效挂接数据以及基于音效编辑指令更新的音效挂接数据,保存在音效编辑器中;上述挂接参数用于指示音效文件挂接的音效挂接对象的指定动画帧;具体地,接收技能预览指令,控制目标虚拟角色在游戏测试场景中释放目标技能,播放目标技能的音效挂接对象的动画序列;从音效编辑器中获取音效挂接数据,如果动画序列播放至音效挂接数据中挂接参数指示的目标动画帧,控制播放音效挂接数据中的音效文件。
上述音效编辑器通常指的是unity编辑器。上述挂接参数用于指示音效文件挂接的音效挂接对象的指定动画帧,通常,挂接参数用于指示音效文件挂接的技能动作的指定动画帧,该指定动画帧为动画的帧数。
在这里,终端设备可以将获取的音效挂接数据,以及基于音效编辑指令更新的音效挂接数据,均保存在unity的编辑器中。
也就是说,终端设备接收到技能预览指令后,控制目标虚拟角色在游戏测试场景中释放目标技能,并且在音效工具编辑器窗口播放目标技能的技能动作和技能特效中至少一个音效挂接对象的动画序列;接着,终端设备从unity的编辑器中获取已挂接的音效文件以及音效文件对应的挂接参数,当动画序列播放至音效挂接数据中挂接参数指示的目标动画帧时,控制音效工具在编辑器窗口中播放音效挂接数据中的音效文件。
一个示例中,工作人员预先选中虚拟人物,以及虚拟人物的挥拳攻击的目标技能;在音效工具的编辑器窗口中修改音效挂接数据后,终端设备接收到技能预览指令,控制虚拟人物在游戏测试场景中进行挥拳攻击动作,并且播放挥拳攻击动作的技能动作的动画序列;接着,终端设备从unity的编辑器中获取已挂接的音效文件以及音效文件对应的挂接参数,在动画序列播放到挂接参数指示的第n帧时,根据音效路径加载音效,以控制音效工具的编辑器窗口播放第n帧对应的音效文件。
一个实施例中,参见图3所示的音效工具编辑器窗口的流程图,提供播放音效文件的具体实现方式。
在这里,工作人员可以选择是否需要测试场景。
一个方式中,如果需要测试场景,则在音效工具的编辑器窗口中加载包括技能动作和技能特效的音效挂接对象的音效挂接数据,并且在工作人员点击保存数据控件后,保存音效挂接数据,完成音效设置。
一个方式中,如果不需要测试场景,则终端设备加载已经完成的配置表内的数据,并且在工作人员点击保存数据控件后,保存音效挂接数据,完成音效设置。
一种可选方式中,接收数据保存指令,从音效编辑器中获取待保存的音效挂接数据;从预设数据表中查找音效挂接数据中音效文件的音效路径;如果查找到音效挂接数据中音效文件的音效路径,从预设数据表中确定音效路径对应的第一数据行;将音效文件的音效路径和音效文件对应的挂接参数,更新至第一数据行;如果查找不到音效挂接数据中音效文件的音效路径,在预设数据表中新增第二数据行;将音效文件的音效路径和音效文件对应的挂接参数,更新至第二数据行。
上述数据保存指令通常可以通过对保存数据控件的点击操作进行触发。上述预设数据表通常可以是ExcelWorkSheet,用于访问和操作Excel表的各种属性和方法,通过该类的应用,将保存好的音效挂接数据自动配入表中,示例地,在遍历音效路径时,根据一定的查找规则,查找到已有的数据行或新增一个数据行;通常,一个音效挂接对象对应一个或多个音效挂接数据,而一个音效挂接数据不会挂接多个音效挂接对象。
首先,工作人员点击保存数据控件,终端设备接受到数据保存指令,从音效编辑器中获取待保存的音效文件,以及音效文件对应的挂接参数。
接着,终端设备从预设数据表中查找音效挂接数据中音效文件的音效路径,如图4所示的示例中,在数据表中遍历音效路径,判断数据表是否包含音效挂接数据中的音效路径;音效路径的查找规则可以为,以音效文件的音效路径为关键字,判断当前预设数据表是否包括关键字。
一个示例中,如图4所示,如果终端设备查找到音效挂接数据中音效文件的音效路径的关键字,即数据表中包含音效挂接数据中的音效路径,则从预设数据表中确定并获取音效路径对应的第一数据行;接着,工作人员调整音效挂接数据后,终端设备将音效文件的音效路径和音效文件对应的挂接参数,更新至第一数据行,将新数据覆盖旧数据,保存到预设数据表中。
另一个示例中,如图4所示,如果终端设备没有查找到音效挂接数据中音效文件的音效路径的关键字,即数据表中不包含音效挂接数据中的音效路径,则在预设数据表中新增第二数据行;接着,工作人员调整音效挂接数据后,终端设备将音效文件的音效路径和音效文件对应的挂接参数,更新至第二数据行,保存到预设数据表中。
下述实施例提供设置动作状态机的可选实现方式。
一种可选方式中,获取目标虚拟角色的动作状态机;其中,动作状态机中包括:目标虚拟角色的多个角色状态,以及角色状态之间的转换关系;角色状态与目标虚拟角色的动作对应;遍历多个角色状态,确定角色状态是否关联有音效标识;如果存在没有关联音效标识的第一角色状态,输出第一角色状态没有关联音效标识的提示信息。
上述动作状态机通常为一个StateMachineBehaviour类,用于扩展状态机的行为,会挂载在动作上,生命周期同动作一致,即动作开始时该类调用OnStateEnter,结束时该类调用OnStateExit,通常,一个虚拟角色挂载一个状态机。上述角色状态通常可以为空闲、行走、跑步、跳跃等,其中每一个动作被称为一种角色状态,角色状态与目标虚拟角色的动作对应。上述第一角色状态通常指的是没有关联音效标识的角色状态。
也就是说,终端设备获取目标虚拟角色的动作状态机,加载目标虚拟角色的多个角色状态,以及角色状态之间的转换关系,例如,可以使用Animator的状态机,通过脚本触发预先定义的事件来实现状态之间的切换;接着,终端设备遍历多个角色状态并确定角色状态是否关联有音效标识,当存在没有关联音效标识的第一角色状态时,输出第一角色状态没有关联音效标识的提示信息。
实际实现时,StateMachineBehaviour能检测并在某个动画点或动画事件进行对应操作,例如:播放落地动画的时候可以在动作状态机中播放落地音效等;其中Behavior保存了当前动作下挂接的音效标识,用于播放动作时,通过脚本读取预设数据表内信息。
示例性的实施例中,终端设备获取虚拟人物的动作状态机,获取虚拟人物的行走、跑步等多个角色状态,以及切换多个角色状态的触发事件;接着,终端设备遍历虚拟人物的行走、跑步等多个角色状态,确定每个角色状态是否关联有音效标识id,当存在没有关联音效标识id的第一角色状态时,输出第一角色状态没有关联音效标识id的提示信息,例如,该提示信息以文字或图片的形式显示,并显示为树状结构。
上述方式中,通过脚本检查动作状态机内是否有角色状态没有关联音效,节省了人力检查成本。
一种可选方式中,遍历多个角色状态,确定角色状态是否关联动作标识;如果存在没有关联动作标识的第二角色状态,输出第二角色状态没有关联动作标识的提示信息。
上述第二角色状态通常指的是没有关联动作标识的角色状态,第二角色状态可以和第一角色状态相同,也可以不同。
也就是说,终端设备遍历多个角色状态,确定角色状态是否关联动作标识;当存在没有关联动作标识的第二角色状态时,输出第二角色状态没有关联动作标识的提示信息。
实际实现时,在状态机以及每个子状态机subStateMachine的所有信息中,遍历动作信息,获取state.state.motion,其中motion为AnimationClip挂载的动画资源。在这里,AnimationClip为Unity编辑器中用于定义动画片段的一个类;动画片段是一段连续的动画序列,可以包含关键帧、曲线和事件等,用于描述对象的动画效果。
示例地,终端设备遍历虚拟人物的行走、跑步等多个角色状态,确定每个角色状态是否关联有动作标识id,当存在没有关联动作标识id的第一角色状态时,输出第一角色状态没有关联动作标识id的提示信息,例如,该提示信息以文字或图片的形式显示,并显示为树状结构。
上述方式中,通过脚本检查动作状态机内是否有角色状态没有关联动作,节省了人力检查成本。
一种可选方式中,获取目标虚拟角色对应的状态机控制类;其中,状态机控制类划分有多层,每层中保存有目标虚拟角色的部分角色状态;遍历状态机控制类的每层,以及每层中保存的角色状态。
上述状态机控制类通常可以是AnimatorController,一个用于管理和控制动画状态机的类,AnimatorStateMachine是AnimatorController中的一个子类;两者提供了一些应用程序接口和事件,工作人员可以在代码中动态地控制和修改动画状态机,实现更灵活和交互式的动画效果。
实际实现时,终端设备可以获取目标虚拟角色对应的状态机控制类AnimatorController,该状态机控制类划分有多层layer,每层AnimatorControllerLayer的AnimatorStateMachine中保存有目标虚拟角色的部分角色状态;接着,遍历状态机控制类的每层,以及每层中保存的角色状态。
需要说明的是,当前层layer中可能会包括子状态机,所以也要获取所有子状态机subStateMachine中的角色状态信息。
一个实施例中,参见图5所示的动作状态机提示信息获取的流程图,提供获取提示信息的具体实现方式。
角色状态与标识关联的判断:终端设备获取目标虚拟角色的动作状态机,接着,遍历目标虚拟角色对应的状态机控制类的每层,并且遍历每层中的角色状态,判断角色状态是否关联音效标识或动作标识。
当不存在没有关联音效标识的角色状态时,终端设备重复上述角色状态与标识关联的判断的循环。
当存在没有关联音效标识的角色状态时,如果存在没有关联音效标识的第一角色状态,则输出第一角色状态没有关联音效标识的提示信息;如果存在没有关联动作标识的第二角色状态,则输出第二角色状态没有关联动作标识的提示信息。进一步的,终端设备结束上述循环,并且以树形结构TreeView形式展现动作状态机上音效以及动作挂载情况的效果图;其中TreeView为用户界面控件,用于在Unity编辑器中创建树形视图。
一种可选方式中,将遍历得到的角色状态关联的音效标识,组成标识集合;获取预设数据表,获取预设数据表中记录的音效文件的音效路径,确定音效路径中的音效标识是否位于标识集合中;输出没有位于标识集合中的音效标识。
也就是说,这里将遍历得到的角色状态关联的音效标识整理为标识集合,与预设数据表内的动作上挂载的音效路径中的音效标识进行对比,输出不在标识集合内的音效标识。
一个示例中,如图6所示,终端设备从动作状态机中获取遍历得到的角色状态关联的音效标识后,组成标识集合,并且,在预设数据表中遍历音效文件的音效路径,接着,确定音效路径中的音效标识是否位于标识集合中,如果音效路径中的音效标识位于标识集合中,则继续上述判断过程;如果音效路径中的音效标识没有位于标识集合中,则输出不在标识集合内的音效标识,并结束查询预设数据表中未被引用的音效标识的流程。
一种可选方式中,如果存在没有关联音效标识的第一角色状态,确定第一角色状态对应的第一动作,提供针对第一动作的音效编辑接口;通过音效编辑接口接收针对第一动作的音效编辑指令,进入游戏测试场景;确定第一动作对应的目标虚拟角色的第一技能;提供针对第一动作的音效路径编辑接口和挂接参数编辑接口;其中,音效路径编辑接口用于获取音效路径,挂接参数编辑接口用于获取挂接参数。
首先,终端设备遍历多个角色状态,确定角色状态是否关联有音效标识后,当存在没有关联音效标识的第一角色状态时,确定第一角色状态对应的第一动作,并提供针对第一动作的音效编辑接口,该音效编辑接口可以设置在第一动作的位置,也可以设置在第一动作的周边。
接着,终端设备通过音效编辑接口接收针对第一动作的音效编辑指令,进入游戏测试场景,示例地,工作人员点击未挂载音效的第一动作,然后终端设备控制用户界面跳转至测试场景,并自动在用户界面显示第一动作对应的目标虚拟角色和第一技能。
进一步的,工作人员点击第一技能后,终端设备确定述第一动作对应的目标虚拟角色的第一技能,并提供针对第一动作的音效路径编辑接口和挂接参数编辑接口,工作人员可以通过音效路径编辑接口设置音效路径,并通过挂接参数编辑接口设置挂接参数。
一个示例中,在动作状态机确定角色状态是否关联有音效标识后,输出树状结构TreeView,在TreeView的每行数据中,可以提供第一动作的音效编辑接口,工作人员点击该音效编辑接口,接着,终端设备控制用户界面显示游戏测试场景,并根据第一动作对应的目标虚拟角色的第一技能,将对应的模型和第一技能的动作信息加载到游戏测试场景的脚本中,在用户界面中显示针对第一动作的音效路径编辑接口和挂接参数编辑接口。
对于上述方法实施例,参见图7所示的一种音效编辑装置的示意图;该装置包括:
对象获取模块702,用于确定目标虚拟角色,以及目标虚拟角色的目标技能,并获取目标技能对应的音效挂接对象;其中,音效挂接对象包括:技能动作和/或技能特效;
数据获取模块704,用于如果音效挂接对象存在音效挂接数据,获取音效挂接数据;其中,音效挂接数据包括:已挂接的音效文件以及音效文件对应的挂接参数;
数据更新模块706,用于接收音效编辑指令,从音效挂接对象中确定音效编辑指令对应的目标挂接对象,并基于音效编辑指令更新目标挂接对象的音效挂接数据;
文件播放模块708,用于接收技能预览指令,控制目标虚拟角色释放目标技能,并基于音效挂接数据中的挂接参数播放音效文件。
上述装置中,确定目标虚拟角色,以及目标虚拟角色的目标技能,并获取目标技能对应的音效挂接对象;其中,音效挂接对象包括:技能动作和/或技能特效;如果音效挂接对象存在音效挂接数据,获取音效挂接数据;其中,音效挂接数据包括:已挂接的音效文件以及音效文件对应的挂接参数;接收音效编辑指令,从音效挂接对象中确定音效编辑指令对应的目标挂接对象,并基于音效编辑指令更新目标挂接对象的音效挂接数据;接收技能预览指令,控制目标虚拟角色释放目标技能,并基于音效挂接数据中的挂接参数播放音效文件。
上述方式中,确定目标虚拟角色以及目标技能后,即可对该目标技能的音效挂接对象编辑音效挂接数据,还可以预先目标虚拟角色释放目标技能时,音效挂接数据的播放效果。该方式可以同时编辑角色的某一技能的所有音效挂接对象的音效挂接数据,并同时预览技能释放时这些音效挂接数据的整体播放效果,降低了工作人员挂接音效的工作量,提高了音效挂接的效率。
上述音效编辑指令包括:音效路径编辑指令;上述数据更新模块,还用于接收音效路径编辑指令,从音效挂接对象中确定音效路径编辑指令对应的目标挂接对象,从目标挂接对象的已挂接的音效文件中,确定音效路径编辑指令对应的第一目标音效文件;从音效编辑指令中获取第一音效路径,将第一目标音效文件替换为第一音效路径对应的音效文件。
上述音效编辑指令包括:挂接参数编辑指令;上述数据更新模块,还用于接收挂接参数编辑指令,从音效挂接对象中确定挂接参数编辑指令对应的目标挂接对象,从目标挂接对象的已挂接的音效文件中,确定挂接参数编辑指令对应的第二目标音效文件;从音效编辑指令中获取第一挂接参数,将第二目标音效文件的挂接参数替换为第一挂接参数。
上述音效编辑指令包括:音效新建指令;上述数据更新模块,还用于接收音效新建指令,从音效挂接对象中确定音效新建指令对应的目标挂接对象,提供目标挂接对象的音效路径编辑接口和挂接参数编辑接口;其中,音效路径编辑接口用于获取音效路径,挂接参数编辑接口用于获取挂接参数。
上述装置还包括:数据保存模块,用于获取的音效挂接数据以及基于音效编辑指令更新的音效挂接数据,保存在音效编辑器中;挂接参数用于指示:音效文件挂接的音效挂接对象的指定动画帧;上述文件播放模块,还用于接收技能预览指令,控制目标虚拟角色在游戏测试场景中释放目标技能,播放目标技能的音效挂接对象的动画序列;从音效编辑器中获取音效挂接数据,如果动画序列播放至音效挂接数据中挂接参数指示的目标动画帧,控制播放音效挂接数据中的音效文件。
上述装置还包括:挂接参数更新模块,用于接收数据保存指令,从音效编辑器中获取待保存的音效挂接数据;从预设数据表中查找音效挂接数据中音效文件的音效路径;如果查找到音效挂接数据中音效文件的音效路径,从预设数据表中确定音效路径对应的第一数据行;将音效文件的音效路径和音效文件对应的挂接参数,更新至第一数据行;如果查找不到音效挂接数据中音效文件的音效路径,在预设数据表中新增第二数据行;将音效文件的音效路径和音效文件对应的挂接参数,更新至第二数据行。
上述装置还包括:音效标识确定模块,用于获取目标虚拟角色的动作状态机;其中,动作状态机中包括:目标虚拟角色的多个角色状态,以及角色状态之间的转换关系;角色状态与目标虚拟角色的动作对应;遍历多个角色状态,确定角色状态是否关联有音效标识;如果存在没有关联音效标识的第一角色状态,输出第一角色状态没有关联音效标识的提示信息。
上述装置还包括:动作标识确定模块,用于遍历多个角色状态,确定角色状态是否关联动作标识;如果存在没有关联动作标识的第二角色状态,输出第二角色状态没有关联动作标识的提示信息。
上述音效标识确定模块或动作标识确定模块,还用于获取目标虚拟角色对应的状态机控制类;其中,状态机控制类划分有多层,每层中保存有目标虚拟角色的部分角色状态;遍历状态机控制类的每层,以及每层中保存的角色状态。
上述装置还包括:音效标识检查模块,用于将遍历得到的角色状态关联的音效标识,组成标识集合;获取预设数据表,获取预设数据表中记录的音效文件的音效路径,确定音效路径中的音效标识是否位于标识集合中;输出没有位于标识集合中的音效标识。
上述装置还包括:动作编辑模块,用于如果存在没有关联音效标识的第一角色状态,确定第一角色状态对应的第一动作,提供针对第一动作的音效编辑接口;通过音效编辑接口接收针对第一动作的音效编辑指令,进入游戏测试场景;确定第一动作对应的目标虚拟角色的第一技能;提供针对第一动作的音效路径编辑接口和挂接参数编辑接口;其中,音效路径编辑接口用于获取音效路径,挂接参数编辑接口用于获取挂接参数。
本实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述音效编辑方法。该电子设备可以是服务器,也可以是终端设备。
参见图8所示,该电子设备包括处理器100和存储器101,该存储器101存储有能够被处理器100执行的计算机可执行指令,该处理器100执行计算机可执行指令以实现上述音效编辑方法。
进一步地,图8所示的电子设备还包括总线102和通信接口103,处理器100、通信接口103和存储器101通过总线102连接。
其中,存储器101可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器100可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器100中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器100可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器101,处理器100读取存储器101中的信息,结合其硬件完成前述实施例的方法的步骤。
上述电子设备中的处理器,通过执行计算机可执行指令,可以实现上述音效编辑方法中的下述操作:确定目标虚拟角色,以及目标虚拟角色的目标技能,并获取目标技能对应的音效挂接对象;其中,音效挂接对象包括:技能动作和/或技能特效;如果音效挂接对象存在音效挂接数据,获取音效挂接数据;其中,音效挂接数据包括:已挂接的音效文件以及音效文件对应的挂接参数;接收音效编辑指令,从音效挂接对象中确定音效编辑指令对应的目标挂接对象,并基于音效编辑指令更新目标挂接对象的音效挂接数据;接收技能预览指令,控制目标虚拟角色释放目标技能,并基于音效挂接数据中的挂接参数播放音效文件。
上述方式中,确定目标虚拟角色、目标技能并获取对应的音效挂接对象,如果存在音效挂接数据,则获取音效挂接数据,接收音效编辑指令并确定对应的目标挂接对象,基于音效编辑指令更新音效挂接数据,然后接收技能预览指令并控制目标虚拟角色释放目标技能,基于音效挂接数据中的挂接参数播放音效文件;通过获取音效挂接对象并获取对应的音效挂接数据,可以根据音效编辑指令,更新目标挂接对象的音效挂接数据,在接收技能预览指令后,播放目标技能对应的音效文件,方便工作人员为虚拟角色挂接音效,提高了音效挂接的效率。
上述音效编辑指令包括:音效路径编辑指令;上述电子设备中的处理器,通过执行计算机可执行指令,可以实现上述音效编辑方法中的下述操作:接收音效路径编辑指令,从音效挂接对象中确定音效路径编辑指令对应的目标挂接对象,从目标挂接对象的已挂接的音效文件中,确定音效路径编辑指令对应的第一目标音效文件;从音效编辑指令中获取第一音效路径,将第一目标音效文件替换为第一音效路径对应的音效文件。
上述音效编辑指令包括:挂接参数编辑指令;上述电子设备中的处理器,通过执行计算机可执行指令,可以实现上述音效编辑方法中的下述操作:接收挂接参数编辑指令,从音效挂接对象中确定挂接参数编辑指令对应的目标挂接对象,从目标挂接对象的已挂接的音效文件中,确定挂接参数编辑指令对应的第二目标音效文件;从音效编辑指令中获取第一挂接参数,将第二目标音效文件的挂接参数替换为第一挂接参数。
上述音效编辑指令包括:音效新建指令;上述电子设备中的处理器,通过执行计算机可执行指令,可以实现上述音效编辑方法中的下述操作:接收音效新建指令,从音效挂接对象中确定音效新建指令对应的目标挂接对象,提供目标挂接对象的音效路径编辑接口和挂接参数编辑接口;其中,音效路径编辑接口用于获取音效路径,挂接参数编辑接口用于获取挂接参数。
上述电子设备中的处理器,通过执行计算机可执行指令,可以实现上述音效编辑方法中的下述操作:获取的音效挂接数据以及基于音效编辑指令更新的音效挂接数据,保存在音效编辑器中;挂接参数用于指示:音效文件挂接的音效挂接对象的指定动画帧;上述电子设备中的处理器,通过执行计算机可执行指令,可以实现上述音效编辑方法中的下述操作:接收技能预览指令,控制目标虚拟角色在游戏测试场景中释放目标技能,播放目标技能的音效挂接对象的动画序列;从音效编辑器中获取音效挂接数据,如果动画序列播放至音效挂接数据中挂接参数指示的目标动画帧,控制播放音效挂接数据中的音效文件。
上述电子设备中的处理器,通过执行计算机可执行指令,可以实现上述音效编辑方法中的下述操作:接收数据保存指令,从音效编辑器中获取待保存的音效挂接数据;从预设数据表中查找音效挂接数据中音效文件的音效路径;如果查找到音效挂接数据中音效文件的音效路径,从预设数据表中确定音效路径对应的第一数据行;将音效文件的音效路径和音效文件对应的挂接参数,更新至第一数据行;如果查找不到音效挂接数据中音效文件的音效路径,在预设数据表中新增第二数据行;将音效文件的音效路径和音效文件对应的挂接参数,更新至第二数据行。
上述电子设备中的处理器,通过执行计算机可执行指令,可以实现上述音效编辑方法中的下述操作:获取目标虚拟角色的动作状态机;其中,动作状态机中包括:目标虚拟角色的多个角色状态,以及角色状态之间的转换关系;角色状态与目标虚拟角色的动作对应;遍历多个角色状态,确定角色状态是否关联有音效标识;如果存在没有关联音效标识的第一角色状态,输出第一角色状态没有关联音效标识的提示信息。
上述电子设备中的处理器,通过执行计算机可执行指令,可以实现上述音效编辑方法中的下述操作:遍历多个角色状态,确定角色状态是否关联动作标识;如果存在没有关联动作标识的第二角色状态,输出第二角色状态没有关联动作标识的提示信息。
上述电子设备中的处理器,通过执行计算机可执行指令,可以实现上述音效编辑方法中的下述操作:获取目标虚拟角色对应的状态机控制类;其中,状态机控制类划分有多层,每层中保存有目标虚拟角色的部分角色状态;遍历状态机控制类的每层,以及每层中保存的角色状态。
上述电子设备中的处理器,通过执行计算机可执行指令,可以实现上述音效编辑方法中的下述操作:将遍历得到的角色状态关联的音效标识,组成标识集合;获取预设数据表,获取预设数据表中记录的音效文件的音效路径,确定音效路径中的音效标识是否位于标识集合中;输出没有位于标识集合中的音效标识。
上述电子设备中的处理器,通过执行计算机可执行指令,可以实现上述音效编辑方法中的下述操作:如果存在没有关联音效标识的第一角色状态,确定第一角色状态对应的第一动作,提供针对第一动作的音效编辑接口;通过音效编辑接口接收针对第一动作的音效编辑指令,进入游戏测试场景;确定第一动作对应的目标虚拟角色的第一技能;提供针对第一动作的音效路径编辑接口和挂接参数编辑接口;其中,音效路径编辑接口用于获取音效路径,挂接参数编辑接口用于获取挂接参数。
本实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述音效编辑方法。
上述计算机可读存储介质存储中的计算机可执行指令,通过执行该计算机可执行指令,可以实现上述音效编辑方法中的下述操作:确定目标虚拟角色,以及目标虚拟角色的目标技能,并获取目标技能对应的音效挂接对象;其中,音效挂接对象包括:技能动作和/或技能特效;如果音效挂接对象存在音效挂接数据,获取音效挂接数据;其中,音效挂接数据包括:已挂接的音效文件以及音效文件对应的挂接参数;接收音效编辑指令,从音效挂接对象中确定音效编辑指令对应的目标挂接对象,并基于音效编辑指令更新目标挂接对象的音效挂接数据;接收技能预览指令,控制目标虚拟角色释放目标技能,并基于音效挂接数据中的挂接参数播放音效文件。
上述方式中,确定目标虚拟角色、目标技能并获取对应的音效挂接对象,如果存在音效挂接数据,则获取音效挂接数据,接收音效编辑指令并确定对应的目标挂接对象,基于音效编辑指令更新音效挂接数据,然后接收技能预览指令并控制目标虚拟角色释放目标技能,基于音效挂接数据中的挂接参数播放音效文件;通过获取音效挂接对象并获取对应的音效挂接数据,可以根据音效编辑指令,更新目标挂接对象的音效挂接数据,在接收技能预览指令后,播放目标技能对应的音效文件,方便工作人员为虚拟角色挂接音效,提高了音效挂接的效率。
上述音效编辑指令包括:音效路径编辑指令;上述计算机可读存储介质存储中的计算机可执行指令,通过执行该计算机可执行指令,可以实现上述音效编辑方法中的下述操作:接收音效路径编辑指令,从音效挂接对象中确定音效路径编辑指令对应的目标挂接对象,从目标挂接对象的已挂接的音效文件中,确定音效路径编辑指令对应的第一目标音效文件;从音效编辑指令中获取第一音效路径,将第一目标音效文件替换为第一音效路径对应的音效文件。
上述音效编辑指令包括:挂接参数编辑指令;上述计算机可读存储介质存储中的计算机可执行指令,通过执行该计算机可执行指令,可以实现上述音效编辑方法中的下述操作:接收挂接参数编辑指令,从音效挂接对象中确定挂接参数编辑指令对应的目标挂接对象,从目标挂接对象的已挂接的音效文件中,确定挂接参数编辑指令对应的第二目标音效文件;从音效编辑指令中获取第一挂接参数,将第二目标音效文件的挂接参数替换为第一挂接参数。
上述音效编辑指令包括:音效新建指令;上述计算机可读存储介质存储中的计算机可执行指令,通过执行该计算机可执行指令,可以实现上述音效编辑方法中的下述操作:接收音效新建指令,从音效挂接对象中确定音效新建指令对应的目标挂接对象,提供目标挂接对象的音效路径编辑接口和挂接参数编辑接口;其中,音效路径编辑接口用于获取音效路径,挂接参数编辑接口用于获取挂接参数。
上述计算机可读存储介质存储中的计算机可执行指令,通过执行该计算机可执行指令,可以实现上述音效编辑方法中的下述操作:获取的音效挂接数据以及基于音效编辑指令更新的音效挂接数据,保存在音效编辑器中;挂接参数用于指示:音效文件挂接的音效挂接对象的指定动画帧;上述计算机可读存储介质存储中的计算机可执行指令,通过执行该计算机可执行指令,可以实现上述音效编辑方法中的下述操作:接收技能预览指令,控制目标虚拟角色在游戏测试场景中释放目标技能,播放目标技能的音效挂接对象的动画序列;从音效编辑器中获取音效挂接数据,如果动画序列播放至音效挂接数据中挂接参数指示的目标动画帧,控制播放音效挂接数据中的音效文件。
上述计算机可读存储介质存储中的计算机可执行指令,通过执行该计算机可执行指令,可以实现上述音效编辑方法中的下述操作:接收数据保存指令,从音效编辑器中获取待保存的音效挂接数据;从预设数据表中查找音效挂接数据中音效文件的音效路径;如果查找到音效挂接数据中音效文件的音效路径,从预设数据表中确定音效路径对应的第一数据行;将音效文件的音效路径和音效文件对应的挂接参数,更新至第一数据行;如果查找不到音效挂接数据中音效文件的音效路径,在预设数据表中新增第二数据行;将音效文件的音效路径和音效文件对应的挂接参数,更新至第二数据行。
上述计算机可读存储介质存储中的计算机可执行指令,通过执行该计算机可执行指令,可以实现上述音效编辑方法中的下述操作:获取目标虚拟角色的动作状态机;其中,动作状态机中包括:目标虚拟角色的多个角色状态,以及角色状态之间的转换关系;角色状态与目标虚拟角色的动作对应;遍历多个角色状态,确定角色状态是否关联有音效标识;如果存在没有关联音效标识的第一角色状态,输出第一角色状态没有关联音效标识的提示信息。
上述计算机可读存储介质存储中的计算机可执行指令,通过执行该计算机可执行指令,可以实现上述音效编辑方法中的下述操作:遍历多个角色状态,确定角色状态是否关联动作标识;如果存在没有关联动作标识的第二角色状态,输出第二角色状态没有关联动作标识的提示信息。
上述计算机可读存储介质存储中的计算机可执行指令,通过执行该计算机可执行指令,可以实现上述音效编辑方法中的下述操作:获取目标虚拟角色对应的状态机控制类;其中,状态机控制类划分有多层,每层中保存有目标虚拟角色的部分角色状态;遍历状态机控制类的每层,以及每层中保存的角色状态。
上述计算机可读存储介质存储中的计算机可执行指令,通过执行该计算机可执行指令,可以实现上述音效编辑方法中的下述操作:将遍历得到的角色状态关联的音效标识,组成标识集合;获取预设数据表,获取预设数据表中记录的音效文件的音效路径,确定音效路径中的音效标识是否位于标识集合中;输出没有位于标识集合中的音效标识。
上述计算机可读存储介质存储中的计算机可执行指令,通过执行该计算机可执行指令,可以实现上述音效编辑方法中的下述操作:如果存在没有关联音效标识的第一角色状态,确定第一角色状态对应的第一动作,提供针对第一动作的音效编辑接口;通过音效编辑接口接收针对第一动作的音效编辑指令,进入游戏测试场景;确定第一动作对应的目标虚拟角色的第一技能;提供针对第一动作的音效路径编辑接口和挂接参数编辑接口;其中,音效路径编辑接口用于获取音效路径,挂接参数编辑接口用于获取挂接参数。
本发明实施例所提供的音效编辑方法、装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (14)
1.一种音效编辑方法,其特征在于,所述方法包括:
确定目标虚拟角色,以及所述目标虚拟角色的目标技能,并获取所述目标技能对应的音效挂接对象;其中,所述音效挂接对象包括:技能动作和/或技能特效;
如果所述音效挂接对象存在音效挂接数据,获取所述音效挂接数据;其中,所述音效挂接数据包括:已挂接的音效文件以及所述音效文件对应的挂接参数;
接收音效编辑指令,从所述音效挂接对象中确定所述音效编辑指令对应的目标挂接对象,并基于所述音效编辑指令更新所述目标挂接对象的音效挂接数据;
接收技能预览指令,控制所述目标虚拟角色释放所述目标技能,并基于所述音效挂接数据中的挂接参数播放所述音效文件。
2.根据权利要求1所述的方法,其特征在于,所述音效编辑指令包括:音效路径编辑指令;
所述接收音效编辑指令,从所述音效挂接对象中确定所述音效编辑指令对应的目标挂接对象,并基于所述音效编辑指令更新所述目标挂接对象的音效挂接数据的步骤,包括:
接收所述音效路径编辑指令,从所述音效挂接对象中确定所述音效路径编辑指令对应的目标挂接对象,从所述目标挂接对象的已挂接的音效文件中,确定所述音效路径编辑指令对应的第一目标音效文件;
从所述音效编辑指令中获取第一音效路径,将所述第一目标音效文件替换为所述第一音效路径对应的音效文件。
3.根据权利要求1所述的方法,其特征在于,所述音效编辑指令包括:挂接参数编辑指令;
所述接收音效编辑指令,从所述音效挂接对象中确定所述音效编辑指令对应的目标挂接对象,并基于所述音效编辑指令更新所述目标挂接对象的音效挂接数据的步骤,包括:
接收所述挂接参数编辑指令,从所述音效挂接对象中确定所述挂接参数编辑指令对应的目标挂接对象,从所述目标挂接对象的已挂接的音效文件中,确定所述挂接参数编辑指令对应的第二目标音效文件;
从所述音效编辑指令中获取第一挂接参数,将所述第二目标音效文件的挂接参数替换为所述第一挂接参数。
4.根据权利要求1所述的方法,其特征在于,所述音效编辑指令包括:音效新建指令;
所述接收音效编辑指令,从所述音效挂接对象中确定所述音效编辑指令对应的目标挂接对象,并基于所述音效编辑指令更新所述目标挂接对象的音效挂接数据的步骤,包括:
接收所述音效新建指令,从所述音效挂接对象中确定所述音效新建指令对应的目标挂接对象,提供所述目标挂接对象的音效路径编辑接口和挂接参数编辑接口;其中,所述音效路径编辑接口用于获取音效路径,所述挂接参数编辑接口用于获取挂接参数。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取的所述音效挂接数据以及基于所述音效编辑指令更新的音效挂接数据,保存在音效编辑器中;所述挂接参数用于指示:所述音效文件挂接的所述音效挂接对象的指定动画帧;
所述接收技能预览指令,控制所述目标虚拟角色释放所述目标技能,并基于所述音效挂接数据中的挂接参数播放所述音效文件的步骤,包括:
接收技能预览指令,控制所述目标虚拟角色在游戏测试场景中释放所述目标技能,播放所述目标技能的音效挂接对象的动画序列;
从所述音效编辑器中获取所述音效挂接数据,如果所述动画序列播放至所述音效挂接数据中挂接参数指示的目标动画帧,控制播放所述音效挂接数据中的音效文件。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收数据保存指令,从音效编辑器中获取待保存的音效挂接数据;
从预设数据表中查找所述音效挂接数据中音效文件的音效路径;
如果查找到所述音效挂接数据中音效文件的音效路径,从所述预设数据表中确定所述音效路径对应的第一数据行;将所述音效文件的音效路径和所述音效文件对应的挂接参数,更新至所述第一数据行;
如果查找不到所述音效挂接数据中音效文件的音效路径,在所述预设数据表中新增第二数据行;将所述音效文件的音效路径和所述音效文件对应的挂接参数,更新至所述第二数据行。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述目标虚拟角色的动作状态机;其中,所述动作状态机中包括:所述目标虚拟角色的多个角色状态,以及所述角色状态之间的转换关系;所述角色状态与所述目标虚拟角色的动作对应;
遍历所述多个角色状态,确定所述角色状态是否关联有音效标识;
如果存在没有关联音效标识的第一角色状态,输出所述第一角色状态没有关联音效标识的提示信息。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
遍历所述多个角色状态,确定所述角色状态是否关联动作标识;
如果存在没有关联动作标识的第二角色状态,输出所述第二角色状态没有关联动作标识的提示信息。
9.根据权利要求7或8所述的方法,其特征在于,遍历所述多个角色状态的步骤,包括:
获取所述目标虚拟角色对应的状态机控制类;其中,所述状态机控制类划分有多层,每层中保存有所述目标虚拟角色的部分角色状态;
遍历所述状态机控制类的每层,以及每层中保存的角色状态。
10.根据权利要求7所述的方法,其特征在于,遍历所述多个角色状态,确定所述角色状态是否关联有音效标识的步骤之后,所述方法还包括:
将遍历得到的所述角色状态关联的音效标识,组成标识集合;
获取预设数据表,获取所述预设数据表中记录的音效文件的音效路径,确定所述音效路径中的音效标识是否位于所述标识集合中;
输出没有位于所述标识集合中的音效标识。
11.根据权利要求7所述的方法,其特征在于,遍历所述多个角色状态,确定所述角色状态是否关联有音效标识的步骤之后,所述方法还包括:
如果存在没有关联音效标识的第一角色状态,确定所述第一角色状态对应的第一动作,提供针对所述第一动作的音效编辑接口;
通过所述音效编辑接口接收针对所述第一动作的音效编辑指令,进入游戏测试场景;
确定所述第一动作对应的所述目标虚拟角色的第一技能;提供针对所述第一动作的音效路径编辑接口和挂接参数编辑接口;其中,所述音效路径编辑接口用于获取音效路径,所述挂接参数编辑接口用于获取挂接参数。
12.一种音效编辑装置,其特征在于,所述装置包括:
对象获取模块,用于确定目标虚拟角色,以及所述目标虚拟角色的目标技能,并获取所述目标技能对应的音效挂接对象;其中,所述音效挂接对象包括:技能动作和/或技能特效;
数据获取模块,用于如果所述音效挂接对象存在音效挂接数据,获取所述音效挂接数据;其中,所述音效挂接数据包括:已挂接的音效文件以及所述音效文件对应的挂接参数;
数据更新模块,用于接收音效编辑指令,从所述音效挂接对象中确定所述音效编辑指令对应的目标挂接对象,并基于所述音效编辑指令更新所述目标挂接对象的音效挂接数据;
文件播放模块,用于接收技能预览指令,控制所述目标虚拟角色释放所述目标技能,并基于所述音效挂接数据中的挂接参数播放所述音效文件。
13.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1-11任一项所述的音效编辑方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,所述计算机可执行指令促使所述处理器实现权利要求1-11任一项所述的音效编辑方法。
Publications (1)
Publication Number | Publication Date |
---|---|
CN118267708A true CN118267708A (zh) | 2024-07-02 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7150778B2 (ja) | 音声スキルゲームの編集方法、装置、機器及び読み取り可能な記憶媒体 | |
KR101740495B1 (ko) | 아이콘 표시 방법, 장치, 프로그램 및 기록매체 | |
CN111552468B (zh) | 一种基于Unity的预制件编辑方法、装置及存储介质 | |
CN111488088A (zh) | 设备状态标识方法、装置及智能终端 | |
US20190318764A1 (en) | Apparatus, method, and program for creating a video work | |
CN109513212B (zh) | 一种2d手机游戏ui、剧情编辑方法及系统 | |
CN113018867A (zh) | 一种特效文件的生成、播放方法、电子设备及存储介质 | |
CN113434197A (zh) | 资源发布方法、装置、计算机设备及计算机可读存储介质 | |
CN105007532A (zh) | 一种动画播放的方法和设备 | |
CN105450926A (zh) | 拍照方法、装置和移动终端 | |
CN108600843B (zh) | 视频编辑方法和系统 | |
CN112587929B (zh) | 游戏副本的生成方法、装置及设备 | |
CN118267708A (zh) | 音效编辑方法、装置和电子设备 | |
CN112138380B (zh) | 一种游戏中数据编辑的方法和装置 | |
CN112732243B (zh) | 一种用于生成功能组件的数据处理方法及装置 | |
CN116030233A (zh) | 协同作业方法、装置、系统、电子设备及存储介质 | |
CN113282268B (zh) | 音效配置方法和装置、存储介质及电子设备 | |
CN111311715B (zh) | 一种网页中添加动画效果的方法及装置 | |
CN113160361B (zh) | 基于gim的模拟施工方法和装置、设备及存储介质 | |
CN115170700A (zh) | 基于Flutter框架实现CSS动画的方法、计算机设备及存储介质 | |
CN113934959A (zh) | 一种程序预览方法、装置、计算机设备和存储介质 | |
CN113778541A (zh) | 一种小程序生成方法、装置、电子设备和存储介质 | |
CN117180757A (zh) | 交互行为的分析方法、装置和电子设备 | |
JPH1115851A (ja) | Wwwページリンク制御システムおよびその制御処理プログラムを記録した記録媒体 | |
CN109976866B (zh) | 一种操作方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication |