CN114344918A - 基于虚拟场景的数据录制方法、装置、设备、介质及产品 - Google Patents
基于虚拟场景的数据录制方法、装置、设备、介质及产品 Download PDFInfo
- Publication number
- CN114344918A CN114344918A CN202111660327.8A CN202111660327A CN114344918A CN 114344918 A CN114344918 A CN 114344918A CN 202111660327 A CN202111660327 A CN 202111660327A CN 114344918 A CN114344918 A CN 114344918A
- Authority
- CN
- China
- Prior art keywords
- playback
- data
- recording
- frame
- target
- 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
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/70—Game security or game management aspects
- A63F13/77—Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
-
- 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/44—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment involving timing of operations, e.g. performing an action within a time slot
-
- 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/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了一种基于虚拟场景的数据录制方法、装置、设备、介质及产品,涉及计算机技术领域。该方法包括:响应于接收到录制信号,开启对虚拟场景的录制;在虚拟场景的运行过程中,对虚拟对象的对象状态进行记录,得到状态数据;响应于接收到交互操作事件,对交互操作事件进行记录,得到操作数据;响应于录制结束,根据状态数据和操作数据生成录制文件,录制文件用于运行于至少一个应用版本的目标应用,对虚拟场景对应的场景画面进行回放。通过记录虚拟对象的对象状态和接收到的交互操作事件来生成录制文件,录制文件在回放时保证精准性的同时,提升了录制文件在不同应用版本之间的应用上的兼容性。
Description
本申请要求:2021年11月02日提交的申请号为202111290212.4、发明名称为“基于虚拟场景的数据录制方法、装置、设备、介质及产品”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机技术领域,特别涉及一种基于虚拟场景的数据录制方法、装置、设备、介质及产品。
背景技术
在游戏的测试过程中,一般通过录制回放用例,并通过回放用例实现录像重播,以对游戏相关的数据进行比较测试。
在相关技术中,针对第四代虚幻引擎(Unreal Engine IV,UE4)的录制回放技术一般通过UE4中的重现(Replay)系统来实现,测试人员操作角色生成.replay文件,通过命令行来回放replay文件。UE4的Replay系统根据指令新建一个演示网络驱动(DemoNetDriver),当开启监听后,会录制所有的网络数据包,并保存在replay文件中,而在回放时会关闭当前的网络通道,加载对应的录制文件,依靠网络包来驱动游戏实现对游戏画面进行回放。
然而,由于上述回放画面是由网络包驱动的,因此在进行录制和回放的过程中,游戏逻辑必须要保证完全一致,否则会出现由于客户端不同步而无法正确回放的问题。
发明内容
本申请实施例提供了一种基于虚拟场景的数据录制方法、装置、设备、介质及产品,可以提升录制文件的兼容性。所述技术方案如下:
一方面,提供了一种基于虚拟场景的数据录制方法,所述方法包括:
响应于接收到录制信号,开启对虚拟场景的录制,所述虚拟场景中包括虚拟对象;
在所述虚拟场景的运行过程中,对所述虚拟对象的对象状态进行记录,得到状态数据,所述状态数据用于指示所述虚拟对象在所述虚拟场景对应的坐标系中的变化情况;
响应于接收到交互操作事件,对所述交互操作事件进行记录,得到操作数据;
响应于录制结束,根据所述状态数据和所述操作数据生成录制文件,所述录制文件用于运行于至少一个应用版本的目标应用,对所述虚拟场景对应的场景画面进行回放,所述目标应用用于运行所述虚拟场景。
另一方面,提供了一种基于虚拟场景的数据录制装置,所述装置包括:
录制启动模块,用于响应于接收到录制信号,开启对虚拟场景的录制,所述虚拟场景中包括虚拟对象;
数据记录模块,用于在所述虚拟场景的运行过程中,对所述虚拟对象的对象状态进行记录,得到状态数据,所述状态数据用于指示所述虚拟对象在所述虚拟场景对应的坐标系中的变化情况;
所述数据记录模块,还用于响应于接收到交互操作事件,对所述交互操作事件进行记录,得到操作数据;
文件生成模块,用于响应于录制结束,根据所述状态数据和所述操作数据生成录制文件,所述录制文件用于运行于至少一个应用版本的目标应用,对所述虚拟场景对应的场景画面进行回放,所述目标应用用于运行所述虚拟场景。
另一方面,提供了一种计算机设备,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现本申请实施例中任一所述的基于虚拟场景的数据录制方法。
另一方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现本申请实施例中任一所述的基于虚拟场景的数据录制方法。
另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中任一所述的基于虚拟场景的数据录制方法。
本申请的提供的技术方案至少包括以下有益效果:
在需要对虚拟场景进行回放录制时,对虚拟场景中虚拟对象的对象状态以及终端接收到的交互操作事件进行记录,以生成能够运行于多个应用版本的目标应用上的录制文件。即,通过记录虚拟对象的对象状态和接收到的交互操作事件来生成录制文件,录制文件在回放时保证精准性的同时,提升了录制文件在不同应用版本之间的应用上的兼容性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的实施环境示意图;
图2是本申请一个示例性实施例提供的基于虚拟场景的数据录制方法流程图;
图3是本申请另一个示例性实施例提供的基于虚拟场景的数据录制方法流程图;
图4是本申请一个示例性实施例提供的录制过程流程图;
图5是本申请一个示例性实施例提供的基于虚拟场景的数据测试方法流程图;
图6是本申请一个示例性实施例提供的回放流程图;
图7是本申请一个示例性实施例提供的数据对比纠错流程图;
图8是本申请一个示例性实施例提供的差异帧数据示意图;
图9是本申请一个示例性实施例提供的基于虚拟场景的数据录制装置结构框图;
图10是本申请另一个示例性实施例提供的基于虚拟场景的数据录制装置结构框图;
图11是本申请一个示例性实施例提供的服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请实施例的实施环境进行说明。如图1所示,该实施环境包括:终端110、服务器120和通信网络130。
终端110包括手机、平板电脑、台式电脑、便携式笔记本电脑等多种形式的终端设备。终端110中运行有提供虚拟场景的目标应用,该目标应用可以是独立的应用程序,也可以是网页应用,还可以是宿主应用中的小程序,在此不进行限定。可选地,该目标应用可以是虚拟现实应用程序、三维地图程序、第三人称射击游戏(Third-Personal ShootingGame,TPS)、第一人称射击游戏(First-Person Shooting Game,FPS)、多人在线战术竞技游戏(Multiplayer Online Battle Arena Games,MOBA)、多人枪战类生存游戏等能够提供虚拟场景的应用中的任意一种。
服务器120用于为上述目标应用提供后端支持。以目标应用为游戏应用为例,服务器120为目标应用提供后端游戏逻辑。在一些实施例中,目标应用包括前端游戏逻辑和后端游戏逻辑,前端游戏逻辑由安装于终端110中的游戏客户端完成,后端游戏逻辑由服务器120完成。
值得注意的是,上述服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
其中,云技术(Cloud Technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
在一些实施例中,上述服务器120还可以实现为区块链系统中的节点。区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链,本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营管理等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营管理模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出。
示意性的,录制过程可以是在线实现的,即,终端110在目标应用运行后,接收到虚拟场景的创建请求,将该创建请求发送至服务器120,服务器120根据该创建请求生成对应的虚拟房间,并为终端110提供对应的后端逻辑。当终端110接收到录制请求后,在由终端110和服务器120共同驱动目标应用的应用逻辑时,终端110对虚拟场景中虚拟对象的对象状态以及终端110接收到的交互操作事件进行记录,当终端110确定录制结束后,生成录制文件,该录制文件可以由终端110进行本地保存,也可以上传至服务器120。
在一些实施例中,终端110可离线完成应用逻辑时,录制过程也可以是离线实现的,即,仅由终端110完成目标应用的应用逻辑以及对虚拟场景的录制。
示意性的,终端110和服务器120之间通过通信网络130连接。
结合上述实施环境,对本申请提供的基于虚拟场景的数据录制方法的应用场景进行示意性说明。
在一些实施例中,本申请提供的基于虚拟场景的数据录制方法可以应用于应用测试过程中。目标应用对应有多个应用版本,在测试过程中,需要知晓不同应用版本之间的目标应用的差别,因此可以通过本申请提供的基于虚拟场景的数据录制方法对目标应用的回放用例进行录制,得到录制文件,将该录制文件运行于不同应用版本的目标应用上得到不同的回放效果,基于上述回放效果进行确定版本间的测试结果。
在一些实施例中,本申请提供的基于虚拟场景的数据录制方法还可以应用于应用的线上回放功能中。以目标应用为游戏应用为例,该目标应用提供有回放功能,该回放功能可以是实时回放功能(如,死亡回放),也可以是延时回放功能(如,对局回放)。以实现死亡回放为例,参与游戏对局的所有终端对游戏对局进行实时录制,按一定频率将实时录制得到的录制文件上传至服务器,当终端A中的虚拟对象A阵亡时,服务器调取击杀该虚拟对象A的虚拟对象B在对应时段内的录制文件,将该录制文件传输至终端A,终端A根据录制文件生成对应的回放画面。以实现对局回放为例,终端对虚拟对局进行录制,在虚拟对局结束后生成录制文件,并将录制文件上传至服务器,服务器对该录制文件进行存储,当玩家需要再次观看该虚拟对局的回放录像时,服务器即可将上述录制文件发送至终端,终端根据录制文件生成对应的对局回放,且即使游戏版本更替后,玩家仍可回放之前应用版本的虚拟对局。
本申请提供的基于虚拟场景的数据录制方法还可以应用于其它应用回放的应用场景中,在此不进行限定。
请参考图2,其示出了本申请一个实施例示出的基于虚拟场景的数据录制方法,在本申请实施例中,以该方法应用于如图1所示的终端中,该方法包括:
步骤201,响应于接收到录制信号,开启对虚拟场景的录制。
在一些实施例中,上述虚拟场景中包括虚拟对象。示意性的,虚拟对象为虚拟场景中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物等,比如:在三维虚拟场景中显示的人物、动物、植物、油桶、墙壁、石块等。可选地,虚拟对象是基于动画骨骼技术创建的三维立体模型。每个虚拟对象在三维虚拟场景中具有自身的形状和体积,占据三维虚拟场景中的一部分空间。可选地,虚拟场景中的虚拟对象可以是终端控制的主控虚拟对象,也可以是虚拟场景中其他虚拟对象,在此不进行限定。
在一些实施例中,终端中包括用于运行虚拟场景的目标应用,完成对目标应用的录制过程的功能可以由目标应用中的功能模块实现,也可以由独立的录制应用实现,当该录制过程通过独立的录制应用实现时,录制应用与目标应用之间存在数据通信。
在本申请实施例中,以录制过程由目标应用中的功能模块实现为例进行说明。
可选地,上述录制信号可以通过目标应用中提供的录制控件实现。在一个示例中,终端通过目标应用显示的虚拟场景界面中包括录制控件,当在录制控件上接收到触发操作时,则确定接收到录制信号。可选地,当虚拟场景为虚拟对局中的场景时,上述录制信号还可以是根据虚拟对局的创建信号确定的,例如,当终端接收到虚拟对局的创建操作时,向服务器发送创建请求,当终端确定虚拟对局创建成功并成功进入虚拟对局后,则自动触发录制信号,以对虚拟对局中的虚拟场景进行录制。
步骤202,在虚拟场景的运行过程中,对虚拟对象的对象状态进行记录,得到状态数据。
上述状态数据用于指示虚拟对象在虚拟场景对应的坐标系中的变化情况。
在一些实施例中,上述虚拟对象的对象状态包括位置信息、转向信息、姿态信息等信息中的至少一种。示意性的,上述位置信息用于指示虚拟对象在虚拟场景对应的预设坐标系中所处的位置,在一个示例中,上述位置信息(Location)通过虚拟对象在虚拟场景的世界坐标系中的位置坐标表示。上述转向信息用于指示虚拟对象在虚拟场景中的朝向变化,在一个示例中,上述转向信息(Rotation)通过虚拟对象在虚拟场景的世界坐标系中的旋转方向表示。上述姿态信息用于指示虚拟对象在虚拟场景中的姿态,上述姿态包括站立姿态、蹲姿态、趴卧姿态、持枪姿态等至少一种姿态,其中,持枪姿态用于指示在虚拟环境中对虚拟道具的持有状态。
可选地,通过关键帧生成上述状态数据。其中,上述关键帧为目标应用的客户端中的数据逻辑帧,关键帧中包括虚拟对象的对象状态。示意性的,在虚拟场景的运行过程中,根据系统计时周期从所述目标应用的运行引擎中获取关键帧,根据系统计时周期的时间顺序和关键帧,生成状态数据。上述运行引擎是用于提供建模、布局、动画生成、光照、视觉特效、渲染以及合成等功能的引擎。可选地,上述运行引擎包括Unity3D引擎、虚幻引擎等。
可选地,通过对图像帧画面进行识别,以得到上述状态信息。示意性的,终端获取当前虚拟场景界面中显示的图像帧画面,对图像帧画面进行识别,通过初始图像帧画面和画面变化的关键帧生成状态信息,在一个示例中,获取初始图像帧,当第i+1帧图像帧画面与第i帧图像帧画面之间的差异超过预设阈值时,将第i+1帧图像帧画面作为生成状态信息的关键帧输出,通过初始帧、关键帧以及对应的时间戳生成状态信息,i为正整数,其中,上述图像帧画面之间的差异可以通过画面中不同的像素量指示,也可以通过画面对应的灰度值差异指示。
步骤203,响应于接收到交互操作事件,对交互操作事件进行记录,得到操作数据。
在一些实施例中,上述交互操作事件为用户通过虚拟场景界面上的交互控件触发的交互事件。
示意性的,交互控件与交互事件之间对应有映射关系。
可选地,一个交互控件可以与多个交互事件对应,同一交互控件对应的不同交互事件由上述交互控件的接收到的不同触发操作触发,例如,虚拟场景界面中的攻击控件接收到点击操作时,则触发虚拟对象的攻击事件,当攻击控件接收到长按操作时,则触发虚拟对象的目标选择事件;一个交互事件也可以与多个交互控件对应,例如,在虚拟场景界面中的界面右下角和界面左上角分别显示有攻击控件A和攻击控件B,只要上述攻击控件A和攻击控件B中有一个攻击控件被触发,则触发虚拟对象的攻击事件。
在一些实施例中,交互控件和交互事件之间的对应关系由终端中预存储的映射表来确定。示意性的,上述映射表可以来自服务器,也可以是终端根据用户设置生成的,在此不进行限定。示意性的,当终端获取交互控件和交互事件之间的映射表之后,需要对虚拟场景界面上的交互控件和交互事件建立关联关系,在一个示例中,获取虚拟场景界面上的目标交互控件;获取交互事件集合,交互事件集合中的交互事件用于完成对虚拟对象进行控制的事件命令;从交互事件集合中确定出目标交互事件;将目标交互事件与目标交互控件建立关联关系。
示意性的,终端对目标交互控件进行监听,目标交互控件与目标交互事件之间具有对应关系;响应于目标交互控件接收到触发信号,获取触发信号对应的触发时刻;基于触发时刻和目标交互事件之间的对应关系生成操作数据。
步骤204,响应于录制结束,根据状态数据和操作数据生成录制文件。
上述录制文件用于运行于至少一个应用版本的目标应用,对虚拟场景对应的场景画面进行回放。
可选地,当录制控件再次接收到触发操作时,确定接收到录制结束信号,确定对虚拟场景的录制结束。可选地,当虚拟场景为虚拟对局中的场景时,当虚拟对局结束时,确定对虚拟场景的录制结束。
可选地,终端对上述录制文件进行本地存储,当终端接收到针对上述录制文件的回放操作时,对其进行读取并通过目标应用运行该录制文件,显示对应的回放画面。
可选地,终端将上述录制文件上传至服务器,由服务器存储至数据库中,当终端接收到针对上述录制文件的回放操作时,从服务器获取该录制文件,通过目标应用运行该录制文件,显示对应的回放画面。
示意性的,当终端需要对上述录制文件进行回放时,通过目标应用运行上述录制文件,在一个示例中,目标应用对录制文件进行解析,得到状态数据和操作数据,在目标应用的当前数据逻辑帧与状态数据中的起始数据逻辑帧一致时,开始对状态数据进行回放,并根据操作数据中交互事件的触发时间对交互操作事件进行回放,显示对应的回放画面。
综上所述,本申请实施例提供的基于虚拟场景的数据录制方法,在需要对虚拟场景进行回放录制时,对虚拟场景中虚拟对象的对象状态以及终端接收到的交互操作事件进行记录,以生成能够运行于多个应用版本的目标应用上的录制文件。即,通过记录虚拟对象的对象状态和接收到的交互操作事件来生成录制文件,录制文件在回放时保证精准性的同时,提升了录制文件在不同应用版本之间的应用上的兼容性。
请参考图3,其示出了本申请一个实施例示出的基于虚拟场景的数据录制方法,在本申请实施例中,对录制文件的录制过程进行说明,该方法包括:
步骤301,显示虚拟场景画面。
示意性的,当终端接收到虚拟场景的进入操作后,通过目标应用显示虚拟场景画面。可选地,上述虚拟场景可以是独立的虚拟对局中的虚拟场景,也可以是实时虚拟场景(如,大型多人在线角色扮演游戏(Massive Multiplayer Online Role-Playing Game,MMORPG)中的游戏场景)。可选地,上述虚拟场景画面可以是以主控虚拟对象的第一人称视角显示的画面,也可以是以主控虚拟对象的第三人称视角显示的画面。其中,第一人称视角即虚拟对象在虚拟场景中所能观察到的画面对应的视角,该第一人称视角对应的画面中不包括该主控虚拟对象本身,比如只能看到主控虚拟对象的手臂和持有的虚拟道具;第三人称视角即在虚拟场景中通过摄像机模型对主控虚拟对象进行观察的视角,该第三人称视角对应的画面中包括主控虚拟对象本身,且通常该摄像机模型是位于主控虚拟对象的后方对该虚拟对象进行观察的。
步骤302,响应于接收到录制信号,通过监听器对虚拟场景界面中的控件进行响应注册操作。
可选地,上述录制信号可以通过录制控件触发,也可以在终端显示上述虚拟场景画面时自动触发。
在本申请实施例中,上述响应注册操作用于指示监听器对指定的交互控件对应的响应情况进行监听和记录,即,注册用户界面(User Interface,UI)事件响应。示意性的,终端开启监听器,该监听器会对控件接收到的触发操作、触发时间以及交互事件进行监听和记录。
步骤303,开启对虚拟场景的录制。
在一些实施例中,当开启对虚拟场景的录制后,在虚拟场景界面上显示录制时长,该录制时长用于指示已录制的虚拟场景的时长。
在开启录制后,终端会对虚拟场景中虚拟对象的对象状态进行记录,即,执行步骤304~步骤305,对交互操作事件进行监听和记录,即执行步骤306~步骤308。其中,步骤304~步骤305和步骤306~步骤308是并行执行的。
步骤304,在虚拟场景的运行过程中,根据系统计时周期从目标应用的运行引擎中获取关键帧。
上述关键帧为目标应用的客户端中的数据逻辑帧,关键帧中包括虚拟对象的对象状态。上述运行引擎是用于提供建模、布局、动画生成、光照、视觉特效、渲染以及合成等功能的引擎。可选地,上述运行引擎包括Unity3D引擎、虚幻引擎等。
步骤305,根据系统计时周期的时间顺序和关键帧,生成状态数据。
在本申请实施例中,通过客户端中的运行引擎获取关键帧。上述系统计时周期为嘀嗒时钟(tick)周期,上述tick为机器计时的单位。可选地,上述关键帧可以是一个tick周期内所有的数据逻辑帧,或者,上述关键帧可以是一个tick周期内以预设分布抽取的数据逻辑帧,例如,一个tick周期中包括100帧数据逻辑帧,上述关键帧为每5帧数据逻辑帧的首帧数据逻辑帧。
示意性的,终端在每个tick周期均获取关键帧,并按照时间顺序生成对应的状态数据。
步骤306,对目标交互控件进行监听。
在本申请实施例中,当终端注册UI事件响应后,会对虚拟场景界面中注册过的目标交互控件进行监听。
在一些实施例中,当虚拟场景界面中包括录制控件时,录制控件不会被作为目标交互控件被注册事件响应,即录制控件的触发操作不会被作记录到操作数据中。
步骤307,响应于目标交互控件接收到触发信号,获取触发信号对应的触发时刻。
当监听到目标交互控件接收到触发信号时,终端获取触发信号对应的触发时刻。示意性的,上述触发时刻可以是相对于虚拟对局的对局进程的时间戳,也可以是相对于录制进程的时间戳,在此不进行限定。
步骤308,基于触发时刻和目标交互事件之间的对应关系生成操作数据。
在本申请实施例中,终端根据控件和交互事件之间的映射表,确定目标交互控件对应的目标交互事件,根据目标交互事件和触发时间生成操作数据,即,由目标交互事件和触发时间组成交互操作事件。
步骤309,响应于录制结束,根据状态数据和操作数据生成录制文件。
上述录制文件用于运行于至少一个应用版本的目标应用,对虚拟场景对应的场景画面进行回放。
可选地,当录制控件再次接收到触发操作时,确定接收到录制结束信号,确定对虚拟场景的录制结束。可选地,当虚拟场景为虚拟对局中的场景时,当虚拟对局结束时,确定对虚拟场景的录制结束。
可选地,终端对上述录制文件进行本地存储,当终端接收到针对上述录制文件的回放操作时,对其进行读取并通过目标应用运行该录制文件,显示对应的回放画面。
可选地,终端将上述录制文件上传至服务器,由服务器存储至数据库中,当终端接收到针对上述录制文件的回放操作时,从服务器获取该录制文件,通过目标应用运行该录制文件,显示对应的回放画面。
示意性的,当终端需要对上述录制文件进行回放时,通过目标应用运行上述录制文件,在一个示例中,目标应用对录制文件进行解析,得到状态数据和操作数据,在目标应用的当前数据逻辑帧与状态数据中的起始数据逻辑帧一致时,开始对状态数据进行回放,并根据操作数据中交互事件的触发时间对交互操作事件进行回放,显示对应的回放画面。
在一个示例中,请参考图4,其示出了本申请实施例提供的录制过程流程图。该流程包括:注册UI事件响应401;记录玩家关键帧状态402;监听UI事件响应403;判断是否有触发UI事件404,若是,则执行405,若否,则执行403;记录UI操作时间405;判断是否结束录制406,若是,则执行407,若否,则执行402和403;将关键帧和UI事件保存成录制文件407。
综上所述,本申请实施例提供的基于虚拟场景的数据录制方法,在需要对虚拟场景进行回放录制时,通过关键帧录制虚拟对象的状态数据,通过对交互控件的监听记录操作数据,生成能够运行于多个应用版本的目标应用上的录制文件。即,通过记录虚拟对象的对象状态和接收到的交互操作事件来生成录制文件,录制文件在回放时保证精准性的同时,提升了录制文件在不同应用版本之间的应用上的兼容性。同时,能够实现录制一次得到的录制文件在多个应用版本上进行回放,提升了录制文件应用在如回放等场景中的录制效率。
请参考图5,其示出了本申请一个实施例示出的基于虚拟场景的数据测试方法,在本申请实施例中,对录制文件应用于测试中进行说明,下述步骤501~步骤504执行于步骤201~204或步骤301~309之后,该方法包括:
步骤501,获取第一应用版本的目标应用和第二应用版本的目标应用。
上述第一应用版本和第二应用版本的目标应用为同一应用不同版本。在一些实施例中,不同应用版本之间的目标应用存在部分应用逻辑的差异,例如,第二应用版本的目标应用是第一应用版本的目标应用进行补丁更新后的应用,其中,第二应用版本的目标应用针对武器模型进行了优化,则同一虚拟武器在第一应用版本的目标应用中的显示效果和在第二应用版本的目标应用中的显示效果不同。
步骤502,将录制文件加载在第一应用版本的目标应用上进行回放,得到第一回放数据。
在一些实施例中,录制文件的录制过程中部分应用逻辑会涉及到随机数,例如,虚拟场景中的相机(camera)参数,在回放过程中,使用固定种子的随机数来替代录制过程中的随机数,其中,上述固定种子的随机数可以是预先设置的固定数,在需要随机数时,将该固定数作为随机数进行应用。
示意性的,在回放过程中,需要保持回放帧率和录制帧率一致。在一些实施例中,上述回放帧率和录制帧率为逻辑帧的帧率。终端获取录制文件对应的录制帧率信息,根据录制帧率信息设置回放帧率信息,上述回放帧率信息用于控制运行引擎生成的回放数据的帧率。
示意性的,在回放过程中,需要判断录制时的帧时间和回放时的是否一致,如果不一致,需要对齐到一致才能回放,即,响应于回放帧时间与录制帧时间相同,基于状态信息对虚拟场景画面进行回放,响应于回放帧时间到达目标交互事件对应的触发时刻,基于操作数据对虚拟对象的交互事件进行回放,响应于回放完毕,生成第一回放数据。
在一个示例中,如图6所示,其示出了本申请一个示例性实施例提供的回放流程图,该流程包括:加载录制文件601;camera随机数用固定随机数代替602;设置回放帧率和录制帧率一致603;开始回放604;判断当前帧时间和录制帧是否一致605,若是,则执行606,若否,则执行604;回放关键帧606;触发UI按钮事件607;判断所有帧和事件是否回放完毕608,若是,则结束,若否,则执行604。
步骤503,将录制文件加载在第二应用版本的目标应用上进行回放,得到第二回放数据。
示意性的,第二回放数据的生成过程和第一回放数据的生成过程相同,在此不进行赘述。
步骤504,将第一回放数据和第二回放数据进行对比,生成测试数据。
可选地,在第一回放数据和第二回放数据均生成后,再通过第一回放数据和第二回放数据的对比,得到测试数据;可选地,在第一回放数据生成后,在第二回放数据的生成过程中,即对第一回放数据和第二回放数据进行对比,得到测试数据。
在一些实施例中,将第一回放数据和第二回放数据进行对比,确定第一回放数据和第二回放数据中存在差异的第一回放帧和第二回放帧,上述第一回放帧来自第一回放数据,上述第二回放帧来自第二回放数据;响应于第一回放帧和第二回放帧之间的差异情况超过第一差异阈值,将第一回放帧和第二回放帧确定为差异帧数据;基于差异帧数据生成测试数据。在本申请实施例中,当第一回放帧和第二回放帧之间的差异超过第一差异阈值时,将第一回放帧和第二回放帧作为差异帧数据输出。
可选地,当上述第一回放帧和第二回放帧为数据逻辑帧时,上述第一回放帧和第二回放帧之间的差异可以通过比对帧数据差异确定,则上述第一差异阈值为差异数据量的阈值;当上述第一回放帧和第二回放帧为图像帧数据时,上述第一回放帧和第二回放帧之间的差异可以通过比对帧像素之间的差异确定,则上述第一差异阈值为差异像素量/灰度值的阈值。
由于在对比两个应用版本之间的回放数据时,如果只要存在差异就将回放帧作为差异帧输出,则会出现大量误报,但通过录制回放视频却找不出差异,即由于单帧对比结果异常会导致测试数据的误报。因此,在一些实施例中,当单帧之间存在差异帧数据时,通过对比连续的多帧之间的差异来确定是否将其确定为差异帧数据。示意性的,获取目标数量的第一回放帧,目标数量的第一回放帧为连续的回放帧;获取目标数量的第二回放帧,目标数量的第二回放帧为连续的回放帧,且目标数量的第一回放帧的帧时间和目标数量的第二回放帧的帧时间对应;响应于目标数量的第一回放帧和目标数量的第二回放帧之间均存在差异,确定目标数量的第一回放帧和目标数量的第二回放帧之间的差异情况超过第一差异阈值;将目标数量的第一回放帧和目标数量的第二回放帧确定为差异帧数据。
在一个示例中,以目标数量为4,且差异帧数据的生成是随着第二回放数据的生成同时检测的为例,在生成第二回放数据的过程中,将生成的回放帧与第一回放数据对应的回放帧进行对比,若两者之间存在差异,则连续获取后续的3帧回放帧,即分别以第一回放数据和第二回放数据中的4帧回放帧进行对比,若连续4帧回放帧之间均存在差异,则将其作为差异帧数据输出。
另外,终端设备和网络也可能回影响对比结果,可能出现如关键帧数据顺序错乱等情况,从而导致第一回放数据中的回放帧与第二回放数据中的回放帧之间对比失败。在一些实施例中,针对上述情况,在根据多帧对比结果的基础上,还可采用滑动窗口的方案,即在连续目标数量的回放帧存在差异的基础下,取一个定长的窗口前后滑动对比,如果窗口内发现数据能匹配上则认为这目标数量的回放帧为匹配帧数据。
示意性的,获取目标长度的滑动窗口;基于滑动窗口和目标数量的第二回放帧,从第二回放数据中获取目标数量的滑动回放帧,目标数量的滑动回放帧与目标数量的第二回放帧之间的帧距离由滑动窗口确定;响应于目标数量的第一回放帧和目标数量的滑动回放帧之间差异情况超过第二差异阈值,将目标数量的第一回放帧和目标数量的第二回放帧确定为差异帧数据;响应于目标数量的第一回放帧和目标数量的滑动回放帧之间差异情况与第二差异阈值匹配失败,将目标数量的第一回放帧和目标数量的滑动回放帧确定为匹配帧数据。
其中,当上述第一回放帧和第二回放帧为数据逻辑帧时,上述第一回放帧和第二回放帧之间的差异可以通过比对帧数据差异确定,则上述第二差异阈值为差异数据量的阈值;当上述第一回放帧和第二回放帧为图像帧数据时,上述第一回放帧和第二回放帧之间的差异可以通过比对帧像素之间的差异确定,则上述第二差异阈值为差异像素量/灰度值的阈值。
在一个示例中,当检测到第一回放数据中的回放帧4/5/6/7和第二回放数据中的回放帧4/5/6/7均存在差异时,获取长度为3的滑动窗口,基于该滑动窗口能够从第二回放数据中获取到的回放帧组合包括回放帧1/2/3/4、回放帧2/3/4/5、回放帧3/4/5/6、回放帧5/6/7/8、回放帧6/7/8/9、回放帧7/8/9/10六组回放帧组合,若上述六组回放帧组合中存在一组回放帧组合(例如,回放帧5/6/7/8)与第一回放数据中的回放帧4/5/6/7帧数据匹配,则确定第二回放数据中的回放帧5/6/7/8和第一回放数据中的回放帧4/5/6/7匹配,不会输出差异帧数据。
如图7所示,其示出了本申请一个示例性实施例提供的数据对比纠错流程图,其中,将回放数据之间的差异数据作为错误进行识别。该流程包括:回放帧对比701;判断是否有连续4帧错误702,若是,则执行703,若否,则执行701;滑动窗口往前移703;判断是否有错误704,若是,则执行705,若否,则执行707;滑动窗口往后移705;判断是否有错误706,若是,则执行708,若否,则执行707;忽略错误707;记录错误708。
本申请实施例提供的基于虚拟场景的数据测试方法能够通过同一个录制文件检测到不同应用版本的目标应用之间的差异,以第二应用版本在第一应用本本的基础上优化武器模型为例,终端能够通过对录制文件进行回放,并对不同应用版本之间的回放数据进行比较,得到测试数据,例如,如图8所示,差异帧数据800包括第一回放帧810和第二回放帧820,如图中的第一版本武器模型811和第二版本武器模型821所示,通过测试数据能够知晓该武器模型进行了更新。
在本申请实施例中,对第一应用版本和第二应用版本的目标应用进行测试为例进行说明,同时测试的应用版本数量也可以是两个以上,在此不进行限制。
综上所述,本申请实施例提供的基于虚拟场景的数据测试方法,在通过本申请提供的基于虚拟场景的数据录制方法得到录制文件后,通过将录制文件在不同应用版本进行回放,得到回放数据,通过回放数据之间的对比结果得到测试数据,提升了不同应用版本之间的测试效率,且精确可量化地测试出两个版本之间的差异,能够用于人工测试肉眼难以发现的问题,例如,游戏应用中的角色动画,特效差异,武器弹道差异等。
请参考图9,其示出了本申请一个示例性的实施例提供的基于虚拟场景的数据录制装置结构框图,该装置包括如下模块:
录制启动模块910,用于响应于接收到录制信号,开启对虚拟场景的录制,所述虚拟场景中包括虚拟对象;
数据记录模块920,用于在所述虚拟场景的运行过程中,对所述虚拟对象的对象状态进行记录,得到状态数据,所述状态数据用于指示所述虚拟对象在所述虚拟场景对应的坐标系中的变化情况;
所述数据记录模块920,还用于响应于接收到交互操作事件,对所述交互操作事件进行记录,得到操作数据;
文件生成模块930,用于响应于录制结束,根据所述状态数据和所述操作数据生成录制文件,所述录制文件用于运行于至少一个应用版本的目标应用,对所述虚拟场景对应的场景画面进行回放,所述目标应用用于运行所述虚拟场景。
在一些可选的实施例中,如图10所示,所述数据记录模块920,还包括:
监听单元921,用于对目标交互控件进行监听,所述目标交互控件与目标交互事件之间具有对应关系;
获取单元922,用于响应于所述目标交互控件接收到触发信号,获取所述触发信号对应的触发时刻;
第一生成单元923,用于基于所述触发时刻和所述目标交互事件之间的对应关系生成所述操作数据。
在一些可选的实施例中,所述数据记录模块920,还包括:
注册单元924,用于通过监听器对虚拟场景界面中的控件进行响应注册操作,所述响应注册操作用于指示所述监听器对指定的交互控件对应的响应情况进行监听和记录。
在一些可选的实施例中,所述获取单元922,还用于在所述虚拟场景的运行过程中,根据系统计时周期从所述目标应用的运行引擎中获取关键帧,所述关键帧为所述目标应用中的数据逻辑帧,所述关键帧中包括所述虚拟对象的对象状态;
所述第一生成单元923,还用于根据所述系统计时周期的时间顺序和所述关键帧,生成所述状态数据。
在一些可选的实施例中,所述装置还包括:
应用获取模块940,用于获取第一应用版本的目标应用和第二应用版本的目标应用;
回放生成模块950,用于将所述录制文件加载在所述第一应用版本的目标应用上进行回放,得到第一回放数据;
所述回放生成模块950,还用于将所述录制文件加载在所述第二应用版本的目标应用上进行回放,得到第二回放数据;
测试模块960,用于将所述第一回放数据和所述第二回放数据进行对比,生成测试数据。
在一些可选的实施例中,所述回放生成模块950,还包括:
数据获取单元951,用于获取录制文件对应的录制帧率信息;
帧率匹配单元952,用于根据所述录制帧率信息设置回放帧率信息,所述回放帧率信息用于控制运行引擎生成的回放数据的帧率;
状态回放单元953,用于响应于回放帧时间与录制帧时间相同,基于所述状态信息对虚拟场景画面进行回放;
操作回放单元954,用于响应于所述回放帧时间到达目标交互事件对应的触发时刻,基于所述操作数据对所述虚拟对象的交互事件进行回放;
回放生成单元955,用于响应于回放完毕,生成所述第一回放数据。
在一些可选的实施例中,所述测试模块960,还包括:
差异比对单元961,用于将所述第一回放数据和所述第二回放数据进行对比,确定所述第一回放数据和所述第二回放数据中存在差异的第一回放帧和第二回放帧,所述第一回放帧来自所述第一回放数据,所述第二回放帧来自所述第二回放数据;
差异确定单元962,用于响应于所述第一回放帧和所述第二回放帧之间的差异情况超过第一差异阈值,将所述第一回放帧和所述第二回放帧确定为差异帧数据;
第二生成单元963,用于基于所述差异帧数据生成所述测试数据。
在一些可选的实施例中,所述差异确定单元962,还用于获取目标数量的第一回放帧,所述目标数量的第一回放帧为连续的回放帧;
所述差异确定单元962,还用于获取目标数量的第二回放帧,所述目标数量的第二回放帧为连续的回放帧,且所述目标数量的第一回放帧的帧时间和所述目标数量的第二回放帧的帧时间对应;
所述差异确定单元962,还用于响应于所述目标数量的第一回放帧和所述目标数量的第二回放帧之间均存在差异,确定所述目标数量的第一回放帧和所述目标数量的第二回放帧之间的差异情况超过所述第一差异阈值;
所述差异确定单元962,还用于将所述目标数量的第一回放帧和所述目标数量的第二回放帧确定为所述差异帧数据。
在一些可选的实施例中,所述差异确定单元962,还用于获取目标长度的滑动窗口;
所述差异确定单元962,还用于基于所述滑动窗口和所述目标数量的第二回放帧,从所述第二回放数据中获取目标数量的滑动回放帧,所述目标数量的滑动回放帧与所述目标数量的第二回放帧之间的帧距离由所述滑动窗口确定;
所述差异确定单元962,还用于响应于所述目标数量的第一回放帧和所述目标数量的滑动回放帧之间差异情况超过第二差异阈值,将所述目标数量的第一回放帧和所述目标数量的第二回放帧确定为所述差异帧数据。
在一些可选的实施例中,所述差异确定单元962,还用于响应于所述目标数量的第一回放帧和所述目标数量的滑动回放帧之间差异情况与所述第二差异阈值匹配失败,将所述目标数量的第一回放帧和所述目标数量的滑动回放帧确定为匹配帧数据。
综上所述,本申请实施例提供的基于虚拟场景的数据录制装置,在需要对虚拟场景进行回放录制时,对虚拟场景中虚拟对象的对象状态以及终端接收到的交互操作事件进行记录,以生成能够运行于多个应用版本的目标应用上的录制文件。即,通过记录虚拟对象的对象状态和接收到的交互操作事件来生成录制文件,录制文件在回放时保证精准性的同时,提升了录制文件在不同应用版本之间的应用上的兼容性。
需要说明的是:上述实施例提供的基于虚拟场景的数据录制装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于虚拟场景的数据录制装置与基于虚拟场景的数据录制方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图11示出了本申请一个示例性实施例提供的服务器的结构示意图。具体来讲包括如下结构。
服务器1100包括中央处理单元(Central Processing Unit,CPU)1101、包括随机存取存储器(Random Access Memory,RAM)1102和只读存储器(Read Only Memory,ROM)1103的系统存储器1104,以及连接系统存储器1104和中央处理单元1101的系统总线1105。服务器1100还包括用于存储操作系统1113、应用程序1114和其他程序模块1115的大容量存储设备1106。
大容量存储设备1106通过连接到系统总线1105的大容量存储控制器(未示出)连接到中央处理单元1101。大容量存储设备1106及其相关联的计算机可读介质为服务器1100提供非易失性存储。也就是说,大容量存储设备1106可以包括诸如硬盘或者紧凑型光盘只读存储器(Compact Disc Read Only Memory,CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、带电可擦可编程只读存储器(Electrically Erasable Programmable Read Only Memory,EEPROM)、闪存或其他固态存储技术,CD-ROM、数字通用光盘(Digital Versatile Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器1104和大容量存储设备1106可以统称为存储器。
根据本申请的各种实施例,服务器1100还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1100可以通过连接在系统总线1105上的网络接口单元1111连接到网络1112,或者说,也可以使用网络接口单元1111来连接到其他类型的网络或远程计算机系统(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行。
本申请的实施例还提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的虚拟场景的数据录制方法。可选地,该计算机设备可以是终端,也可以是服务器。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行,以实现上述各方法实施例提供的虚拟场景的数据录制方法。
本申请的实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中任一所述的虚拟场景的数据录制方法。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (14)
1.一种基于虚拟场景的数据录制方法,其特征在于,所述方法包括:
响应于接收到录制信号,开启对虚拟场景的录制,所述虚拟场景中包括虚拟对象;
在所述虚拟场景的运行过程中,对所述虚拟对象的对象状态进行记录,得到状态数据,所述状态数据用于指示所述虚拟对象在所述虚拟场景对应的坐标系中的变化情况;
响应于接收到交互操作事件,对所述交互操作事件进行记录,得到操作数据;
响应于录制结束,根据所述状态数据和所述操作数据生成录制文件,所述录制文件用于运行于至少一个应用版本的目标应用,对所述虚拟场景对应的场景画面进行回放,所述目标应用用于运行所述虚拟场景。
2.根据权利要求1所述的方法,其特征在于,所述响应于接收到交互操作事件,对所述交互操作事件进行记录,得到操作数据,包括:
对目标交互控件进行监听,所述目标交互控件与目标交互事件之间具有对应关系;
响应于所述目标交互控件接收到触发信号,获取所述触发信号对应的触发时刻;
基于所述触发时刻和所述目标交互事件之间的对应关系生成所述操作数据。
3.根据权利要求2所述的方法,其特征在于,所述对交互控件进行监听,所述交互控件与交互事件之间具有对应关系之前,还包括:
通过监听器对虚拟场景界面中的控件进行响应注册操作,所述响应注册操作用于指示所述监听器对指定的交互控件对应的响应情况进行监听和记录。
4.根据权利要求1至3任一所述的方法,其特征在于,所述在所述虚拟场景的运行过程中,对所述虚拟对象的对象状态进行记录,得到状态数据,包括:
在所述虚拟场景的运行过程中,根据系统计时周期从所述目标应用的运行引擎中获取关键帧,所述关键帧为所述目标应用中的数据逻辑帧,所述关键帧中包括所述虚拟对象的对象状态;
根据所述系统计时周期的时间顺序和所述关键帧,生成所述状态数据。
5.根据权利要求1至3任一所述的方法,其特征在于,所述方法还包括:
获取第一应用版本的目标应用和第二应用版本的目标应用;
将所述录制文件加载在所述第一应用版本的目标应用上进行回放,得到第一回放数据;
将所述录制文件加载在所述第二应用版本的目标应用上进行回放,得到第二回放数据;
将所述第一回放数据和所述第二回放数据进行对比,生成测试数据。
6.根据权利要求5所述的方法,其特征在于,将所述录制文件加载在所述第一应用版本的目标应用上进行回放,得到第一回放数据,包括:
获取录制文件对应的录制帧率信息;
根据所述录制帧率信息设置回放帧率信息,所述回放帧率信息用于控制运行引擎生成的回放数据的帧率;
响应于回放帧时间与录制帧时间相同,基于所述状态信息对虚拟场景画面进行回放;
响应于所述回放帧时间到达目标交互事件对应的触发时刻,基于所述操作数据对所述虚拟对象的交互事件进行回放;
响应于回放完毕,生成所述第一回放数据。
7.根据权利要求5所述的方法,其特征在于,所述将所述第一回放数据和所述第二回放数据进行对比,生成测试数据,包括:
将所述第一回放数据和所述第二回放数据进行对比,确定所述第一回放数据和所述第二回放数据中存在差异的第一回放帧和第二回放帧,所述第一回放帧来自所述第一回放数据,所述第二回放帧来自所述第二回放数据;
响应于所述第一回放帧和所述第二回放帧之间的差异情况超过第一差异阈值,将所述第一回放帧和所述第二回放帧确定为差异帧数据;
基于所述差异帧数据生成所述测试数据。
8.根据权利要求7所述的方法,其特征在于,所述响应于所述第一回放帧和所述第二回放帧之间的差异情况超过第一差异阈值,将所述第一回放帧和所述第二回放帧确定为差异帧数据,包括:
获取目标数量的第一回放帧,所述目标数量的第一回放帧为连续的回放帧;
获取目标数量的第二回放帧,所述目标数量的第二回放帧为连续的回放帧,且所述目标数量的第一回放帧的帧时间和所述目标数量的第二回放帧的帧时间对应;
响应于所述目标数量的第一回放帧和所述目标数量的第二回放帧之间均存在差异,确定所述目标数量的第一回放帧和所述目标数量的第二回放帧之间的差异情况超过所述第一差异阈值;
将所述目标数量的第一回放帧和所述目标数量的第二回放帧确定为所述差异帧数据。
9.根据权利要求8所述的方法,其特征在于,所述将所述目标数量的第一回放帧和所述目标数量的第二回放帧确定为所述差异帧数据,包括:
获取目标长度的滑动窗口;
基于所述滑动窗口和所述目标数量的第二回放帧,从所述第二回放数据中获取目标数量的滑动回放帧,所述目标数量的滑动回放帧与所述目标数量的第二回放帧之间的帧距离由所述滑动窗口确定;
响应于所述目标数量的第一回放帧和所述目标数量的滑动回放帧之间差异情况超过第二差异阈值,将所述目标数量的第一回放帧和所述目标数量的第二回放帧确定为所述差异帧数据。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
响应于所述目标数量的第一回放帧和所述目标数量的滑动回放帧之间差异情况与所述第二差异阈值匹配失败,将所述目标数量的第一回放帧和所述目标数量的滑动回放帧确定为匹配帧数据。
11.一种基于虚拟场景的数据录制装置,其特征在于,所述装置包括:
录制启动模块,用于响应于接收到录制信号,开启对虚拟场景的录制,所述虚拟场景中包括虚拟对象;
数据记录模块,用于在所述虚拟场景的运行过程中,对所述虚拟对象的对象状态进行记录,得到状态数据,所述状态数据用于指示所述虚拟对象在所述虚拟场景对应的坐标系中的变化情况;
所述数据记录模块,还用于响应于接收到交互操作事件,对所述交互操作事件进行记录,得到操作数据;
文件生成模块,用于响应于录制结束,根据所述状态数据和所述操作数据生成录制文件,所述录制文件用于运行于至少一个应用版本的目标应用,对所述虚拟场景对应的场景画面进行回放,所述目标应用用于运行所述虚拟场景。
12.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至10任一所述的基于虚拟场景的数据录制方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现如权利要求1至10任一所述的基于虚拟场景的数据录制方法。
14.一种计算机程序产品,其特征在于,包括计算机程序或指令,所述计算机程序或指令被处理器执行时实现如权利要求1至10任一所述的基于虚拟场景的数据录制方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2021112902124 | 2021-11-02 | ||
CN202111290212 | 2021-11-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114344918A true CN114344918A (zh) | 2022-04-15 |
Family
ID=81104941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111660327.8A Pending CN114344918A (zh) | 2021-11-02 | 2021-12-31 | 基于虚拟场景的数据录制方法、装置、设备、介质及产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114344918A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115035218A (zh) * | 2022-08-11 | 2022-09-09 | 湖南湘生网络信息有限公司 | 交互动画制作方法、装置、计算机设备和存储介质 |
-
2021
- 2021-12-31 CN CN202111660327.8A patent/CN114344918A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115035218A (zh) * | 2022-08-11 | 2022-09-09 | 湖南湘生网络信息有限公司 | 交互动画制作方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102337507B1 (ko) | 게임 원격측정 내에서 동기화된 비디오 | |
CN113058270B (zh) | 直播互动方法和装置、存储介质及电子设备 | |
US10537798B2 (en) | Server apparatus, dynamic-image delivery system, and control method and computer readable storage medium used therein | |
CN111744202B (zh) | 加载虚拟游戏的方法及装置、存储介质、电子装置 | |
CN110731085B (zh) | 检测和响应交互式视频内容的展示 | |
WO2023279917A1 (zh) | 弹幕显示方法、弹幕发送方法、装置、计算机设备、计算机可读存储介质及计算机程序产品 | |
CN110496391B (zh) | 信息同步方法及装置 | |
CN112619130B (zh) | 一种游戏的多场景回放方法及装置 | |
CN108154197B (zh) | 实现虚拟场景中图像标注验证的方法及装置 | |
CN110830735A (zh) | 一种视频生成方法、装置、计算机设备和存储介质 | |
JP6379107B2 (ja) | 情報処理装置並びにその制御方法、及びプログラム | |
KR20220062095A (ko) | 랙 검출 방법 및 장치, 디바이스, 판독 가능형 저장 매체 | |
CN112672200A (zh) | 视频生成方法和装置、电子设备和存储介质 | |
CN111359220B (zh) | 游戏广告生成方法、装置和计算机设备 | |
CN113824983A (zh) | 数据匹配方法、装置、设备及计算机可读存储介质 | |
CN114344918A (zh) | 基于虚拟场景的数据录制方法、装置、设备、介质及产品 | |
CN113274727B (zh) | 直播交互方法、装置和存储介质及电子设备 | |
CN114584821A (zh) | 视频处理方法及装置 | |
CN110601850B (zh) | 一种景点信息记录方法及相关设备、存储介质 | |
CN113117339A (zh) | 一种数据处理方法、装置、服务器及存储介质 | |
KR102293619B1 (ko) | 서버 장치, 및 그것에 사용되는 컴퓨터 프로그램 | |
US11013995B2 (en) | Qualified video delivery methods | |
CN114095785A (zh) | 视频播放方法、装置及计算机设备 | |
JP6789581B2 (ja) | サーバ装置、動画配信システム、それに用いられる制御方法及びコンピュータプログラム | |
CN111666793A (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 |