掌桥专利:专业的专利平台
掌桥专利
首页

虚拟场景的回放模型构建方法、装置、设备及存储介质

文献发布时间:2023-06-19 11:30:53


虚拟场景的回放模型构建方法、装置、设备及存储介质

技术领域

本申请涉及人工智能技术领域,尤其涉及一种虚拟场景的回放模型构建方法、装置、电子设备及计算机可读存储介质。

背景技术

人工智能(AI,Artificial Intelligence)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

虚拟场景AI是一种基于人工智能的机器人程序,虚拟场景AI基于回放模型能够模拟用户来控制虚拟角色,从而还原用户在虚拟场景中的操作过程,例如控制虚拟角色移动和释放技能。回放模型可以应用于虚拟场景程序的开发测试、用户回看虚拟场景等应用场景。

然而,相关技术缺乏高效和精确的构建回放模型的方案。

发明内容

本申请实施例提供一种虚拟场景的回放模型构建方法、装置、电子设备及计算机可读存储介质,能够通过反映回放模型的精度参数自动化优化回放模型,从而提高回放模型的回放精度和优化效率。

本申请实施例的技术方案是这样实现的:

本申请实施例提供一种虚拟场景的回放模型构建方法,包括:

在录制过程中获取对象控制虚拟场景的虚拟角色实施的录制位置序列以及对应的操作,基于所述录制位置序列以及对应的操作生成录制场景数据;

在回放过程中控制所述虚拟角色在回放位置序列中实施所述对应的操作,其中,所述回放位置序列与所述录制位置序列的距离小于候选距离阈值,基于所述回放位置序列以及所述对应的操作生成回放场景数据;

基于所述录制场景数据以及所述回放场景数据,确定所述录制过程与所述回放过程之间的第一差异度,并确定录制过程结果与回放过程结果之间的第二差异度;

基于所述第一差异度和所述第二差异度,确定所述候选距离阈值对应的回放精度,并基于最高回放精度对应的候选距离阈值构建所述虚拟场景的回放模型。

本申请实施例提供一种虚拟场景的回放模型构建装置,包括:

获取模块,用于在录制过程中获取对象控制虚拟场景的虚拟角色实施的录制位置序列以及对应的操作;

生成模块,用于基于所述录制位置序列以及对应的操作生成录制场景数据;

控制模块,用于在回放过程中控制所述虚拟角色在回放位置序列中实施所述对应的操作,其中,所述回放位置序列与所述录制位置序列的距离小于候选距离阈值;

所述生成模块,还用于基于所述回放位置序列以及所述对应的操作生成回放场景数据;

确定模块,用于基于所述录制场景数据以及所述回放场景数据,确定所述录制过程与所述回放过程之间的第一差异度,并确定录制过程结果与回放过程结果之间的第二差异度;

所述确定模块,还用于基于所述第一差异度和所述第二差异度,确定所述候选距离阈值对应的回放精度;

构建模块,用于基于最高回放精度的候选距离阈值构建所述虚拟场景的回放模型。

上述方案中,所述录制位置序列包括由所述对象控制所述虚拟角色在所述虚拟场景中所处的多个录制位置;所述获取模块,还用于针对所述录制过程中由虚拟场景程序产生的每个录制图像帧,执行以下处理:获取所述虚拟角色在所述录制图像帧包括的虚拟场景中所处的录制位置、以及对象控制所述虚拟角色在所述录制位置实施的操作;其中,所述操作的类型包括以下至少之一:移动操作、跳跃操作、技能释放操作。

上述方案中,所述装置还包括呈现模块,用于呈现多个候选的互动环节;所述确定模块,还用于响应于互动环节选择操作,将包括被选中的互动环节的虚拟场景作为用于供所述对象在所述录制过程中参与的虚拟场景;所述呈现模块,还用于呈现所述虚拟场景中包括的多个候选虚拟角色;所述确定模块,还用于响应于角色选择操作,将被选中的候选虚拟角色作为用于供所述对象在所述录制过程中控制的虚拟角色。

上述方案中,所述回放位置序列包括由虚拟场景程序控制所述虚拟角色在所述虚拟场景中所处的多个回放位置;所述控制模块,还用于针对所述回放过程中由所述虚拟场景程序产生的每个回放图像帧,执行以下处理:基于所述虚拟角色在所述虚拟场景中所处的当前位置,确定所述当前位置与不同的录制图像帧对应的录制位置之间的距离;从多个所述录制图像帧中确定最小距离对应的目标录制图像帧,并控制所述虚拟角色向所述目标录制图像帧对应的录制位置进行移动;当移动到与所述录制位置之间的距离小于所述候选距离阈值的回放位置时,控制所述虚拟角色实施所述目标录制图像帧对应的操作。

上述方案中,所述确定模块,还用于基于所述录制场景数据包括的所述录制位置序列,确定对应的多个候选录制位置序列;以及用于基于所述回放场景数据包括的所述回放位置序列,确定所述多个候选录制位置序列与所述回放位置序列之间的最小距离;将所述最小距离确定为所述录制过程和所述回放过程之间的第一差异度。

上述方案中,所述获取模块,还用于从所述录制位置序列中获取长度为i的候选录制位置序列,其中,i为逐渐递增的正整数变量,且满足1≤i≤M,M为所述录制过程包括的录制图像帧的数量;所述确定模块,还用于确定所述长度为i的候选录制位置序列与长度为N的所述回放位置序列之间的距离,N为所述回放过程包括的回放图像帧的数量;以及用于将M个所述候选录制位置序列分别与所述回放位置序列之间的距离的最小值,确定为所述多个候选录制位置序列与所述回放位置序列之间的最小距离。

上述方案中,所述获取模块,还用于从长度为N的所述回放位置序列中获取第N个回放位置,其中,所述第N个回放位置为所述虚拟角色在第N个回放图像帧包括的虚拟场景中所处的位置;以及用于从所述长度为i的候选录制位置序列中获取第i个录制位置,其中,所述第i个录制位置为所述虚拟角色在第i个录制图像帧包括的虚拟场景中所处的位置;所述确定模块,还用于确定所述第i个录制位置与所述第N个回放位置之间的第一距离;以及用于确定长度为i-1的候选录制位置序列与长度为N的回放位置序列之间的第二距离、长度为i的候选录制位置序列与长度为N-1的回放位置序列之间的第三距离、以及长度为i-1的候选录制位置序列与长度为N-1的回放位置序列之间的第四距离中的最小值;将所述第一距离与所述最小值之和,确定为所述长度为i的候选录制位置序列与长度为N的所述回放位置序列之间的距离。

上述方案中,所述第二差异度包括回放完成比例和时长差异;所述确定模块,还用于基于所述最小距离对应的候选录制位置序列包括的录制图像帧的数量、以及所述录制过程包括的录制图像帧的数量,确定所述回放完成比例;以及用于确定所述录制过程对应的录制时长与所述回放过程对应的回放时长之间的差值,以作为所述时长差异。

上述方案中,所述确定模块,还用于确定所述录制时长与所述回放时长的差值的绝对值;以及用于确定所述录制时长与所述回放时长中的较大值;将所述绝对值与所述较大值之间的除运算结果确定为所述时长差异。

上述方案中,所述确定模块,还用于针对每个所述候选距离阈值对应的最小距离、回放完成比例以及时长差异,执行以下处理:确定所述回放完成比例与所述时长差异之间的差值;将所述差值与所述最小距离之间的除运算结果,确定为所述候选距离阈值对应的回放精度。

上述方案中,所述获取模块,还用于获取包括每个互动环节的虚拟场景中的障碍物的数量;所述确定模块,还用于基于所述障碍物的数量,确定在包括所述互动环节的虚拟场景中应用的候选距离阈值,其中,所述候选距离阈值的取值与所述障碍物的数量负相关。

上述方案中,所述回放模型包括所述虚拟场景中的所述虚拟角色对应的距离阈值,在构建所述回放模型之后,所述获取模块,还用于响应于针对所述虚拟角色的回放触发操作,从所述回放模型中获取与所述虚拟角色对应的距离阈值;所述控制模块,还用于在新的回放过程中控制所述虚拟角色在所述回放位置序列实施与所述录制过程对应的操作;其中,所述回放位置序列与所述录制位置序列的距离小于所述距离阈值。

本申请实施例提供一种电子设备,包括:

存储器,用于存储可执行指令;

处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的虚拟场景的回放模型构建方法。

本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的虚拟场景的回放模型构建方法。

本申请实施例提供一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,用于被处理器执行时,实现本申请实施例提供的虚拟场景的回放模型构建方法。

本申请实施例具有以下有益效果:

综合录制过程与回放过程之间的差异、以及录制过程结果与回放过程结果之间的差异构建回放精度,能够准确衡量回放模型的回放精度,进而能够凭借回放精度筛选出精确的参数(即距离阈值)来构建回放模型,相较于机器学习和人工优化而言,提升了回放模型的优化效率且节约了资源。

附图说明

图1是本申请实施例提供的虚拟场景的回放模型构建系统100的架构示意图;

图2是本申请实施例提供的服务器200的结构示意图;

图3是本申请实施例提供的虚拟场景的回放模型构建方法的流程示意图;

图4是本申请实施例提供的虚拟场景的回放模型构建方法的流程示意图;

图5是本申请实施例提供的虚拟场景的回放模型构建方法的流程示意图;

图6是本申请实施例提供的虚拟场景的回放模型构建方法的流程示意图;

图7是本申请实施例提供的虚拟场景的回放模型构建方法的应用场景示意图;

图8是本申请实施例提供的虚拟场景的回放模型构建方法的流程示意图;

图9是本申请实施例提供的录制过程和回放过程中游戏角色在x坐标的序列示意图。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解, “一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。

在以下的描述中,所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。

对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。

1)客户端,终端设备中运行的用于提供各种服务的应用程序,例如游戏客户端等。

2)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。

3)虚拟场景,是应用程序在终端设备上运行时显示(或提供)的虚拟场景。典型的虚拟场景是游戏。虚拟场景可以是对真实世界的仿真环境,也可以是半仿真半虚构的虚拟环境,还可以是纯虚构的虚拟环境。虚拟场景可以是二维虚拟场景、2.5维虚拟场景或者三维虚拟场景中的任意一种,本申请实施例对虚拟场景的维度不加以限定。例如,虚拟场景可以包括天空、陆地、海洋等,该陆地可以包括沙漠、城市等环境元素,用户可以控制虚拟角色在该虚拟场景中进行移动。

4)虚拟角色,虚拟场景中可以进行交互的各种可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物等,例如在虚拟场景中显示的人物、动物等。虚拟场景中可以包括多个虚拟角色,每个虚拟角色在虚拟场景中具有自身的形状和体积,占据虚拟场景中的一部分空间。典型的虚拟角色是游戏角色。

5)回放过程,还原用户在虚拟场景中对虚拟角色的控制的过程,回放过程中产生的图像帧称为回放图像帧。以游戏为例,在回放阶段,通过游戏接口获取游戏角色当前所在的回放位置,并计算当前所在的回放位置与不同录制图像帧所记录的录制位置之间的距离,挑选出距离最接近的目标录制图像帧,并控制游戏角色向目标录制图像帧记录的录制位置进行移动,在到达记录的录制位置附近后,控制游戏角色实施与目标录制图像帧对应的操作。

6)录制过程,记录用户在虚拟场景中控制虚拟角色的操作的过程,录制过程中产生的图像帧称为录制图像帧。以游戏为例,在录制阶段,用户针对特定游戏关卡,人工录制一局游戏,记录游戏对局中每一帧游戏的数据信息,其中,数据信息包括游戏角色在当前帧对应的游戏场景中所处的录制位置和用户在该录制位置控制游戏角色实施的操作等。

7)回放模型,虚拟场景AI中使用的一个子模型,包括虚拟场景中至少一个虚拟角色的距离阈值,用于在回放过程中决策虚拟角色释放技能的位置。以游戏AI为例,当游戏AI控制游戏角色到达一个位置A,且位置A与用户控制虚拟角色曾经到达的位置B的距离小于距离阈值时,游戏AI会控制角色释放用户在位置B控制虚拟角色所释放的技能。

以虚拟场景为游戏为例,相关技术提供了基于机器学习(例如强化学习算法)训练游戏AI的方案。然而,游戏(例如横版动作游戏)包含很多游戏环节(例如游戏关卡),如果使用机器学习需要耗费大量的时间和硬件资源。

为了节约时间和硬件资源,本申请实施例提供基于录制场景数据回放游戏的方案,在录制阶段游戏AI进行录制场景数据的采集,例如通过游戏接口记录录制过程中的每一录制图像帧的角色位置(即图像帧中出现的游戏角色在地图中的位置)、用户控制游戏角色执行的操作(例如释放的技能)。在回放阶段,游戏AI根据录制阶段保存的录制场景数据,模拟用户控制游戏角色,使得游戏角色的位置和操作尽量与录制过程一致。由于没有采用机器学习的过程,因此能够节约时间和硬件资源。

然而,申请人发现,如果游戏AI使用的回放模型缺乏合适的参数,将影响回放精度(即回放过程与录制过程的吻合程度),对此,对于如何优化回放模型的参数,如果采用测试人员手动调节回放模型的参数的方案,这将耗费大量的人力资源。而如果机器学习(例如深度神经网络的打分)来评价和筛选合适的参数的方案,这需要收集大量的样本数据集,且由于样本的标签的类型只能人工操作的正样本和游戏AI操作的负样本,这只能评估回放模型在回放过程中的操作的拟人程度,但是忽略了评估录制过程和回放过程之间的差异,导致回放模型的回放精度不理想。

鉴于此,本申请实施例提供一种虚拟场景的回放模型构建方法、装置、电子设备及计算机可读存储介质,能够准确衡量回放模型的回放精度(即回放过程与录制过程、以及回放过程结果和录制过程结果之间的吻合程度),进而能够凭借回放精度筛选出精确的参数(即距离阈值)来构建回放模型,如此,相较于机器学习和人工优化而言,提升了回放模型的优化效率且节约了资源。下面说明本申请实施例提供的电子设备的示例性应用,本申请实施例提供的电子设备可以实施为各种类型的终端设备,也可以实施为服务器,或者由终端设备和服务器协同实施。

下面以由终端设备和服务器协同实施本申请实施例提供的虚拟场景的回放模型构建方法为例进行说明。

参见图1,图1是本申请实施例提供的虚拟场景的回放模型构建系统100的架构示意图,终端设备400通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。

终端设备400上运行有客户端410(例如游戏应用),在客户端410的运行过程中输出包括有角色扮演的虚拟场景,虚拟场景可以是供游戏角色交互的环境,例如可以是供游戏角色进行对战的平原、街道、山谷等;虚拟场景中还包括受对象(例如样本用户,当虚拟场景为游戏时,样本用户可以是游戏水平较高的玩家)控制的游戏角色,将响应于样本用户针对控制器(例如触控屏、声控开关、键盘、鼠标和摇杆等)的操作而在虚拟场景中运动、跳跃或者释放技能等,例如当样本用户向左移动摇杆时,游戏角色将在虚拟场景中向左移动。

在客户端410输出的虚拟场景中还可以呈现有开始录制控件(例如开始录制按钮),当终端设备400接收到样本用户针对开始录制控件的触发操作时,在录制过程中获取样本用户控制虚拟场景中的游戏角色实施的录制位置序列以及对应的操作(例如摇杆移动操作、跳跃操作、技能释放操作等,当操作的类型为技能释放操作时还可以获取所释放技能对应的编号,以在回放过程中基于编号确定所需释放的技能),并基于录制位置序列以及对应的操作生成录制场景数据。随后,在回放过程中,终端设备400调用虚拟场景程序(例如游戏AI)控制游戏角色在回放位置序列中实施与录制过程对应的操作,其中,回放位置序列与录制位置序列(即一对一的位置)的距离小于候选距离阈值(例如回放位置序列中的第一回放位置与录制位置序列中的第一录制位置之间的距离小于候选距离阈值,回放位置序列中的第二回放位置与录制位置序列中的第二录制位置之间的距离小于候选距离阈值,以此类推),并基于回放位置序列以及对应的操作生成回放场景数据。最后,终端设备400将所生成的录制场景数据以及回放场景数据通过网络300发送至服务器200。

需要说明的是,在回放过程中,可以针对游戏角色预先设置多种可能的候选距离阈值,也就是说,终端设备400向服务器200发送的回放场景数据是多个候选距离阈值分别对应的回放场景数据(即每个候选距离阈值对应一份回放场景数据,例如假设预先针对游戏角色设置了5个候选距离阈值,则在回放过程中将生成5份回放场景数据,其中,每份回放场景数据对应一个候选距离阈值)。

服务器200在接收到终端设备400发送的录制场景数据以及回放场景数据(包括多份回放场景数据)之后,可以基于录制场景数据以及回放场景数据,确定录制过程与回放过程之间的第一差异度(例如可以将多个候选录制位置序列与回放位置序列之间的最小距离作为录制过程与回放过程之间的第一差异度),并确定录制过程结果和回放过程结果之间的第二差异度(例如可以将回放完成比例以及录制时长和回放时长之间的时长差异作为录制过程结果和回放过程结果之间的第二差异度),随后,基于第一差异度和第二差异度,确定每个候选距离阈值分别对应的回放精度,最后,服务器可以从中挑选出最高回放精度,并基于最高回放精度对应的候选距离阈值构建虚拟场景的回放模型,其中,回放模型可以包括虚拟场景中的多个不同的虚拟角色分别对应的距离阈值(例如可以针对不同的虚拟角色,分别执行上述过程)。

此外,在构建回放模型之后,服务器200还可以将所构建的回放模型通过网络300返回至终端设备400,以使终端设备400在接收到针对虚拟角色的回放触发操作时,从回放模型中获取与虚拟角色对应的距离阈值;并在新的回放过程中控制虚拟角色在回放位置序列实施与录制过程对应的操作;其中,回放位置序列与录制位置序列的距离小于距离阈值,如此,由于在新的回放过程中是基于最优的距离阈值来控制虚拟角色执行与录制过程对应的操作的,从而能够提高回放精度,此外,相较于机器学习和人工优化而言,也节约了服务器的资源。

示例的,假设预先针对游戏角色设置了3个候选距离阈值,分别为候选距离阈值1、候选距离阈值2和候选距离阈值3,则在回放过程中,终端设备将生成对应的3份回放场景数据,分别为回放场景数据1(对应于候选距离阈值1)、回放场景数据2(对应于候选距离阈值2)和回放场景数据3(对应于候选距离阈值3),接着,服务器可以分别基于录制场景数据和回放场景数据1确定出候选距离阈值1对应的回放精度1、基于录制场景数据和回放场景数据2确定出候选距离阈值2对应的回放精度2、以及基于录制场景数据和回放场景数据3确定出候选距离阈值3对应的回放精度3,随后,服务器可以从回放精度1、回放精度2和回放精度3中挑选出最高的回放精度(假设回放精度3最高),则服务器可以基于回放精度3对应的候选距离阈值3构建虚拟场景的回放模型,如此,通过同时考虑游戏回放过程和游戏回放结果的差异,能够更加准确地评价游戏回放精度的优劣,从而能够凭借回放精度筛选出精确的参数(即距离阈值)来构建回放模型,以提升后续的回放精度。

在一些实施例中,终端设备或者服务器还可以通过运行计算机程序来实现本申请实施例提供的虚拟场景的回放模型构建方法,例如,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APP,Application),即需要在操作系统中安装才能运行的程序(例如上述的客户端410);也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序,还可以是能够嵌入至任意APP中的小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。

在另一些实施例中,本申请实施例还可以借助于云技术(Cloud Technology)实现,云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源。

示例的,图1中示出的服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端设备400以及服务器200可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。

此外,还需要说明的是,本申请实施例提供的虚拟场景的回放模型构建方法除了可以由终端设备和服务器协同实施外,还可以由服务器独立实施,或者由终端设备独立实施。

下面,将说明实施本申请实施例提供的虚拟场景的回放模型构建方法的电子设备为终端设备时的示例性应用。

示例的,仍以图1中示出的终端设备400为例,在终端设备400上运行有客户端410,在客户端410输出的虚拟场景中呈现有开始录制控件,当终端设备400接收到对象(例如样本用户)针对开始录制控件的触发操作时,在录制过程中获取样本用户控制虚拟场景的虚拟角色实施的录制位置序列以及对应的操作,并基于所获取的录制位置序列以及对应的操作生成录制场景数据,接着,在回放过程中,终端设备400调用虚拟场景程序控制虚拟角色在回放位置序列中实施对应的操作,并基于回放位置序列以及对应的操作生成回放场景数据;随后,终端设备400调用自身的运算处理能力基于所生成的录制场景数据以及回放场景数据,确定录制过程与回放过程之间的第一差异度,并确定录制过程结果与回放过程结果之间的第二差异度;最后,终端设备400基于第一差异度和第二差异度,确定候选距离阈值对应的回放精度(即分别确定出每个候选距离阈值对应的回放精度),并基于最高回放精度对应的候选距离阈值构建虚拟场景的回放模型。

在一些实施例中,本申请实施例提供的虚拟场景的回放模型构建方法也可以结合区块链技术实现。

区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链,本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。

区块链网络可以包括区块链底层平台、平台产品服务层以及应用服务层。

区块链网络的底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。

示例的,在构建虚拟场景的回放模型之后,可以将所构建的虚拟场景的回放模型保存到区块链网络中,当后续需要调用回放模型时,可以向区块链网络进行请求。如此,通过将所构建的回放模型保存到区块链网络中,基于区块链网络不可篡改和去中心化的特点,进一步确保了回放模型的可靠性和准确性。

下面继续对图1中示出的服务器200的结构进行说明。参见图2,图2是本申请实施例提供的服务器200的结构示意图,图2所示的服务器200包括:至少一个处理器210、存储器240、至少一个网络接口220。服务器200中的各个组件通过总线系统230耦合在一起。可理解,总线系统230用于实现这些组件之间的连接通信。总线系统230除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统230。

处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。

存储器240可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器240可选地包括在物理位置上远离处理器 210的一个或多个存储设备。

存储器240包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器240旨在包括任意适合类型的存储器。

在一些实施例中,存储器240能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。

操作系统241,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。

网络通信模块242,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等。

在一些实施例中,本申请实施例提供的虚拟场景的回放模型构建装置可以采用软件方式实现,图2示出了存储在存储器240中的虚拟场景的回放模型构建装置243,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块2431、生成模块2432、控制模块2433、确定模块2434、构建模块2435和呈现模块2436,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。

在另一些实施例中,本申请实施例提供的虚拟场景的回放模型构建装置可以采用硬件方式实现,作为示例,本申请实施例提供的虚拟场景的回放模型构建装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的虚拟场景的回放模型构建方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable LogicDevice)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。

下面将结合本申请实施例提供的电子设备的示例性应用和实施,说明本申请实施例提供的虚拟场景的回放模型构建方法,本申请实施例提供的虚拟场景的回放模型构建方法可以由上文的终端设备400单独实施、也可以由上文的服务器200单独实施、或者由上文的终端设备400和服务器200协同实施。下面以由终端设备400单独实施本申请实施例提供的虚拟场景的回放模型构建方法为例进行说明。

参见图3,图3是本申请实施例提供的虚拟场景的回放模型构建方法的流程示意图,将结合图3示出的步骤进行说明。

在步骤S101中,在录制过程中获取对象控制虚拟场景的虚拟角色实施的录制位置序列以及对应的操作,并基于录制位置序列以及对应的操作生成录制场景数据。

在一些实施例中,在终端设备的人机交互界面显示有虚拟场景(例如通过终端设备运行的客户端输出的虚拟场景),在虚拟场景的画面中显示有开始录制控件,当终端设备接收到对象(例如样本用户)针对开始录制控件的触发操作(例如点击操作)时,开始录制,并在录制过程中获取样本用户控制虚拟场景的虚拟角色实施的录制位置序列以及对应的操作(例如包括多个录制位置以及在每个录制位置分别对应的操作),随后,基于所获取的录制位置序列以及对应的操作生成录制场景数据。

示例的,录制位置序列可以包括由样本用户控制虚拟角色在虚拟场景中所处的多个录制位置,且多个录制位置与录制过程中产生的多个录制图像帧一一对应,则可以通过以下方式实现上述的在录制过程中获取样本用户控制虚拟场景的虚拟角色实施的录制位置序列以及对应的操作:针对录制过程中由虚拟场景程序(例如当虚拟场景为游戏时,虚拟场景程序可以是游戏客户端)产生的包括虚拟场景的每个录制图像帧,执行以下处理:通过虚拟场景的应用程序接口获取虚拟角色在录制图像帧包括的虚拟场景中所处的录制位置(录制位置是指录制过程中虚拟角色在虚拟场景中的位置,具体可以是虚拟角色在录制图像帧包括的虚拟场景中的位置)、以及样本用户控制虚拟角色在录制位置实施的操作;其中,操作的类型包括以下至少之一:移动操作(例如样本用户可以通过虚拟场景中呈现的虚拟摇杆控制虚拟角色在虚拟场景中向左或者向右移动)、跳跃操作、技能释放操作(例如当样本用户控制虚拟角色在某个录制位置释放技能时,还可以获取所释放技能对应的编号,以在回放过程中,当虚拟角色移动至对应的回放位置时,可以基于编号确定出对应的技能,并控制虚拟角色释放该技能)。

举例来说,以虚拟场景为游戏为例,在终端设备上运行有游戏应用(包括网络版的游戏应用和单机版的游戏应用),在游戏应用输出的游戏中显示有开始录制按钮,当终端设备接收到样本用户针对开始录制按钮的点击操作时,进行录制,并在录制过程中获取样本用户控制游戏中的游戏角色实施的录制位置序列以及对应的操作,例如在录制过程中,终端设备会记录游戏对局中每一帧游戏图像的数据信息,其中,数据信息包括游戏角色在游戏地图中所处的录制位置(例如对于二维游戏来说,包括x坐标、y坐标;对于三维游戏来说,包括x坐标、y坐标和z坐标)以及样本用户在该录制位置控制游戏角色实施的操作(例如摇杆移动的方向、是否跳跃、是否释放技能以及当释放技能时技能对应的编号)。如此,可以基于多帧游戏图像的数据信息(即每帧游戏图像对应一个录制位置)得到录制位置序列以及对应的操作(即每个录制位置分别对应的操作),随后,终端设备可以基于录制位置序列以及对应的操作生成录制场景数据。

在另一些实施例中,在录制过程中获取对象控制虚拟场景的虚拟角色实施的录制位置序列以及对应的操作之前,还可以执行以下处理:呈现多个候选的互动环节,响应于互动环节选择操作,将包括被选中的互动环节的虚拟场景作为用于供对象在录制过程中参与的虚拟场景;呈现虚拟场景中包括的多个候选虚拟角色,响应于角色选择操作,将被选中的候选虚拟角色作为用于供对象在录制过程中控制的虚拟角色。

示例的,以虚拟场景为游戏为例,在终端设备上运行有游戏应用,且在游戏应用输出的游戏中呈现有多个游戏关卡(即需要测试的游戏关卡的数量为多个),例如包括关卡1、关卡2、关卡3和关卡4,当样本用户选中关卡2时,在终端设备的人机交互界面中呈现关卡2对应的游戏,此外,在关卡2对应的游戏中还可以呈现有多个候选游戏角色,例如包括角色A、角色B和角色C,当样本用户选中角色A时,则终端设备在后续的录制过程中将获取样本用户控制角色A在关卡2对应的游戏中实施的录制位置序列以及对应的操作。如此,用户(例如测试人员)可以从游戏应用中挑选特定的游戏关卡或者游戏角色进行测试,能够满足不同测试人员的个性化需求,也就是说,游戏测试过程具有很高的灵活性。

需要说明的是,在实际应用中,在虚拟场景中还可以呈现有停止录制控件,当终端设备接收到样本用户针对停止录制控件的触发操作时,停止录制过程;当然,也可以是在样本用户完成虚拟场景中的所有任务(例如完成一局游戏)时,自动停止录制过程。

在步骤S102中,在回放过程中控制虚拟角色在回放位置序列中实施对应的操作,并基于回放位置序列以及对应的操作生成回放场景数据。

在一些实施例中,在虚拟场景的画面中还可以呈现有开始回放控件,当终端设备接收到用户针对开始回放控件的触发操作时,开始回放,并在回放过程中调用虚拟场景程序控制虚拟角色(即与录制过程中对象控制的同一个虚拟角色)在回放位置序列中实施对应的操作,其中,回放位置序列与录制位置序列的距离小于候选距离阈值,随后,基于回放位置序列以及对应的操作生成回放场景数据。

示例的,回放位置序列可以包括由虚拟场景程序(例如游戏AI)控制虚拟角色在虚拟场景中所处的多个回放位置,且多个回放位置与回放过程中产生的多个回放图像帧一一对应,则可以通过以下方式实现上述的在回放过程中控制虚拟角色在回放位置序列中实施对应的操作:针对回放过程中由虚拟场景程序产生的包括虚拟场景的每个回放图像帧,执行以下处理:基于虚拟角色在虚拟场景中所处的当前位置(指虚拟角色在当前回放帧图像包括的虚拟场景中的位置),确定当前位置与不同的录制图像帧对应的录制位置之间的距离;从多个录制图像帧中确定最小距离对应的目标录制图像帧,并控制虚拟角色从当前位置向目标录制图像帧对应的录制位置进行移动;当移动到与录制位置之间的距离小于候选距离阈值的回放位置时,控制虚拟角色实施目标录制图像帧对应的操作。

示例的,以虚拟场景为游戏为例,在终端设备上运行有游戏应用,在录制过程中,样本用户针对游戏应用的特定游戏关卡,人工录制一局游戏对局后,在游戏应用输出的游戏中还可以呈现有开始回放按钮,当终端设备接收到测试人员针对回放按钮的点击操作时,进行回放,并在回放过程中通过游戏接口获取游戏角色当前在游戏对应的地图中所处的回放位置,接着,计算游戏角色当前所在的回放位置与不同的录制游戏图像帧所分别记录的录制位置之间的距离后,从中挑选出距离最接近的录制游戏图像帧,随后,游戏AI可以控制游戏角色往该录制游戏图像帧记录的录制位置进行移动,并在到达记录的录制位置附近(即当移动到与该录制游戏图像帧记录的录制位置之间的距离小于候选距离阈值)时,控制游戏角色执行该录制游戏图像帧记录的操作(例如假设在录制过程中样本用户在该位置控制游戏角色释放技能A,则游戏AI也同样控制游戏角色释放技能A)。

需要说明的是,当游戏应用的类型为闯关类游戏时,即在游戏过程中游戏角色是沿着某个特定方向(例如向右)不断远离最初的原点,则在回放过程中获取到游戏角色当前所处的回放位置(例如假设为在回放过程的第7秒对应的回放图像帧记录的游戏角色所处的回放位置)后,可以从录制位置序列中挑选出录制过程的第7至10秒分别对应的录制图像帧所记录的录制位置(由于游戏角色是不断向某个方向移动的,因此与回放过程中游戏角色当前所处的回放位置比较接近的录制位置是录制位置序列中后续时刻的录制图像帧所记录的录制位置),并计算其与这些录制图像帧所记录的录制位置之间的距离,确定出距离最接近的目标录制图像帧(假设为录制过程中第8秒对应的录制图像帧),随后,游戏AI可以控制游戏角色向录制过程中第8秒对应的录制图像帧记录的录制位置进行移动,并在移动至该录制位置后执行对应的操作。如此,通过对录制图像帧进行筛选,能够减少计算量,从而节约终端设备的资源消耗。

此外,还需要说明的是,当游戏应用的类型不是闯关类游戏时,即在游戏过程中游戏角色并不是一直沿着某个特定方向移动的,例如在游戏过程中游戏角色可以改变方向,或者循环移动(例如绕圈移动)时,则在回放过程中获取到游戏角色当前所处的回放位置(例如假设为在回放过程的第7秒对应的回放图像帧记录的游戏角色所处的回放位置)后,可以设定一个一定时长的滑动窗口(例如时长为10秒的滑动窗口),并利用该滑动窗口在录制位置序列中确定出对应的多个录制图像帧所记录的录制位置(例如可以是录制过程中的第2至12秒对应的录制图像帧所记录的录制位置,如此,即使在游戏过程中游戏角色的移动方向发生改变也能获取到距离接近的录制图像帧),并计算其与这些录制图像帧所记录的录制位置之间的距离,从而确定出距离最接近的目标录制图像帧。

在另一些实施例中,在执行步骤S102之前,还可以执行以下处理:获取包括每个互动环节的虚拟场景中的障碍物的数量;基于障碍物的数量,确定包括互动环节的虚拟场景中应用的候选距离阈值,其中,候选距离阈值的取值与障碍物的数量负相关。

示例的,以虚拟场景为游戏为例,不同游戏关卡对于距离阈值的敏感度不同,因此,对象(例如样本用户)在游戏呈现的多个游戏关卡中选定需要进行录制的游戏关卡(例如游戏关卡1)后,终端设备获取游戏关卡1对应的游戏包括的障碍物的数量,并基于障碍物的数量,确定后续针对游戏角色设定的候选距离阈值的取值,例如当游戏关卡1对应的游戏场景包括的障碍物的数量较少时,则候选距离阈值的取值可以设定大些,这样后续的回放过程也会更加流畅;而当游戏关卡1对应的游戏场景包括的障碍物的数量较多时,则候选距离阈值的取值可以设定小些,以确保在回放过程中游戏角色能够正确越过这些障碍物。如此,通过预先获取游戏场景包括的障碍物的数量,能够大致确定候选距离阈值的取值,从而减少后续的计算量,以加快回放模型的训练过程。

在步骤S103中,基于录制场景数据以及回放场景数据,确定录制过程与回放过程之间的第一差异度,并确定录制过程结果与回放过程结果之间的第二差异度。

在一些实施例中,图3示出的步骤S103可以通过图4示出的步骤S1031至步骤S1035实现,将结合图4示出的步骤进行说明。

在步骤S1031中,基于录制场景数据包括的录制位置序列,确定对应的多个候选录制位置序列。

在一些实施例中,可以通过以下方式确定与录制位置序列对应的多个候选录制位置序列:从录制位置序列中依次获取长度为1至M(M为录制位置序列包括的录制图像帧的数量,即总的录制图像帧的数量)的候选位置序列,将这M个候选位置序列确定为与录制位置序列对应的多个候选录制位置序列。

示例的,假设录制位置序列由录制位置1、录制位置2、…、录制位置10这10个录制位置组成,则可以从录制位置序列中依次获取长度为1至10的候选位置序列,包括:{录制位置1}、{录制位置1、录制位置2}、…、{录制位置1、录制位置2、…、录制位置10},随后,将这10个候选录制位置序列确定为与录制位置序列对应的多个候选录制位置序列。

在步骤S1032中,基于回放场景数据包括的回放位置序列,确定多个候选录制位置序列与回放位置序列之间的最小距离。

在一些实施例中,可以将多个候选录制位置序列与回放位置序列之间的最小距离作为录制过程和回放过程之间的第一差异度。

需要说明的是,由于不同候选距离阈值对应的回放场景数据不同,因此,不同候选距离阈值对应的第一差异度(即最小距离)也不同。

在另一些实施例中,图4示出的步骤S1032可以通过图5示出的步骤S10321至步骤S10323实现,将结合图5示出的步骤进行说明。

在步骤S10321中,从录制位置序列中获取长度为i的候选录制位置序列,其中,i为逐渐递增的正整数变量,且满足1≤i≤M,M为录制过程包括的录制图像帧的数量。

在一些实施例中,以虚拟场景为游戏为例,在终端设备上运行有游戏应用,在录制阶段,样本用户可以针对游戏应用中的特定游戏关卡,人工录制一局游戏,终端设备会记录游戏对局中每一帧游戏的数据信息,其中,数据信息可以包括游戏角色在地图中所处的位置以及样本用户在该位置控制游戏角色实施的操作,从而可以基于多帧游戏的数据信息得到对应的录制位置序列,假设得到的录制位置序列为{录制位置1、录制位置2、录制位置3、录制位置4、录制位置5},则可以基于该录制位置序列,得到如下对应的5个候选录制位置序列:{录制位置1}、{录制位置1、录制位置2}、{录制位置1、录制位置2、录制位置3}、{录制位置1、录制位置2、录制位置3、录制位置4}、{录制位置1、录制位置2、录制位置3、录制位置4、录制位置5}。

在步骤S10322中,确定长度为i的候选录制位置序列与长度为N的回放位置序列之间的距离,N为回放过程包括的回放图像帧的数量;

在一些实施例中,可以通过以下方式确定长度为i的候选录制位置序列与长度为N的回放位置序列之间的距离:从长度为N的回放位置序列中获取第N个回放位置,其中,第N个回放位置为虚拟角色在回放过程中的第N个回放图像帧包括的虚拟场景中所处的位置;从长度为i的候选录制位置序列中获取第i个录制位置,其中,第i个录制位置为虚拟角色在录制过程中的第i个录制图像帧包括的虚拟场景中所处的位置;确定第i个录制位置与第N个回放位置之间的第一距离;确定长度为i-1的候选录制位置序列与长度为N的回放位置序列之间的第二距离、长度为i的候选录制位置序列与长度为N-1的回放位置序列之间的第三距离、以及长度为i-1的候选录制位置序列与长度为N-1的回放位置序列之间的第四距离中的最小值;将第一距离与最小值之和,确定为长度为i的候选录制位置序列与长度为N的回放位置序列之间的距离。

示例的,以确定长度为10的候选录制位置序列与长度为50的回放位置序列之间的距离为例,首先,从长度为50的回放位置序列中获取第50个回放位置(即虚拟角色在回放过程中的第50个回放图像帧中所处的位置,假设对应的坐标为A);接着,从长度为10的候选录制位置序列中获取第10个录制位置(即虚拟角色在录制过程中的第10个录制图像帧中所处的位置,假设对应的坐标为B);随后,计算第10个录制位置与第50个回放位置之间的第一距离(即坐标A与坐标B之间的距离,例如可以是坐标A与坐标B之间的欧式距离),并从长度为9的候选录制位置序列与长度为50的回放位置序列之间的第二距离、长度为10的候选录制位置序列与长度为49的回放位置序列之间的第三距离、以及长度为9的候选录制位置序列与长度为49的回放位置序列之间的第四距离中挑选出最小值;最后,对第一距离和最小值进行求和处理,将求和结果确定为长度为10的候选录制位置序列与长度为50的回放位置序列之间的距离。

需要说明的是,上述确定长度为i的候选录制位置序列与长度为N的回放位置序列之间的距离是多次计算的过程,即遍历i,且i的取值是从1逐个递增计算的,即依次计算长度为1的候选录制位置序列与回放位置序列之间的距离、长度为2的候选录制位置序列与回放位置序列之间的距离,以此类推,直至计算长度为M的候选录制位置序列与回放位置序列之间的距离。

在步骤S10323中,将M个候选录制位置序列分别与长度为N的回放位置序列之间的距离的最小值,确定为多个候选录制位置序列与回放位置序列之间的最小距离。

在一些实施例中,在分别确定出长度为1至M的M个候选录制位置序列与长度为N的回放位置序列之间的距离后,从M个距离中挑选出最小值,将挑选出的最小值确定为多个候选录制位置序列与回放位置序列之间的最小距离。

示例的,以录制过程包括的录制图像帧的数量为5(即M=5)为例,在分别确定出长度为1至5的5个候选录制位置序列与回放位置序列之间的距离(包括5个距离,即分别为长度为1的候选录制位置序列与回放位置序列之间的距离1、长度为2的候选录制位置序列与回放位置序列之间的距离2、长度为3的候选录制位置序列与回放位置序列之间的距离3、长度为4的候选录制位置序列与回放位置序列之间的距离4和长度为5的候选录制位置序列与回放位置序列之间的距离5)后,从这5个距离中挑选出最小值(例如假设距离3最小),则将距离3确定为这5个候选录制位置序列与回放位置序列之间的最小距离。

在步骤S1033中,基于最小距离对应的候选录制位置序列包括的录制图像帧的数量、以及录制过程包括的录制图像帧的数量,确定回放完成比例。

在一些实施例中,录制过程结果与回放过程结果之间的第二差异度可以包括回放完成比例和时长差异,则可以通过以下方式确定录制过程结果和回放过程结果之间的第二差异度:将最小距离对应的候选录制位置序列包括的录制图像帧的数量与录制过程包括的录制图像帧的数量之间的除运算结果,确定为回放完成比例。

示例的,假设录制过程包括的录制图像帧的数量为50(即在录制过程中一共录制了50帧图像),最小距离对应的候选录制位置序列包括的录制图像帧的数量为30,则回放完成比例为30/50=60%。

在步骤S1034中,确定录制过程对应的录制时长与回放过程对应的回放时长之间的差值,以作为时长差异。

在一些实施例中,可以通过以下方式确定录制过程对应的录制时长与回放过程对应的回放时长之间的差值,以作为时长差异:确定录制时长与回放时长的差值的绝对值;确定录制时长与回放时长中的较大值;将绝对值与较大值之间的除运算结果,确定为时长差异。

示例的,假设录制过程对应的录制时长为20秒,回放过程对应的回放时长为18秒,首先计算录制时长与回放时长的差值的绝对值,即20秒-18秒=2秒;接着,确定录制时长和回放时长中的较大值,即为20秒;随后,对绝对值与较大值进行除运算,即2秒/20秒=0.1,最后将得到的除运算结果0.1作为录制过程结果和回放过程结果之间的时长差异。

在步骤S104中,基于第一差异度和第二差异度,确定候选距离阈值对应的回放精度,并基于最高回放精度对应的候选距离阈值构建虚拟场景的回放模型。

在一些实施例中,可以通过以下方式实现上述的基于第一差异度(包括最小距离)和第二差异度(包括回放完成比例和时长差异),确定候选距离阈值对应的回放精度:针对每个候选距离阈值对应的最小距离、回放完成比例以及时长差异,执行以下处理:确定回放完成比例与时长差异之间的差值;将差值与最小距离之间的除运算结果,确定为候选距离阈值对应的回放精度。

示例的,以虚拟场景为游戏为例,假设预先针对游戏角色设置了5个候选距离阈值,包括:候选距离阈值1、候选距离阈值2、候选距离阈值3、候选距离阈值4和候选距离阈值5,以候选距离阈值1为例,假设候选距离阈值1对应的最小距离为20、回放完成比例为80%、时长差异为0.2,则首先计算回放完成比例与时长差异之间的差值,即0.8-0.2=0.6;接着,对差值与最小距离之间进行除运算,即0.6/20=0.03,最后,将得到的除运算结果0.03作为候选距离阈值1对应的回放精度。其中,候选距离阈值2至候选距离阈值5分别对应的回放精度的计算过程与候选距离阈值1对应的回放精度的计算过程类似,本申请实施例在此不再赘述。在得到5个候选距离阈值分别对应的回放精度后,从5个回放精度中挑选出最大值(假设候选距离阈值3对应的回放精度3最大),则可以基于回放精度3对应的候选距离阈值3构建虚拟场景的回放模型,如此,通过同时考虑游戏过程差异和游戏结果差异,能够准确评价游戏回放精度,从而有利于自动化探索出更好的模型参数(即针对游戏角色的最优距离阈值),从而提升游戏AI的自动化效果。

在另一些实施例中,参见图6,图6是本申请实施例提供的虚拟场景的回放模型构建方法的流程示意图,如图6所示,在执行完图3示出的步骤S104之后,还可以执行图6示出的步骤S105和步骤S106,将结合图6示出的步骤进行说明。

在步骤S105中,响应于针对虚拟角色的回放触发操作,从回放模型中获取与虚拟角色对应的距离阈值。

在一些实施例中,虚拟场景的回放模型也可以包括多个不同的虚拟角色分别对应的距离阈值,即针对不同的虚拟角色,分别执行图3示出的步骤S101至步骤S104,以得到每个虚拟角色分别对应的距离阈值(即最高回放精度对应的候选距离阈值),例如虚拟场景的回放模型可以包括虚拟角色A对应的距离阈值1、虚拟角色B对应的距离阈值2、以及虚拟角色C对应的距离阈值3。也就是说,构建的回放模型除了可以控制虚拟角色A实施样本用户A针对虚拟角色A实施的录制位置序列中对应的操作,还可以控制虚拟角色B实施样本用户B针对虚拟角色B实施的录制位置序列中对应的操作,又或者控制虚拟角色C实施样本用户C针对虚拟角色C实施的录制位置序列中对应的操作。

示例的,以虚拟场景为游戏为例,在游戏的画面中呈现有多个候选游戏角色,当终端设备接收到用户(例如测试人员)针对游戏角色A的回放触发操作时,从回放模型中获取与游戏角色A对应的距离阈值1。

在步骤S106中,在新的回放过程中控制虚拟角色在回放位置序列中实施与录制过程对应的操作;其中,回放位置序列与录制位置序列的距离小于距离阈值。

在一些实施例中,在从回放模型中获取到与虚拟角色对应的距离阈值后,可以调用虚拟场景程序在新的回放过程中控制虚拟角色在回放位置序列(回放位置序列与录制位置序列中一对一的位置的距离小于距离阈值)中实施与录制过程对应的操作。

示例的,承接上述实施例,在从回放模型中获取到游戏角色A对应的距离阈值1后,可以调用游戏AI在新的回放过程中控制游戏角色A在回放位置序列中实施与录制过程对应的操作,其中,回放位置序列与录制位置序列的距离小于距离阈值1,如此,在回放过程中游戏AI能够控制游戏角色A在尽可能与录制位置相近的位置实施对应的操作,从而能够大大提高回放精度,同时,相较于机器学习和人工优化而言,也节约了资源。

本申请实施例提供的虚拟场景的回放模型构建方法,通过综合录制过程与回放过程之间的差异度、以及录制过程结果与回放过程结果之间的差异度构建回放精度,相较于相关技术中仅基于时长差异和仅基于虚拟角色位置序列差异的方案来构建回放精度,能够准确衡量回放模型的回放精度,进而能够凭借回放精度筛选出精确的参数(即距离阈值)来构建回放模型,提升了回放模型的优化效率且节约了资源。

下面,以游戏为例,说明本申请实施例在一个实际的应用场景中的示例性应用。

本申请实施例提供的虚拟场景的回放模型构建方法可以应用于游戏应用的开发测试、用户回看游戏等应用场景。例如,以游戏应用的开发测试为例,在构建回放模型后,可以基于所构建的回放模型控制游戏角色还原用户在游戏中的操作过程(例如控制游戏角色进行多次回放),以测试游戏中可能存在的漏洞(bug)或者基于回放结果对游戏关卡的难易程度进行调整。

下面对本申请实施例提供的虚拟场景的回放模型构建方法进行具体说明。

本申请实施例提供了一种虚拟场景的回放模型构建方法,综合考虑了游戏过程和游戏结果的差异,并通过动态规划算法计算录制位置序列与回放位置序列之间的距离,从而能够准确衡量出录制过程与回放过程之间的差异,实现自动评价回放精度的优劣,进而辅助回放模型调整参数,提升游戏AI的回放精度。

示例的,参见图7,图7是本申请实施例提供的虚拟场景的回放模型构建方法的应用场景示意图,如图7所示,在游戏应用输出的游戏的画面中显示有开始录制按钮702,当接收到用户针对开始录制按钮702的点击操作时,对用户控制游戏角色707进行对战的过程进行录制,例如记录游戏对局中每一帧游戏的数据信息,包括游戏角色707在地图中的位置以及游戏角色的操作,其中,操作的类型可以包括:用户控制虚拟摇杆704移动的方向、是否点击跳跃按钮705、以及是否点击对应的技能按钮(包括冲锋枪对应的按钮706-1、手雷对应的按钮706-2和加特林对应的按钮706-3)。此外,在游戏的画面中还显示有结束回放按钮703,当接收到针对回放按钮703的点击操作时,将结束回放过程,并且,在基于游戏过程差异和游戏结果差异确定出回放精度的打分后,还可以在游戏的画面中显示对应的分数701。

下面以虚拟场景为游戏为例,对本申请实施例提供的虚拟场景的回放模型构建方法进行具体说明。

参见图8,图8是本申请实施例提供的虚拟场景的回放模型构建方法的流程示意图,将结合图8示出的步骤进行说明。

在步骤S801中,记录游戏对局数据。

在一些实施例中,游戏对局数据包括录制阶段的游戏对局数据和回放阶段的游戏对局数据。

示例的,在录制阶段,用户可以针对特定游戏关卡,人工录制一局游戏,记录游戏对局中每一帧游戏的数据信息,包括游戏角色在地图中的位置(例如x坐标、y坐标)和用户控制游戏角色实施的操作(例如摇杆移动的方向、是否跳跃、是否释放技能以及当释放技能时技能对应的编号)。

示例的,在回放阶段,可以通过游戏接口获取游戏角色当前所在的位置,计算其与不同的录制图像帧所记录的位置之间的距离,挑选出距离最接近的目标录制图像帧,并控制游戏角色往该目标录制图像帧记录的位置移动,在达到记录的位置附近后(由于录制过程和回放过程的帧率存在差异,因此游戏角色难以完美到达一个位置,需要设定距离阈值,只要游戏角色的位置与目标位置之间的距离小于距离阈值,则可以认为游戏角色已经到达目标位置),随后执行记录的操作(例如包括摇杆操作、跳跃操作、攻击操作等)。此外,由于不同关卡对于距离阈值的敏感度不同,如果某个关卡包括的障碍物的数量较少时,则对应的距离阈值可以设定大些,这样回放过程会更加流畅;相反,当某个关卡包括的障碍物的数量较多时,则对应的距离阈值可以设定小些,以确保在回放过程中游戏角色能够正确越过这些障碍物。

在步骤S802中,衡量游戏过程差异。

在一些实施例中,游戏过程差异的衡量主要是确定录制过程和回放过程中的游戏角色位置序列之间的相似度。由于终端设备(例如手机)配置和网络因素,在回放过程中游戏关卡加载的时长和游戏对局的帧率会与录制过程存在差异,因此,在回放过程中的游戏角色的位置序列与录制过程中的游戏角色的位置序列之间也会存在一定的偏差。

示例的,参见图9,图9是本申请实施例提供的录制过程和回放过程中游戏角色在x坐标的序列示意图,如图9所示,上半图是录制过程中游戏角色在x坐标的序列,下半图是回放过程中游戏角色在x坐标的序列,从图9中可以看出,两条线段大体的形状相似,时间上存在一些偏差,黑色线条连接的是两个序列中相匹配的位置。为了找到两个位置序列的最优匹配,本申请实施例可以采用动态规划算法(基本思想是将待求解的问题分解成若干个子问题,然后从这些子问题的解得到原问题的解)计算两个位置序列之间的距离,计算公式如下:

其中,

其中,

最终,可以通过方程(1)计算出回放的整个位置序列与录制的所有可能的位置序列之间的距离,从中挑选出最匹配的录制位置序列,计算公式如下:

其中,

在步骤S803中,衡量游戏结果差异。

在一些实施例中,游戏结果差异的衡量主要考虑游戏回放的完成比例和回放时长的差异,前者的计算公式如下:

其中,

在另一些实施例中,时长差异的计算公式如下:

其中,

在步骤S804中,确定回放精度。

在一些实施例中,回放精度可以同时考虑游戏过程差异和游戏结果差异,其对应的计算公式如下:

其中,

在步骤S805中,优化回放模型的参数。

在一些实施例中,回放模型需要优化的参数可以是判断游戏角色是否到达目标位置的距离阈值。可以预先设置多种可能的候选距离阈值,并通过上述步骤S801至步骤S804分别获取每种候选距离阈值对应的回放精度,并挑选出最高回放精度对应的候选距离阈值作为回放模型最终的参数。

本申请实施例提供的虚拟场景的回放模型构建方法,同时考虑了游戏过程差异和游戏结果差异,从而能够更好地评价游戏回放精度的优劣,这有利于自动化探索更好的模型参数(即距离阈值),以提升游戏AI自动化的效果。

下面继续说明本申请实施例提供的虚拟场景的回放模型构建装置243实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器240的虚拟场景的回放模型构建装置243中的软件模块可以包括:获取模块2431、生成模块2432、控制模块2433、确定模块2434和构建模块2435。

获取模块2431,用于在录制过程中获取对象控制虚拟场景的虚拟角色实施的录制位置序列以及对应的操作;生成模块2432,用于基于录制位置序列以及对应的操作生成录制场景数据;控制模块2433,用于在回放过程中控制虚拟角色在回放位置序列中实施对应的操作,其中,回放位置序列与录制位置序列的距离小于候选距离阈值;生成模块2432,还用于基于回放位置序列以及对应的操作生成回放场景数据;确定模块2434,用于基于录制场景数据以及回放场景数据,确定录制过程与回放过程之间的第一差异度,并确定录制过程结果与回放过程结果之间的第二差异度;确定模块2434,还用于基于第一差异度和第二差异度,确定候选距离阈值对应的回放精度;构建模块2435,用于基于最高回放精度对应的候选距离阈值构建虚拟场景的回放模型。

在一些实施例中,录制位置序列包括由对象控制虚拟角色在虚拟场景中所处的多个录制位置;获取模块2431,还用于针对录制过程中由虚拟场景程序产生的每个录制图像帧,执行以下处理:获取虚拟角色在录制图像帧包括的虚拟场景中所处的录制位置、以及对象控制虚拟角色在录制位置实施的操作;其中,操作的类型包括以下至少之一:移动操作、跳跃操作、技能释放操作。

在一些实施例中,虚拟场景的回放模型构建装置243还包括呈现模块2436,用于呈现多个候选的互动环节;确定模块2434,还用于响应于互动环节选择操作,将包括被选中的互动环节的虚拟场景作为用于供对象在录制过程中参与的虚拟场景;呈现模块2436,还用于呈现虚拟场景中包括的多个候选虚拟角色;确定模块2434,还用于响应于角色选择操作,将被选中的候选虚拟角色作为用于供对象在录制过程中控制的虚拟角色。

在一些实施例中,回放位置序列包括由虚拟场景程序控制虚拟角色在虚拟场景中所处的多个回放位置;控制模块2433,还用于针对回放过程中由虚拟场景程序产生的每个回放图像帧,执行以下处理:基于虚拟角色在虚拟场景中所处的当前位置,确定当前位置与不同的录制图像帧对应的录制位置之间的距离;从多个录制图像帧中确定最小距离对应的目标录制图像帧,并控制虚拟角色向目标录制图像帧对应的录制位置进行移动;当移动到与录制位置之间的距离小于候选距离阈值的回放位置时,控制虚拟角色实施目标录制图像帧对应的操作。

在一些实施例中,确定模块2434,还用于基于录制场景数据包括的录制位置序列,确定对应的多个候选录制位置序列;以及用于基于回放场景数据包括的回放位置序列,确定多个候选录制位置序列与回放位置序列之间的最小距离;将最小距离确定为录制过程和回放过程之间的第一差异度。

在一些实施例中,获取模块2431,还用于从录制位置序列中获取长度为i的候选录制位置序列,其中,i为逐渐递增的正整数变量,且满足1≤i≤M,M为录制过程包括的录制图像帧的数量;确定模块2434,还用于确定长度为i的候选录制位置序列与长度为N的回放位置序列之间的距离,N为回放过程包括的回放图像帧的数量;以及用于将M个候选录制位置序列分别与回放位置序列之间的距离的最小值,确定为多个候选录制位置序列与回放位置序列之间的最小距离。

在一些实施例中,获取模块2431,还用于从长度为N的回放位置序列中获取第N个回放位置,其中,第N个回放位置为虚拟角色在第N个回放图像帧包括的虚拟场景中所处的位置;以及用于从长度为i的候选录制位置序列中获取第i个录制位置,其中,第i个录制位置为虚拟角色在第i个录制图像帧包括的虚拟场景中所处的位置;确定模块2434,还用于确定第i个录制位置与第N个回放位置之间的第一距离;以及用于确定长度为i-1的候选录制位置序列与长度为N的回放位置序列之间的第二距离、长度为i的候选录制位置序列与长度为N-1的回放位置序列之间的第三距离、以及长度为i-1的候选录制位置序列与长度为N-1的回放位置序列之间的第四距离中的最小值;将第一距离与最小值之和,确定为长度为i的候选录制位置序列与长度为N的回放位置序列之间的距离。

在一些实施例中,第二差异度包括回放完成比例和时长差异;确定模块2434,还用于基于最小距离对应的候选录制位置序列包括的录制图像帧的数量、以及录制过程包括的录制图像帧的数量,确定回放完成比例;以及用于确定录制过程对应的录制时长与回放过程对应的回放时长之间的差值,以作为时长差异。

在一些实施例中,确定模块2434,还用于确定录制时长与回放时长的差值的绝对值;以及用于确定录制时长与回放时长中的较大值;将绝对值与较大值之间的除运算结果确定为时长差异。

在一些实施例中,确定模块2434,还用于针对每个候选距离阈值对应的最小距离、回放完成比例以及时长差异,执行以下处理:确定回放完成比例与时长差异之间的差值;将差值与最小距离之间的除运算结果,确定为候选距离阈值对应的回放精度。

在一些实施例中,获取模块2431,还用于获取包括每个互动环节的虚拟场景中的障碍物的数量;确定模块2434,还用于基于障碍物的数量,确定在包括互动环节的虚拟场景中应用的候选距离阈值,其中,候选距离阈值的取值与障碍物的数量负相关。

在一些实施例中,回放模型包括虚拟场景中的虚拟角色对应的距离阈值,在构建回放模型之后,获取模块2431,还用于响应于针对虚拟角色的回放触发操作,从回放模型中获取与虚拟角色对应的距离阈值;控制模块2433,还用于在新的回放过程中控制虚拟角色在回放位置序列实施与录制过程对应的操作;其中,回放位置序列与录制位置序列的距离小于距离阈值。

需要说明的是,本申请实施例中关于装置的描述,与上文中虚拟场景的回放模型构建方法的实现是类似的,并具有相似的有益效果,因此不做赘述。对于本申请实施例提供的虚拟场景的回放模型构建装置中未尽的技术细节,可以根据图3至图6、或图8任一附图的说明而理解。

本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的虚拟场景的回放模型构建方法。

本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图3至图6、或图8示出的虚拟场景的回放模型构建方法。

在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。

在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。

作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。

作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。

综上所述,本申请实施例综合录制过程与回放过程之间的差异、以及录制过程结果与回放过程结果之间的差异构建回放精度,能够准确衡量回放模型的回放精度,进而能够凭借回放精度筛选出精确的参数(即距离阈值)来构建回放模型,相较于机器学习和人工优化而言,提升了回放模型的优化效率且节约了资源。

以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

相关技术
  • 虚拟场景的回放模型构建方法、装置、设备及存储介质
  • 一种虚拟场景回放方法、装置、电子设备及存储介质
技术分类

06120112957419