CN111603771B - 动画生成方法、装置、设备及介质 - Google Patents
动画生成方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN111603771B CN111603771B CN202010441006.8A CN202010441006A CN111603771B CN 111603771 B CN111603771 B CN 111603771B CN 202010441006 A CN202010441006 A CN 202010441006A CN 111603771 B CN111603771 B CN 111603771B
- Authority
- CN
- China
- Prior art keywords
- view
- animation
- field picture
- visual field
- terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种动画生成方法、装置、设备及介质,属于计算机技术领域。本申请实施例能够在虚拟场景中发生目标事件时,自动截取视野画面,得到视野画面序列,进而根据视野画面序列生成位图图形动画,无需用户手动操作,即可自动根据虚拟场景中的情况自动生成位图图形动画,因而,减少了人工成本,去除了人为可能发生的错误估计,因而,能够准确识别到需要录制的内容,从而准确生成动画,提高了生成动画的准确性和效果,且上述过程通过截取得到视野画面序列,生成位图图形动画,相较于视频动画,不会对终端性能产生过大的消耗,不会对视野画面的显示效果造成影响。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种动画生成方法、装置、设备及介质。
背景技术
随着计算机技术的发展以及终端功能的多样化,在终端上能够进行的游戏种类越来越多。其中,MOBA(Multiplayer Online Battle Arena,多人在线战术竞技)游戏是一种比较盛行的游戏,终端可以在界面中当前控制的虚拟对象的视野画面,用户还可以根据视野画面生成对应的动画。
目前,动画生成方法通常是由用户使用录制工具,在终端界面中进行开始录制操作,终端检测到该开始录制操作时,能够开始录制,如果想要结束录制,需要用户在终端界面中进行结束录制操作,从而结束对视野画面的录制,得到录制的视频动画。
上述动画生成方法中,录制工具需要用户手动操作,从而阻碍该用户的其他操作,且由用户手动操作,可能会出现错过一些想要录制的内容,或者录制了很多不需要的内容,因而,上述动画生成方法的人工成本高,生成结果无法准确满足用户需求,生成动画的准确性差,效果不好,且使用上述录制工具对终端性能消耗较大,进而影响到视野画面的显示效果。
发明内容
本申请实施例提供了一种动画生成方法、装置、设备及介质,能够降低动画生成的成本,提高生成动画的准确性。该技术方案如下:
一方面,提供了一种动画生成方法,该方法包括:
响应于虚拟场景中的目标事件,获取视野画面截取指令;
响应于所述视野画面截取指令,截取目标时间段内的视野画面,得到视野画面序列;
基于所述视野画面序列,获取所述视野画面序列对应的位图图形动画。
一方面,提供了一种动画生成方法,该方法包括:
接收虚拟场景中的事件;
响应于所述事件为目标事件,向终端发送视野画面截取指令;
接收所述终端响应于所述视野画面截取指令得到的视野画面序列;
基于所述视野画面序列,生成对应的位图图形动画。
一方面,提供了一种动画生成装置,该装置包括:
指令获取模块,用于响应于虚拟场景中的目标事件,获取视野画面截取指令;
画面截取模块,用于响应于所述视野画面截取指令,截取目标时间段内的视野画面,得到视野画面序列;
动画获取模块,用于基于所述视野画面序列,获取所述视野画面序列对应的位图图形动画。
在一种可能实现方式中,动画获取模块用于执行下述任一项:
向服务器发送所述视野画面序列,由所述服务器基于所述视野画面序列,生成对应的位图图形动画,获取所述服务器生成的所述位图图形动画;
基于所述视野画面序列,生成对应的位图图形动画。
在一种可能实现方式中,所述基于所述视野画面序列,生成对应的位图图形动画,包括:
在位图图形文件中存储所述视野画面序列中的第一帧视野画面;
对于相邻两帧视野画面,获取所述相邻两帧视野画面的差异图块;
在所述位图图形文件中存储第一视野画面相较于第二视野画面的差异图块,所述第一视野画面为所述相邻两帧视野画面中截取时间在后的视野画面,所述第二视野画面为所述相邻两帧视野画面中截取时间在前的视野画面。
在一种可能实现方式中,所述在所述位图图形文件中存储第一视野画面相较于第二视野画面的差异图块,包括:
根据所述第一视野画面相较于画布的目标位置的偏移量,对所述第一视野画面的边缘区域中与所述第二视野画面中相同的区域进行裁剪,将所述第一视野画面除了边缘区域之外的中间区域中与所述第二视野画面中相同的像素点设置为透明像素点,所述透明像素点的通道数量为零。
在一种可能实现方式中,所述获取所述服务器生成的所述位图图形动画,包括:
接收所述服务器发送的所述位图图形动画的存储地址;
响应于基于所述存储地址的动画下载指令,从所述存储地址处,下载所述位图图形动画。
在一种可能实现方式中,所述动画获取模块用于:
将所述视野画面序列中的视野画面的尺寸缩小为目标尺寸;
基于所述目标尺寸的视野画面序列,执行所述获取所述视野画面序列对应的位图图形动画的步骤。
在一种可能实现方式中,所述目标时间段为从所述目标事件发生时刻开始、时长为目标时长的时间段;
所述画面截取模块用于响应于所述视野画面截取指令,从所述目标事件发生时刻开始截取视野画面,直至截取时间达到目标时长结束,得到所述视野画面序列。
在一种可能实现方式中,所述画面截取模块用于响应于所述视野画面截取指令,基于钩子函数调用图形绘制应用程序接口,在目标时间段内对视野画面进行截图,得到视野画面序列。
在一种可能实现方式中,所述指令获取模块用于执行下述任一项:
响应于虚拟场景中虚拟对象完成目标任务,执行所述获取视野画面截取指令的步骤;
响应于虚拟场景中虚拟对象的任务进度到达目标进度,执行所述获取视野画面截取指令的步骤;
响应于虚拟场景中虚拟对象淘汰了其他虚拟对象,执行所述获取视野画面截取指令;
响应于虚拟场景中虚拟对象正在与其他虚拟对象交互,且所述其他虚拟对象的属性值发生变化,执行所述获取视野画面截取指令的步骤;
响应于虚拟场景中的数据需要发送,执行所述获取视野画面截取指令的步骤。
在一种可能实现方式中,所述指令获取模块用于:
响应于虚拟场景中的事件,向服务器发送所述事件;
接收视野画面截取指令,所述视野画面截取指令由所述服务器在所述事件为目标事件时发送。
在一种可能实现方式中,所述指令获取模块还用于响应于视野画面截取操作,获取所述视野画面截取指令;
所述画面截取模块和动画获取模块用于响应于所述视野画面截取指令,执行所述视野画面的截取步骤和位图图形动画的获取步骤。
一方面,提供了一种动画生成装置,该装置包括:
接收模块,用于接收虚拟场景中的事件;
发送模块,用于响应于所述事件为目标事件,向终端发送视野画面截取指令;
所述接收模块,还用于接收所述终端响应于所述视野画面截取指令得到的视野画面序列;
生成模块,用于基于所述视野画面序列,生成对应的位图图形动画。
一方面,提供了一种电子设备,该电子设备包括一个或多个处理器和一个或多个存储器,该一个或多个存储器中存储有至少一条程序代码,该至少一条程序代码由该一个或多个处理器加载并执行以实现如上述任一种可能实现方式的动画生成方法所执行的操作。
一方面,提供了一种存储介质,该存储介质中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行以实现如上述任一种可能实现方式的动画生成方法所执行的操作。
本申请实施例提供的技术方案带来的有益效果至少包括:
本申请实施例能够在虚拟场景中发生目标事件时,自动截取视野画面,得到视野画面序列,进而根据视野画面序列生成位图图形动画,无需用户手动操作,即可自动根据虚拟场景中的情况自动生成位图图形动画,因而,减少了人工成本,去除了人为可能发生的错误估计,因而,能够准确识别到需要录制的内容,从而准确生成动画,提高了生成动画的准确性和效果,且上述过程通过截取得到视野画面序列,生成位图图形动画,相较于视频动画,不会对终端性能产生过大的消耗,不会对视野画面的显示效果造成影响。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种动画生成方法的实施环境示意图;
图2是本申请实施例提供的一种动画生成方法的流程图;
图3是本申请实施例提供的一种动画生成方法的流程图;
图4是本申请实施例提供的一种动画生成方法的流程图;
图5是本申请实施例提供的一种终端界面示意图;
图6是本申请实施例提供的一种终端界面示意图;
图7是本申请实施例提供的一种动画生成方法的流程图;
图8是本申请实施例提供的一种动画生成方法的实施框架以及流程图;
图9是本申请实施例提供的一种动画生成方法的流程图;
图10是本申请实施例提供的一种动画下载和分享过程的流程图;
图11是本申请实施例提供的一种动画生成装置的结构示意图;
图12是本申请实施例提供的一种动画生成装置的结构示意图;
图13是本申请实施例提供的一种终端1300的结构示意图;
图14是本申请实施例提供的一种服务器1400的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
本申请中术语“至少一个”是指一个或一个以上,“至少两个”是指两个或两个以上,例如,至少两个节点设备是指两个或两个以上的节点设备。
以下,对本申请涉及到的术语进行解释。
虚拟场景:是应用程序在终端上运行时显示(或提供)的虚拟场景。该虚拟场景可以是对真实世界的仿真环境,也可以是半仿真半虚构的虚拟环境,还可以是纯虚构的虚拟环境。虚拟场景可以是二维虚拟场景、2.5维虚拟场景或者三维虚拟场景中的任意一种,本申请实施例对虚拟场景的维度不加以限定。例如,虚拟场景可以包括天空、陆地、海洋等,该陆地可以包括沙漠、城市等环境元素,用户可以控制虚拟对象在该虚拟场景中进行移动。可选地,该虚拟场景还可以用于至少两个虚拟对象之间的虚拟场景对战,在该虚拟场景中具有可供至少两个虚拟对象使用的虚拟资源。可选地,该虚拟场景中可以包括对称的两个区域,属于两个敌对阵营的虚拟对象分别占据其中一个区域,并以摧毁对方区域深处的目标建筑/据点/基地/水晶来作为胜利目标,其中,对称的区域比如左下角区域和右上角区域,又比如左侧中部区域和右侧中部区域等。
虚拟对象:是指在虚拟场景中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物等,比如:在虚拟场景中显示的人物、动物、植物、油桶、墙壁、石块等。该虚拟对象可以是该虚拟场景中的一个虚拟的用于代表用户的虚拟形象。在虚拟场景中可以包括多个虚拟对象,每个虚拟对象在虚拟场景中具有自身的形状和体积,占据虚拟场景中的一部分空间。可选地,当虚拟场景为三维虚拟场景时,可选地,虚拟对象可以是一个三维立体模型,该三维立体模型可以是基于三维人体骨骼技术构建的三维角色,同一个虚拟对象可以通过穿戴不同的皮肤来展示出不同的外在形象。在一些实施例中,虚拟对象也可以采用2.5维或2维模型来实现,本申请实施例对此不加以限定。
可选地,该虚拟对象可以是通过客户端上的操作进行控制的玩家角色,也可以是通过训练设置在虚拟场景对战中的人工智能(Artificial Intelligence,AI),还可以是设置在虚拟场景互动中的非玩家角色(Non-Player Character,NPC)。可选地,该虚拟对象可以是在虚拟场景中进行竞技的虚拟人物。可选地,该虚拟场景中参与互动的虚拟对象的数量可以是预先设置的,也可以是根据加入互动的客户端的数量动态确定的。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
计算机视觉技术(Computer Vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实等技术。
以下,对本申请涉及的系统架构进行介绍。
图1是本申请实施例提供的一种动画生成方法的实施环境示意图。参见图1,该实施环境包括:第一终端120、服务器140和第二终端160。
第一终端120安装和运行有支持虚拟场景的应用程序。该应用程序可以是多人在线战术竞技游戏(Multiplayer Online Battle Arena games,MOBA)、虚拟现实应用程序、二维或三维地图程序、仿真程序中的任意一种。当然,该应用程序还可以为其他程序,例如,多人枪战类生存游戏,本申请实施例对此不作限定。第一终端120可以是第一用户使用的终端,第一用户使用第一终端120操作位于虚拟场景中的第一虚拟对象进行活动,该活动包括但不限于:步行、奔跑、调整身体姿态、普通攻击、施放技能中的至少一种。当然,该活动还可以包括其他项,例如,射击、投掷等,本申请实施例对此不作具体限定。示意性的,第一虚拟对象是第一虚拟人物,比如仿真人物角色或动漫人物角色。示意性的,第一虚拟对象可以是第一虚拟动物,比如仿真猴子或者其他动物等。
第一终端120以及第二终端160通过无线网络或有线网络与服务器140相连。
服务器140可以包括一台服务器、多台服务器、云计算平台或者虚拟化中心中的至少一种。服务器140用于为支持虚拟场景的应用程序提供后台服务。可选地,服务器140可以承担主要计算工作,第一终端120和第二终端160可以承担次要计算工作;或者,服务器140承担次要计算工作,第一终端120和第二终端160承担主要计算工作;或者,服务器140、第一终端120和第二终端160三者之间采用分布式计算架构进行协同计算。
其中,服务器140可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。第一终端120和第二终端160可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。第一终端120、第二终端160可以与服务器通过有线或无线通信方式进行直接或间接地连接,本申请实施例在此不做限制。
示意性的,第一终端120和第二终端160可以将产生的数据发送至服务器140,服务器140可以对自身产生的数据与终端产生的数据进行校验,如果与任一终端的校验结果指示数据不一致,则可以将服务器产生的数据发送至任一终端,该任一终端以服务器产生的数据为准。
在一种可能实现方式中,第一终端120和第二终端160可以根据用户的触发操作,确定每一帧虚拟场景,并将虚拟场景发送至服务器140,也可以将用户的触发操作的信息发送至服务器140,服务器140可以接收该触发操作的信息和虚拟场景,根据该触发操作,确定虚拟场景,与终端上传的虚拟场景进行对比,如果一致,则可以继续后续计算;如果不一致,则可以将自身确定的虚拟场景发送至各个终端进行同步。在一个具体的可能实施例中,服务器140还可以根据该触发操作的信息,确定各个终端的下一帧虚拟场景,将下一帧虚拟场景发送至各个终端,使得各个终端执行相应的步骤,得到与服务器140确定的下一帧虚拟场景一致的虚拟场景。
第二终端160安装和运行有支持虚拟场景的应用程序。该应用程序可以是多人在线战术竞技游戏(Multiplayer Online Battle Arena games,MOBA)、虚拟现实应用程序、二维或三维地图程序、仿真程序中的任意一种。当然,该应用程序还可以为其他程序,例如,多人枪战类生存游戏,本申请实施例对此不作限定。第二终端160可以是第二用户使用的终端,第二用户使用第二终端160操作位于虚拟场景中的第二虚拟对象进行活动,该活动包括但不限于:步行、奔跑、调整身体姿态、普通攻击、施放技能中的至少一种。当然,该活动还可以包括其他项,例如,射击、投掷等,本申请实施例对此不作具体限定。示意性的,第二虚拟对象是第二虚拟人物,比如仿真人物角色或动漫人物角色。示意性的,第二虚拟对象可以是第二虚拟动物,比如仿真猴子或者其他动物等。
可选地,第一终端120控制的第一虚拟对象和第二终端160控制的第二虚拟对象处于同一虚拟场景中,此时第一虚拟对象可以在虚拟场景中与第二虚拟对象进行互动。在一些实施例中,第一虚拟对象以及第二虚拟对象可以为敌对关系,例如,第一虚拟对象与第二虚拟对象可以属于不同的队伍、组织或阵营,敌对关系的虚拟对象之间,可以在虚拟场景中的任一位置通过施放技能进行对战方式的互动。
在另一些实施例中,该第二虚拟对象也可以与该第一虚拟对象为队友关系,例如,第一虚拟人物和第二虚拟人物可以属于同一个队伍、同一个组织、同一个阵营、具有好友关系或具有临时性的通讯权限。
可选地,第一终端120和第二终端160上安装的应用程序是相同的,或两个终端上安装的应用程序是不同操作系统平台的同一类型应用程序。第一终端120可以泛指多个终端中的一个,第二终端160可以泛指多个终端中的一个,本实施例仅以第一终端120和第二终端160来举例说明。第一终端120和第二终端160的设备类型相同或不同,该设备类型包括:智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group AudioLayer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture ExpertsGroup Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机中的至少一种。例如,第一终端120和第二终端160可以是智能手机,或者其他手持便携式游戏设备。以下实施例,以终端包括智能手机来举例说明。
本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。本申请实施例对终端的数量和设备类型不加以限定。
图2是本申请实施例提供的一种动画生成方法的流程图,该方法应用于电子设备,电子设备可以为终端,也可以为服务器,本申请实施例对此不作限定,本实施例中,以应用于终端为例进行说明。参见图2,该方法可以包括以下步骤。
201、终端响应于虚拟场景中的目标事件,获取视野画面截取指令。
在本申请实施例中,终端可以根据虚拟场景中的事件发生情况,来判断是否需要进行视野画面截取步骤。具体的,终端可以在虚拟场景中发生了目标事件时,截取目标时间段内的视野画面,根据截取到的视野画面生成对应的位图图形动画,通过该位图图形动画来动态表示该目标时间段内的视野画面变化情况。
其中,该目标事件可以虚拟场景中发生的事件,用于表示该虚拟场景中发生的某个现象,例如,该目标事件可以为虚拟对象完成了某项任务,又或者,该目标事件可以为虚拟对象淘汰了其他虚拟对象。该视野画面截取指令用于指示该终端截取目标时间段内的视野画面。
202、终端响应于该视野画面截取指令,截取目标时间段内的视野画面,得到视野画面序列。
终端获取到视野画面截取指令后,即可响应于该视野画面截取指令,执行视野画面截取步骤。具体的,终端可以在目标时间段内对终端界面中显示的视野画面进行截图,得到多帧视野画面,该多帧视野画面构成视野画面序列。
在一种可能实现方式中,该视野画面序列中的视野画面可以按照截取时间排列,通过该视野画面序列能够获知该目标时间段内视野画面中各种界面元素的变化情况,例如,可以获知该目标时间段内终端所控制的虚拟对象的运动轨迹。
203、终端基于该视野画面序列,获取该视野画面序列对应的位图图形动画。
终端通过截取视野画面,得到视野画面序列后,可以将该视野画面序列转换为位图图形动画,从而将视野画面序列中的多帧视野画面连贯起来,能够动态地、直观地表示目标时间段内视野画面中各种界面元素的变化情况。该位图图形动画相较于视频动画,不会对终端性能产生过大的消耗,不会对视野画面的显示效果造成影响。
该终端获取的该位图图形动画可以由终端生成,也可以由服务器生成后发送至该终端,因而,该步骤203可以包括以下两种情况。
情况一、终端基于该视野画面序列,生成对应的位图图形动画。
在该情况一中,该位图图形动画由该终端生成,该位图图形动画的具体生成过程可以参见下述步骤410,在此先不具体阐述。
情况二、终端向服务器发送该视野画面序列,由该服务器基于该视野画面序列,生成对应的位图图形动画,终端获取该服务器生成的该位图图形动画。
在该情况二中,可以由服务器执行位图图形动画的生成步骤,再讲位图图形动画提供给终端。针对该情况二中,服务器执行的步骤可以参见下述图3所示实施例,终端与服务器之间进行交互,完成动画生成的过程可以参见下述图4所示实施例。
本申请实施例能够在虚拟场景中发生目标事件时,自动截取视野画面,得到视野画面序列,进而根据视野画面序列生成位图图形动画,无需用户手动操作,即可自动根据虚拟场景中的情况自动生成位图图形动画,因而,减少了人工成本,去除了人为可能发生的错误估计,因而,能够准确识别到需要录制的内容,从而准确生成动画,提高了生成动画的准确性和效果,且上述过程通过截取得到视野画面序列,生成位图图形动画,相较于视频动画,不会对终端性能产生过大的消耗,不会对视野画面的显示效果造成影响。
上述图2所示实施例中对动画生成过程进行了说明,其中,步骤203中,位图图形动画可以由终端生成,也可以由服务器生成,终端从服务器中获取。下面通过图3所示实施例,对由服务器生成位图图形动画的方式中服务器所执行的步骤进行说明。
图3是本申请实施例提供的一种动画生成方法的流程图,该动画生成方法应用于服务器中,参见图3,该方法可以包括以下步骤。
301、服务器接收虚拟场景中的事件。
本申请实施例中,终端可以检测虚拟场景中的事件,并将其发送至服务器,由服务器判断该事件是否为目标事件,从而确定是否触发动画生成步骤。也即是,该虚拟场景中的事件可以由终端检测得到并发送至该服务器。
302、服务器响应于该事件为目标事件,向终端发送视野画面截取指令。
该目标事件能够触发动画生成步骤,虚拟场景中发生目标事件时,能够自动截取视野画面,生成对应的位图图形动画,通过自动检测到目标事件进行视野画面截取步骤,可以减少人工成本,无需由用户手动操作触发,减少了人工成本,去除了人为可能发生的错误估计,因而,能够准确识别到需要录制的内容,从而准确生成动画。
服务器在确定该事件为目标事件时,可以向终端发送该视野画面截取指令,来指令该终端截取目标时间段内的视野画面,得到生成动画所需的视野画面序列。
303、服务器接收该终端响应于该视野画面截取指令得到的视野画面序列。
上述步骤302后,终端接收到视野画面截取指令,可以执行上述步骤202,并将视野画面序列发送至服务器,进而服务器可以执行该步骤303,接收到该视野画面序列。
304、服务器基于该视野画面序列,生成对应的位图图形动画。
服务器接收到该视野画面序列后,可以根据该视野画面序列生成对应的位图图形动画。该位图图形动画相较于视频动画,不会对终端性能产生过大的消耗,不会对视野画面的显示效果造成影响。其中,该位图图形动画的具体生成过程可以参见下述步骤410,在此先不具体阐述。
在一种可能实现方式中,服务器生成该位图图形动画后,可以将该位图图形动画发送终端,也可以存储该位图图形动画或者将该位图图形动画发送至其他服务器进行存储,并将存储地址发送至该终端,由于终端根据用户操作确定是否下载该位图图形动画,本申请实施例对具体采用哪种方式不作限定。
本申请实施例能够在虚拟场景中发生目标事件时,根据自动截取视野画面得到的视野画面序列,生成对应的位图图形动画,无需用户手动操作,即可自动根据虚拟场景中的情况自动生成位图图形动画,因而,减少了人工成本,去除了人为可能发生的错误估计,因而,能够准确识别到需要录制的内容,从而准确生成动画,提高了生成动画的准确性和效果,且上述过程通过截取得到视野画面序列,生成位图图形动画,相较于视频动画,不会对终端性能产生过大的消耗,不会对视野画面的显示效果造成影响。
上述图2实施例和图3实施例对该动画生成方法应用于终端和服务器时的方法流程进行了说明,下面通过图4对上述方法流程进行进一步说明,在本实施例中,以动画生成过程由服务器执行为例进行说明。图4是本申请实施例提供的一种动画生成方法的流程图,参见图4,该方法可以包括:
401、终端检测虚拟场景中的事件。
该虚拟场景中可能会发生各种各样的事件,例如,虚拟对象运动到了某个位置,又例如,虚拟对象淘汰了其他虚拟对象等。终端可以检测该虚拟场景中的事件,后续基于检测到的事件进行动画生成步骤是否执行的判断。
具体地,如果该事件为目标事件,则可以触发执行动画生成步骤,如果该事件不是目标事件,则无需执行动画生成步骤。
402、终端向服务器发送该虚拟场景中的事件。
终端检测到事件后,可以将事件发送给服务器,由服务器来判断事件是否为目标事件,以及后续需要执行哪些步骤。
在一个具体的可能实施例中,该动画生成方法可以应用于电子游戏场景中,该终端上可以安装有电子游戏应用(或电子游戏客户端),该服务器可以为该电子游戏的游戏平台所在服务器,该游戏平台可以为该电子游戏应用提供数据服务,以及数据处理服务。
403、服务器接收到该虚拟场景中的事件。
404、服务器判断该事件是否为目标事件,如果是,执行步骤405,如果否,继续上述步骤401至403。
服务器接收到终端发送的事件后,可以判断其是否为目标事件。其中,目标事件能够触发动画生成过程,则该步骤404中,服务器判断是否需要执行动画生成步骤。
具体地,如果该事件为目标事件,可以执行动画生成步骤,则服务器可以执行步骤405中的步骤,指示终端截取视野画面,以获取到动画生成所需的视野画面序列。如果该事件不是目标事件,则服务器可以不执行任何步骤,终端可以在再次检测到事件时,执行上述步骤401,服务器可以再次执行步骤402和步骤403。
405、服务器向终端发送视野画面截取指令。
406、终端接收该视野画面截取指令。
上述步骤401至步骤406为终端响应于虚拟场景中的事件,向服务器发送该事件,接收视野画面截取指令的过程,也即是响应于虚拟场景中的目标事件,获取视野画面截取指令的过程,其中,该视野画面截取指令由该服务器在该事件为目标事件时发送。上述过程仅以终端通过服务器判断事件是否为目标事件,进而判断是否进行动画生成步骤为例进行说明,在一种可能实现方式中,该过程中,终端也可以响应于虚拟场景中的目标事件,接收该事件触发的视野画面截取指令,本申请实施例对此不作限定。
针对该目标事件,下面提供几种可能的目标事件,因而上述过程可以为下述情况中的任一种情况。
情况一、终端响应于虚拟场景中虚拟对象完成目标任务,执行该获取视野画面截取指令的步骤。在该情况一中,该目标事件可以为虚拟对象完成目标任务。该情况中,虚拟对象完成特定任务,可以触发动画生成步骤。
情况二、终端响应于虚拟场景中虚拟对象的任务进度到达目标进度,执行该获取视野画面截取指令的步骤。在该情况二中,该目标事件可以为虚拟对象的任务进度到达目标进度。该情况中,虚拟对象可以完成某个任务,并监测该虚拟对象完成任务的任务进度。例如,该任务进度可以被划分为多个阶段,每完成一个阶段,可以对虚拟对象完成该阶段进行记录,后续如果下一个阶段的任务未成功完成,可以从下一个阶段处继续进行任务,而无需从任务最开始进行任务。
在一个具体示例中,在电子游戏场景中,该多个阶段的任务可以设置有存档点,例如,在每个阶段任务的最后时刻可以设置有存档点,如图5所示,终端可以控制虚拟对象在虚拟场景中奔跑,奔跑过程中需要跨越很多障碍,或者躲避摔落位置等。在整个奔跑路线上可以设置有多个存档点,图5中即包括一个存档点,该虚拟对象到达该存档点时,终端可以记录该虚拟对象的任务进度,将其更新为已完成该存档点之间的路线。如果虚拟对象在存档点后某个位置掉落,需要重新执行奔跑任务时,可以从该存档点开始继续奔跑。
在该情况二中,如果虚拟对象到达存档点时,终端可以判断发生了目标事件,继而执行后续的动画生成步骤。
情况三、终端响应于虚拟场景中虚拟对象淘汰了其他虚拟对象,执行该获取视野画面截取指令。在情况三中,该目标事件可以为虚拟对象淘汰了其他虚拟对象。该情况中,如果虚拟对象淘汰了其他虚拟对象,终端可以通过动画生成步骤,记录下这个精彩的片段,以便于用户反复查看或分享给其他人。
情况四、终端响应于虚拟场景中虚拟对象正在与其他虚拟对象交互,且该其他虚拟对象的属性值发生变化,执行该获取视野画面截取指令的步骤。在该情况四中,该目标事件可以为虚拟对象对其他虚拟对象造成影响。例如,虚拟对象正在打击其他虚拟对象,并使得该其他虚拟对象的虚拟生命值降低,可以执行动画生成过程,来记录该虚拟对象如何对其他虚拟对象造成的伤害。
情况五、终端响应于虚拟场景中的数据需要发送,执行该获取视野画面截取指令的步骤。在该情况五中,该目标事件可以为有数据需要发送。该情况中,可能虚拟场景中的情况进行到了一定程度,需要向服务器发送数据(例如,需要向服务器发送这一段时间产生数据生成的数据包),则可以通过动画生成过程对这段时间或者后续的时间段内虚拟场景的变化情况进行记录。
407、终端响应于该视野画面截取指令,截取目标时间段内的视野画面,得到视野画面序列。
终端接收到视野画面截取指令后,即可截图得到该视野画面序列。
在一种可能实现方式中,该目标时间段可以为从该目标事件发生时刻开始、时长为目标时长的时间段。例如,该目标时长可以由相关技术人员根据需求进行设置,例如,该目标时长可以为3秒,本申请实施例对此不作限定。
在该实现方式中,该步骤407可以为终端响应于该视野画面截取指令,从该目标事件发生时刻开始截取视野画面,直至截取时间达到目标时长结束,得到该视野画面序列。
具体的,该截取过程可以为:终端响应于该视野画面截取指令,基于钩子(hook)函数调用图形绘制应用程序接口(API),在目标时间段内对视野画面进行截图,得到视野画面序列。
408、终端向服务器发送该视野画面序列。
409、服务器接收该视野画面序列。
410、服务器基于该视野画面序列,生成对应的位图图形动画。
服务器接收到视野画面序列后,可以执行动画生成步骤,将视野画面序列转换为位图图形动画,来更直观地、连贯地表达该目标时间段内视野画面的变化情况。
在一种可能实现方式中,该位图图形动画可以为GIF(Graphics InterchangeFormat,图像互换格式)动画,也即是一个GIF文件。
具体地,可以通过存储差异图块的方式来减少生成的GIF动画的大小,进而提高生成效率,减少性能消耗。具体的,服务器可以在位图图形文件(GIF文件)中存储该视野画面序列中的第一帧视野画面,对于相邻两帧视野画面,获取该相邻两帧视野画面的差异图块,在该位图图形文件中存储第一视野画面相较于第二视野画面的差异图块,该第一视野画面为该相邻两帧视野画面中截取时间在后的视野画面,该第二视野画面为该相邻两帧视野画面中截取时间在前的视野画面。也即是,服务器存储第一帧视野画面,对于后续的视野画面,可以与前一帧视野画面计算差异图块,存储该视野画面的差异信息即可。
其中,对于该差异图块的获取过程,服务器可以根据该第一视野画面相较于画布的目标位置的偏移量,对该第一视野画面的边缘区域中与该第二视野画面中相同的区域进行裁剪,将该第一视野画面除了边缘区域之外的中间区域中与该第二视野画面中相同的像素点设置为透明像素点,该透明像素点的通道数量为零,这样将第一视野画面中与前一帧视野画面(第二视野画面中相同的部分去除),仅保留差异的部分,能够使图像压缩率更高。
在一种可能实现方式中,服务器还可以将该视野画面序列中的视野画面的尺寸缩小为目标尺寸,基于该目标尺寸的视野画面序列,执行该获取该视野画面序列对应的位图图形动画的步骤。例如,将游戏画面缩小比如从2560*1440缩小到480*270,则GIF文件2兆(M)以内,就非常适合网络上分享。
411、服务器向该终端发送该位图图形动画。
412、终端接收该位图图形动画。
该步骤412中,终端可以接收该服务器发送的该位图图形动画的存储地址,如果用户想要下载可以进行下载操作,终端可以响应于基于该存储地址的动画下载指令,从该存储地址处,下载该位图图形动画。例如,如图6所示,可以在浏览器中提供该位图图形动画的存储地址,以供下载。
上述仅以终端自动检测到目标事件时,终端和服务器可以进行后续的动画生成步骤为例进行了说明,在一种可能实现方式中,该动画生成过程还可以由用户操作触发,也即是,终端可以响应于视野画面截取操作,获取该视野画面截取指令,响应于该视野画面截取指令,执行该视野画面的截取步骤和位图图形动画的获取步骤。
当然,用户下载该位图图形动画后,还可以将其发送至一些网络平台,或者通过社交应用发送给其他用户。具体的,终端可以响应于对该位图图形动画的分享指令,将该位图图形动画发送至该分享指令所指示的其他用户所在终端或者网络平台地址。
本申请实施例能够在虚拟场景中发生目标事件时,自动截取视野画面,得到视野画面序列,进而根据视野画面序列生成位图图形动画,无需用户手动操作,即可自动根据虚拟场景中的情况自动生成位图图形动画,因而,减少了人工成本,去除了人为可能发生的错误估计,因而,能够准确识别到需要录制的内容,从而准确生成动画,提高了生成动画的准确性和效果,且上述过程通过截取得到视野画面序列,生成位图图形动画,相较于视频动画,不会对终端性能产生过大的消耗,不会对视野画面的显示效果造成影响。
针对上述动画生成过程,在游戏场景中可以如图7和图8所示,游戏客户端的模块说明具体如下:
(1)游戏模块,指玩家玩的游戏,游戏进行到不同的阶段会产生特定的游戏事件。
(2)游戏画面捕获器,游戏平台嵌入到游戏客户端的程序,通过Hook游戏或者操作系统的图形绘制API对游戏窗口进行截图,获取游戏的每一帧图像画面。游戏画面捕获器收到游戏平台客户端截图命令后开始抓图,然后将捕获的图像序列通过共享内存传给游戏平台客户端的GIF编码器。
对于游戏平台客户端模块说明如下:
(1)游戏热点事件识别器,游戏在经过特定的场景会触发特定的事件,例如游戏存档会生成文件;也可以破解游戏得到游戏事件,例如玩家击杀怪物,怪物掉血等会修改怪物对象属性或者有某个数据包对外发送。识别到这些事件就可以开始GIF录制。
(2)GIF文件编码器,能够根据图像序列生成GIF动画。GIF编码器将捕捉到的游戏画面生成GIF动画。为压缩GIF文件,可以利用GIF文件存储差异图块与设置图块偏移的规则,计算出相邻2帧的差异图块,后面的帧只存储差异部分。由于GIF帧可以设置当前帧的相对于画布左上角的偏移,可以裁剪掉当前帧图像外围与前一帧图像完全相同的部分,替换中间图块中与前一帧色值相同的像素点为透明色,使图像压缩率更高。此处透明色必须找出后一帧图像中没有的颜色,最后GIF最高只能是8比特(bit)的索引图,原来不是透明像素使用逼近算法计算当前像素的索引值时,不能计算到透明色的索引。这样在压缩图像的时才能保证图像正确。由于游戏画面太大会使得GIF文件生成出来比较大(比如50帧的2560*1440像素的GIF达到40M),因此可以将游戏画面缩小比如从2560*1440缩小到480*270(即目标尺寸),则GIF文件2M以内,就非常适合网络上分享。
(3)GIF文件浏览器,游戏平台将生成的GIF存储到本地或者存储到服务器,WeGame客户端提供GIF文件浏览器,提供文件下载链接,玩家下载GIF动画文件。然后玩家也可以将GIF文件在网络或者常用的应用软件中查看和分享。
其中,GIF动画录制流程可以如图9所示,游戏启动后,游戏平台开始捕获需要录制GIF的游戏事件。游戏平台在游戏中截取一定时长的游戏画面序列图。游戏平台将获取到的序列图生成GIF动画文件。游戏平台将GIF动画文件存储到服务器。动画生成后浏览过程如图10所示。
在一种可能实现方式中,上述动画生成过程还可以基于人工智能实现,例如,终端可以获取视野画面序列后,将视野画面序列输入图像处理模型中,由该图像处理模型基于该视野画面序列生成对应的位图图形动画。
图11是本申请实施例提供的一种动画生成装置的结构示意图,该装置包括:
指令获取模块1101,用于响应于虚拟场景中的目标事件,获取视野画面截取指令;
画面截取模块1102,用于响应于该视野画面截取指令,截取目标时间段内的视野画面,得到视野画面序列;
动画获取模块1103,用于基于该视野画面序列,获取该视野画面序列对应的位图图形动画。
在一种可能实现方式中,动画获取模块1103用于执行下述任一项:
向服务器发送该视野画面序列,由该服务器基于该视野画面序列,生成对应的位图图形动画,获取该服务器生成的该位图图形动画;
基于该视野画面序列,生成对应的位图图形动画。
在一种可能实现方式中,该基于该视野画面序列,生成对应的位图图形动画,包括:
在位图图形文件中存储该视野画面序列中的第一帧视野画面;
对于相邻两帧视野画面,获取该相邻两帧视野画面的差异图块;
在该位图图形文件中存储第一视野画面相较于第二视野画面的差异图块,该第一视野画面为该相邻两帧视野画面中截取时间在后的视野画面,该第二视野画面为该相邻两帧视野画面中截取时间在前的视野画面。
在一种可能实现方式中,该在该位图图形文件中存储第一视野画面相较于第二视野画面的差异图块,包括:
根据该第一视野画面相较于画布的目标位置的偏移量,对该第一视野画面的边缘区域中与该第二视野画面中相同的区域进行裁剪,将该第一视野画面除了边缘区域之外的中间区域中与该第二视野画面中相同的像素点设置为透明像素点,该透明像素点的通道数量为零。
在一种可能实现方式中,该获取该服务器生成的该位图图形动画,包括:
接收该服务器发送的该位图图形动画的存储地址;
响应于基于该存储地址的动画下载指令,从该存储地址处,下载该位图图形动画。
在一种可能实现方式中,该动画获取模块1103用于:
将该视野画面序列中的视野画面的尺寸缩小为目标尺寸;
基于该目标尺寸的视野画面序列,执行该获取该视野画面序列对应的位图图形动画的步骤。
在一种可能实现方式中,该目标时间段为从该目标事件发生时刻开始、时长为目标时长的时间段;
该画面截取模块1102用于响应于该视野画面截取指令,从该目标事件发生时刻开始截取视野画面,直至截取时间达到目标时长结束,得到该视野画面序列。
在一种可能实现方式中,该画面截取模块1102用于响应于该视野画面截取指令,基于钩子函数调用图形绘制应用程序接口,在目标时间段内对视野画面进行截图,得到视野画面序列。
在一种可能实现方式中,该指令获取模块1101用于执行下述任一项:
响应于虚拟场景中虚拟对象完成目标任务,执行该获取视野画面截取指令的步骤;
响应于虚拟场景中虚拟对象的任务进度到达目标进度,执行该获取视野画面截取指令的步骤;
响应于虚拟场景中虚拟对象淘汰了其他虚拟对象,执行该获取视野画面截取指令;
响应于虚拟场景中虚拟对象正在与其他虚拟对象交互,且该其他虚拟对象的属性值发生变化,执行该获取视野画面截取指令的步骤;
响应于虚拟场景中的数据需要发送,执行该获取视野画面截取指令的步骤。
在一种可能实现方式中,该指令获取模块1101用于:
响应于虚拟场景中的事件,向服务器发送该事件;
接收视野画面截取指令,该视野画面截取指令由该服务器在该事件为目标事件时发送。
在一种可能实现方式中,该指令获取模块还用于响应于视野画面截取操作,获取该视野画面截取指令;
该画面截取模块和动画获取模块用于响应于该视野画面截取指令,执行该视野画面的截取步骤和位图图形动画的获取步骤。
本申请实施例提供的装置,能够在虚拟场景中发生目标事件时,自动截取视野画面,得到视野画面序列,进而根据视野画面序列生成位图图形动画,无需用户手动操作,即可自动根据虚拟场景中的情况自动生成位图图形动画,因而,减少了人工成本,去除了人为可能发生的错误估计,因而,能够准确识别到需要录制的内容,从而准确生成动画,提高了生成动画的准确性和效果,且上述过程通过截取得到视野画面序列,生成位图图形动画,相较于视频动画,不会对终端性能产生过大的消耗,不会对视野画面的显示效果造成影响。
需要说明的是:上述实施例提供的动画生成装置在生成动画时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将电子设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的动画生成装置与动画生成方法实施例属于同一构思,其具体实现过程详见动画生成方法实施例,这里不再赘述。
图12是本申请实施例提供的一种动画生成装置的结构示意图,该装置包括:
接收模块1201,用于接收虚拟场景中的事件;
发送模块1202,用于响应于该事件为目标事件,向终端发送视野画面截取指令;
该接收模块1201,还用于接收该终端响应于该视野画面截取指令得到的视野画面序列;
生成模块1203,用于基于该视野画面序列,生成对应的位图图形动画。
需要说明的是:上述实施例提供的动画生成装置在生成动画时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将电子设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的动画生成装置与动画生成方法实施例属于同一构思,其具体实现过程详见动画生成方法实施例,这里不再赘述。
上述电子设备可以被提供为下述图13所示的终端,也可以被提供为下述图14所示的服务器,本申请实施例对此不作限定。
图13是本申请实施例提供的一种终端1300的结构示意图,该终端1300可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1300还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1300包括有:处理器1301和存储器1302。
处理器1301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1301可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1301可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1301还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1301所执行以实现本申请中各个实施例提供的动画生成方法中终端侧的方法步骤。
在一些实施例中,终端1300还可选包括有:外围设备接口1303和至少一个外围设备。处理器1301、存储器1302和外围设备接口1303之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1303相连。具体地,外围设备包括:射频电路1304、触摸显示屏1305、摄像头组件1306、音频电路1307和电源1309中的至少一种。
外围设备接口1303可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1301和存储器1302。在一些实施例中,处理器1301、存储器1302和外围设备接口1303被集成在同一芯片或电路板上;在一些其他实施例中,处理器1301、存储器1302和外围设备接口1303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1304用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1304通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1304包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1304可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1304还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1305用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1305是触摸显示屏时,显示屏1305还具有采集在显示屏1305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1301进行处理。此时,显示屏1305还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1305可以为一个,设置终端1300的前面板;在另一些实施例中,显示屏1305可以为至少两个,分别设置在终端1300的不同表面或呈折叠设计;在再一些实施例中,显示屏1305可以是柔性显示屏,设置在终端1300的弯曲表面上或折叠面上。甚至,显示屏1305还可以设置成非矩形的不规则图形,也即异形屏。显示屏1305可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1306用于采集图像或视频。可选地,摄像头组件1306包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1306还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1307可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1301进行处理,或者输入至射频电路1304以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1300的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1301或射频电路1304的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1307还可以包括耳机插孔。
电源1309用于为终端1300中的各个组件进行供电。电源1309可以是交流电、直流电、一次性电池或可充电电池。当电源1309包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1300还包括有一个或多个传感器1310。该一个或多个传感器1310包括但不限于:加速度传感器1311、陀螺仪传感器1312、压力传感器1313、光学传感器1315以及接近传感器1316。
加速度传感器1311可以检测以终端1300建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1311可以用于检测重力加速度在三个坐标轴上的分量。处理器1301可以根据加速度传感器1311采集的重力加速度信号,控制触摸显示屏1305以横向视图或纵向视图进行用户界面的显示。加速度传感器1311还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1312可以检测终端1300的机体方向及转动角度,陀螺仪传感器1312可以与加速度传感器1311协同采集用户对终端1300的3D动作。处理器1301根据陀螺仪传感器1312采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1313可以设置在终端1300的侧边框和/或触摸显示屏1305的下层。当压力传感器1313设置在终端1300的侧边框时,可以检测用户对终端1300的握持信号,由处理器1301根据压力传感器1313采集的握持信号进行左右手识别或快捷操作。当压力传感器1313设置在触摸显示屏1305的下层时,由处理器1301根据用户对触摸显示屏1305的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
光学传感器1315用于采集环境光强度。在一个实施例中,处理器1301可以根据光学传感器1315采集的环境光强度,控制触摸显示屏1305的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1305的显示亮度;当环境光强度较低时,调低触摸显示屏1305的显示亮度。在另一个实施例中,处理器1301还可以根据光学传感器1315采集的环境光强度,动态调整摄像头组件1306的拍摄参数。
接近传感器1316,也称距离传感器,通常设置在终端1300的前面板。接近传感器1316用于采集用户与终端1300的正面之间的距离。在一个实施例中,当接近传感器1316检测到用户与终端1300的正面之间的距离逐渐变小时,由处理器1301控制触摸显示屏1305从亮屏状态切换为息屏状态;当接近传感器1316检测到用户与终端1300的正面之间的距离逐渐变大时,由处理器1301控制触摸显示屏1305从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图13中示出的结构并不构成对终端1300的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图14是本申请实施例提供的一种服务器1400的结构示意图,该服务器1400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(CentralProcessing Units,CPU)1401和一个或一个以上的存储器1402,其中,该存储器1402中存储有至少一条程序代码,该至少一条程序代码由该处理器1401加载并执行以实现上述各个实施例提供的动画生成方法中服务器侧的方法步骤。当然,该服务器1400还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器1400还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括至少一条程序代码的存储器,上述至少一条程序代码可由电子设备中的处理器执行以完成上述实施例中动画生成方法。例如,该计算机可读存储介质可以是ROM(Read-Only Memory,只读存储器)、RAM(Random-Access Memory,随机存取存储器)、CD-ROM(Compact Disc Read-OnlyMemory,只读光盘)、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
上述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (5)
1.一种动画生成方法,其特征在于,应用于终端,所述方法包括:
响应于虚拟场景中发生任一事件,向服务器发送所述事件;
接收所述服务器返回的视野画面截取指令,所述视野画面截取指令由所述服务器在所述事件为目标事件时发送,其中,所述目标事件为虚拟对象完成目标任务、虚拟对象的任务进度到达目标进度、虚拟对象淘汰了其他虚拟对象、虚拟对象正在与其他虚拟对象交互且所述其他虚拟对象的属性值发生变化以及所述虚拟场景中的数据需要发送中的任一种,其中,所述任务进度被划分为多个阶段,每完成一个阶段任务时,终端记录虚拟对象的任务进度,所述数据用于记录所述虚拟场景的变化情况;
响应于所述视野画面截取指令,基于钩子函数调用图形绘制应用程序接口,在目标时间段内对终端界面中显示的视野画面进行截图,得到视野画面序列,所述目标时间段为从所述目标事件发生时刻开始、时长为目标时长的时间段,所述视野画面序列中的视野画面按照截取时间排列,所述视野画面序列用于反映所述目标时间段内所述终端所控制的虚拟对象的运动轨迹;
将所述视野画面序列中的视野画面的尺寸缩小为目标尺寸;
向服务器发送所述目标尺寸的视野画面序列,由所述服务器在位图图形文件中存储所述视野画面序列中的第一帧视野画面,对于相邻两帧视野画面,获取所述相邻两帧视野画面的差异图块,根据第一视野画面相较于画布的目标位置的偏移量,对所述第一视野画面的边缘区域中与第二视野画面中相同的区域进行裁剪,将所述第一视野画面除了边缘区域之外的中间区域中与所述第二视野画面中相同的像素点设置为透明像素点,得到位图图形动画,所述第一视野画面为所述相邻两帧视野画面中截取时间在后的视野画面,所述第二视野画面为所述相邻两帧视野画面中截取时间在前的视野画面,所述透明像素点的通道数量为零,所述位图图形动画用于记录下精彩片段以便于用户反复查看或分享给其他人、记录虚拟对象如何对其他虚拟对象造成的伤害或者记录一段时间虚拟场景的变化情况;
接收所述服务器发送的所述位图图形动画的存储地址;
响应于基于所述存储地址的动画下载指令,通过GIF文件浏览器从所述存储地址处,下载所述位图图形动画;
响应于对所述位图图形动画的分享指令,将所述位图图形动画发送至所述分享指令所指示的其他用户所在终端或者网络平台地址。
2.一种动画生成方法,其特征在于,应用于服务器,所述方法包括:
接收虚拟场景中的事件;
响应于所述事件为目标事件,向终端发送视野画面截取指令,其中,所述目标事件为虚拟对象完成目标任务、虚拟对象的任务进度到达目标进度、虚拟对象淘汰了其他虚拟对象、虚拟对象正在与其他虚拟对象交互且所述其他虚拟对象的属性值发生变化以及所述虚拟场景中的数据需要发送中的任一种,其中,所述任务进度被划分为多个阶段,每完成一个阶段任务时,终端记录虚拟对象的任务进度,所述数据用于记录所述虚拟场景的变化情况;
接收所述终端响应于所述视野画面截取指令得到的视野画面序列,所述视野画面序列由所述终端基于钩子函数调用图形绘制应用程序接口,在目标时间段内对终端界面中显示的视野画面进行截图后,将尺寸缩小为目标尺寸后得到,所述视野画面序列中的视野画面按照截取时间排列,所述视野画面序列用于反映所述目标时间段内所述终端所控制的虚拟对象的运动轨迹;
在位图图形文件中存储所述视野画面序列中的第一帧视野画面;
对于相邻两帧视野画面,获取所述相邻两帧视野画面的差异图块;
根据第一视野画面相较于画布的目标位置的偏移量,对所述第一视野画面的边缘区域中与第二视野画面中相同的区域进行裁剪,将所述第一视野画面除了边缘区域之外的中间区域中与所述第二视野画面中相同的像素点设置为透明像素点,得到位图图形动画,所述第一视野画面为所述相邻两帧视野画面中截取时间在后的视野画面,所述第二视野画面为所述相邻两帧视野画面中截取时间在前的视野画面,所述透明像素点的通道数量为零,所述位图图形动画用于记录下精彩片段以便于用户反复查看或分享给其他人、记录虚拟对象如何对其他虚拟对象造成的伤害或者记录一段时间虚拟场景的变化情况;
将所述位图图形动画的存储地址,发送至所述终端,由所述终端从所述存储地址处,下载所述位图图形动画。
3.一种动画生成装置,其特征在于,所述装置包括:
指令获取模块,用于响应于虚拟场景中发生任一事件,向服务器发送所述事件;接收所述服务器返回的视野画面截取指令,所述视野画面截取指令由所述服务器在所述事件为目标事件时发送,其中,所述目标事件为虚拟对象完成目标任务、虚拟对象的任务进度到达目标进度、虚拟对象淘汰了其他虚拟对象、虚拟对象正在与其他虚拟对象交互且所述其他虚拟对象的属性值发生变化以及所述虚拟场景中的数据需要发送中的任一种,其中,所述任务进度被划分为多个阶段,每完成一个阶段任务时,终端记录虚拟对象的任务进度,所述数据用于记录所述虚拟场景的变化情况;
画面截取模块,用于响应于所述视野画面截取指令,基于钩子函数调用图形绘制应用程序接口,在目标时间段内对终端界面中显示的视野画面进行截图,得到视野画面序列,将所述视野画面序列中的视野画面的尺寸缩小为目标尺寸,所述目标时间段为从所述目标事件发生时刻开始、时长为目标时长的时间段,所述视野画面序列中的视野画面按照截取时间排列,所述视野画面序列用于反映所述目标时间段内所述终端所控制的虚拟对象的运动轨迹;
动画获取模块,用于向服务器发送所述目标尺寸的视野画面序列,由所述服务器在位图图形文件中存储所述视野画面序列中的第一帧视野画面,对于相邻两帧视野画面,获取所述相邻两帧视野画面的差异图块,根据第一视野画面相较于画布的目标位置的偏移量,对所述第一视野画面的边缘区域中与第二视野画面中相同的区域进行裁剪,将所述第一视野画面除了边缘区域之外的中间区域中与所述第二视野画面中相同的像素点设置为透明像素点,得到位图图形动画,所述第一视野画面为所述相邻两帧视野画面中截取时间在后的视野画面,所述第二视野画面为所述相邻两帧视野画面中截取时间在前的视野画面,所述透明像素点的通道数量为零,所述位图图形动画用于记录下精彩片段以便于用户反复查看或分享给其他人、记录虚拟对象如何对其他虚拟对象造成的伤害或者记录一段时间虚拟场景的变化情况;
所述动画获取模块,还用于接收所述服务器发送的所述位图图形动画的存储地址;
所述动画获取模块,还用于响应于基于所述存储地址的动画下载指令,通过GIF文件浏览器从所述存储地址处,下载所述位图图形动画;
所述动画获取模块,还用于响应于对所述位图图形动画的分享指令,将所述位图图形动画发送至所述分享指令所指示的其他用户所在终端或者网络平台地址。
4.一种电子设备,其特征在于,所述电子设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序代码,所述至少一条程序代码由所述一个或多个处理器加载并执行以实现如权利要求1所述的动画生成方法所执行的操作。
5.一种存储介质,其特征在于,所述存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行以实现如权利要求1所述的动画生成方法所执行的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010441006.8A CN111603771B (zh) | 2020-05-22 | 2020-05-22 | 动画生成方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010441006.8A CN111603771B (zh) | 2020-05-22 | 2020-05-22 | 动画生成方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111603771A CN111603771A (zh) | 2020-09-01 |
CN111603771B true CN111603771B (zh) | 2023-06-23 |
Family
ID=72203812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010441006.8A Active CN111603771B (zh) | 2020-05-22 | 2020-05-22 | 动画生成方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111603771B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112843687B (zh) * | 2020-12-31 | 2022-10-21 | 上海米哈游天命科技有限公司 | 拍摄方法、装置、电子设备及存储介质 |
CN112843686A (zh) * | 2020-12-31 | 2021-05-28 | 上海米哈游天命科技有限公司 | 拍摄位置的确定方法、装置、电子设备以及存储介质 |
CN112791401B (zh) * | 2020-12-31 | 2023-12-12 | 上海米哈游天命科技有限公司 | 拍摄方法、装置、电子设备及存储介质 |
CN112866561A (zh) * | 2020-12-31 | 2021-05-28 | 上海米哈游天命科技有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN112738423B (zh) * | 2021-01-19 | 2022-02-25 | 深圳市前海手绘科技文化有限公司 | 一种导出动画视频的方法与装置 |
CN113627534A (zh) * | 2021-08-11 | 2021-11-09 | 百度在线网络技术(北京)有限公司 | 识别动态图像的类型的方法、装置及电子设备 |
CN113867871B (zh) * | 2021-09-29 | 2024-07-02 | 北京达佳互联信息技术有限公司 | 界面处理方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101031085A (zh) * | 2007-03-30 | 2007-09-05 | 中国联合通信有限公司 | 一种移动终端帧动画的处理方法 |
CN104282032A (zh) * | 2013-06-28 | 2015-01-14 | 深圳市天趣网络科技有限公司 | 游戏客户端的动态截图方法及客户端 |
CN108734756A (zh) * | 2018-05-15 | 2018-11-02 | 深圳市腾讯网络信息技术有限公司 | 动画的制作方法和装置、存储介质、电子装置 |
CN109240576A (zh) * | 2018-09-03 | 2019-01-18 | 网易(杭州)网络有限公司 | 游戏中的图像处理方法及装置、电子设备、存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102231836B (zh) * | 2011-06-27 | 2013-06-26 | 深圳市茁壮网络股份有限公司 | 一种gif文件在数字电视系统中的处理方法和装置 |
US8672765B2 (en) * | 2012-03-13 | 2014-03-18 | Sony Computer Entertainment America Llc | System and method for capturing and sharing console gaming data |
US9345966B2 (en) * | 2012-03-13 | 2016-05-24 | Sony Interactive Entertainment America Llc | Sharing recorded gameplay to a social graph |
JP6561241B2 (ja) * | 2014-09-02 | 2019-08-21 | 株式会社コナミデジタルエンタテインメント | サーバ装置、動画配信システム、それに用いられる制御方法及びコンピュータプログラム |
US9473758B1 (en) * | 2015-12-06 | 2016-10-18 | Sliver VR Technologies, Inc. | Methods and systems for game video recording and virtual reality replay |
CN105812959A (zh) * | 2016-04-28 | 2016-07-27 | 武汉斗鱼网络科技有限公司 | 一种视频播放器精彩点标注方法及装置 |
CN106843897B (zh) * | 2017-02-09 | 2021-02-12 | 腾讯科技(深圳)有限公司 | 一种截取游戏画面的方法和装置 |
CN109120866B (zh) * | 2018-09-27 | 2020-04-03 | 腾讯科技(深圳)有限公司 | 动态表情生成方法、装置、计算机可读存储介质和计算机设备 |
GB2579603A (en) * | 2018-12-05 | 2020-07-01 | Sony Interactive Entertainment Inc | Method and system for generating a recording of video game gameplay |
CN110180181B (zh) * | 2019-04-22 | 2022-12-23 | 努比亚技术有限公司 | 精彩时刻视频的截图方法、装置及计算机可读存储介质 |
CN110113617B (zh) * | 2019-06-13 | 2022-09-20 | 腾讯科技(深圳)有限公司 | 图像压缩与解压缩的方法、装置、电子设备及存储介质 |
-
2020
- 2020-05-22 CN CN202010441006.8A patent/CN111603771B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101031085A (zh) * | 2007-03-30 | 2007-09-05 | 中国联合通信有限公司 | 一种移动终端帧动画的处理方法 |
CN104282032A (zh) * | 2013-06-28 | 2015-01-14 | 深圳市天趣网络科技有限公司 | 游戏客户端的动态截图方法及客户端 |
CN108734756A (zh) * | 2018-05-15 | 2018-11-02 | 深圳市腾讯网络信息技术有限公司 | 动画的制作方法和装置、存储介质、电子装置 |
CN109240576A (zh) * | 2018-09-03 | 2019-01-18 | 网易(杭州)网络有限公司 | 游戏中的图像处理方法及装置、电子设备、存储介质 |
Non-Patent Citations (1)
Title |
---|
刘滨.《C++ Builder 4高级编程实例精解》.国防工业出版社,2000,469. * |
Also Published As
Publication number | Publication date |
---|---|
CN111603771A (zh) | 2020-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111603771B (zh) | 动画生成方法、装置、设备及介质 | |
CN111589128B (zh) | 基于虚拟场景的操作控件显示方法及装置 | |
CN111013142B (zh) | 互动效果显示方法、装置、计算机设备及存储介质 | |
CN110141859B (zh) | 虚拟对象控制方法、装置、终端及存储介质 | |
CN111589136B (zh) | 虚拟对象控制方法、装置、计算机设备及存储介质 | |
CN111596838B (zh) | 业务处理方法、装置、计算机设备及计算机可读存储介质 | |
CN111026318B (zh) | 基于虚拟环境的动画播放方法、装置、设备及存储介质 | |
CN111672106B (zh) | 虚拟场景显示方法、装置、计算机设备及存储介质 | |
CN112843679B (zh) | 虚拟对象的技能释放方法、装置、设备及介质 | |
JP7186901B2 (ja) | ホットスポットマップの表示方法、装置、コンピュータ機器および読み取り可能な記憶媒体 | |
CN111672104B (zh) | 虚拟场景的显示方法、装置、终端及存储介质 | |
CN113398572B (zh) | 虚拟道具切换方法、技能切换方法、虚拟对象切换方法 | |
CN112156464A (zh) | 虚拟对象的二维形象展示方法、装置、设备及存储介质 | |
CN111544897B (zh) | 基于虚拟场景的视频片段显示方法、装置、设备及介质 | |
CN110833695B (zh) | 基于虚拟场景的业务处理方法、装置、设备及存储介质 | |
CN112755517B (zh) | 虚拟对象控制方法、装置、终端及存储介质 | |
CN112274936B (zh) | 虚拟道具的子道具补充方法、装置、设备及存储介质 | |
CN112023403B (zh) | 基于图文信息的对战过程展示方法及装置 | |
CN111589117B (zh) | 显示功能选项的方法、装置、终端及存储介质 | |
CN111651616B (zh) | 多媒体资源的生成方法、装置、设备及介质 | |
CN113599819A (zh) | 提示信息的显示方法、装置、设备及存储介质 | |
CN111672115B (zh) | 虚拟对象控制方法、装置、计算机设备及存储介质 | |
CN111921191B (zh) | 状态图标的显示方法、装置、终端及存储介质 | |
CN112604274B (zh) | 虚拟对象的显示方法、装置、终端及存储介质 | |
CN111338487B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40028521 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |