具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的***、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
具体实现中,本申请实施例中描述的终端包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备。还应当理解的是,在某些实施例中,所述设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的台式计算机。
在接下来的讨论中,描述了包括显示器和触摸敏感表面的终端。然而,应当理解的是,终端可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。
终端支持各种应用程序,例如以下中的一个或多个:绘图应用程序、演示应用程序、文字处理应用程序、网站创建应用程序、盘刻录应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息收发应用程序、锻炼支持应用程序、照片管理应用程序、数码相机应用程序、数字摄影机应用程序、web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。
可以在终端上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及终端上显示的相应信息。这样,终端的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。
应理解,本实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
参见图1,图1是本申请实施例提供的一种发动机内燃运作的图像显示方法的流程图一。如图1所示,一种发动机内燃运作的图像显示方法,该方法包括以下步骤:
步骤101,获取动画视频中的播放图像帧。
该播放图像帧具体为动画视频中即将播放的图像帧,或者为动画视频中处于正在播放状态的图像帧。
步骤102,基于所述播放图像帧,确定目标关键帧。
其中,所述动画视频中的图像帧被预划分为不同组别的发动机运作事件,每一所述发动机运作事件均对应一关键帧。
发动机工作原理一般分二冲程发动机和四冲程发动机工作原理。针对不同的发动机可以将动画视频中的图像帧划分为不同的发动机运作事件,具体根据实际情况进行具体设置。
该发动机不仅限于汽车发动机,也可为轮船发动机或飞机发动机。
该发动机运作事件具体是指发动机在运转过程中的不同进程事件。
由于汽车发动机绝大部分是四冲程的,作为一可选的实施方式,具体针对四冲程汽油发动机进行说明。具体地,发动机运作事件包括:进气事件、压缩事件、做功事件及排气事件。
四冲程汽车发动机的工作循环由四个活塞行程组成,分别是进气行程、压缩行程、做功行程和排气行程。
其中,进气行程中,进气门开启,排气门关闭,活塞由上止点向下止点移动,活塞上方的气缸容积增大,产生真空度,气缸内压力降到进气压力以下,在真空吸力作用下,通过化油器或汽油喷射装置雾化的汽油,与空气混合形成可燃混合气,由进气道和进气门吸入气缸内。进气过程一直延续到活塞过了下止点进气门关闭为止。接着上行的活塞开始压缩气体。
在压缩行程中,进排气门全部关闭,压缩缸内可燃混合气,混合气温度升高,压力上升。活塞临近上止点前,可燃混合气压力上升到0.6~1.2MPa左右,温度可达330℃~430℃。
在做功行程中,在压缩行程接近上止点时,装在气缸盖上方的火花塞发出电火花,点燃所压缩的可燃混合气。可燃混合气燃烧后放出大量的热量,缸内燃气压力和温度迅速上升,最高燃烧压力可达3~6MPa,最高燃烧温度可达2200℃~2500℃。高温高压燃气推动活塞快速向下止点移动,通过曲柄连杆机构对外做功。做功行程开始时,进、排气门均关闭。
在排气行程中,做功行程接近终了时,排气门开启,由于这时气缸内压力高于大气压力,高温废气迅速排出气缸,这一阶段属于自由排气阶段,高温废气以当地音速通过排气门排出。随排气过程进行进入强制排气阶段,活塞越过下止点向上止点移动,强制将缸内废气排出,活塞到达上止点附近时,排气过程结束。排气终了时,气缸内气体压力稍高于大气压力,约为0.105~0.115MPa,废气温度约为600℃~900℃。由于燃烧室占有一定容积,因此在排气终了时,不可能将废气彻底排除干净,剩余部分废气称残余废气。
四冲程汽油机经过进气、压缩、做功、排气四个行程完成一个工作循环,在这个过程中,活塞上下往复运动四个行程,相应的曲轴旋转两周。
不同的发动机运作事件对应一组图像帧,也对应一个关键帧,该关键帧为该组图像帧中的一个,具体为该组图像帧中播放顺序中的第一个图像帧。可以根据具体需要进行具体选择。
步骤103,从预存储的配置文件中,获取与所述目标关键帧相对应的目标特效参数。
该配置文件中保存有于不同关键帧对应的特效参数,不同的特效参数分别用于在不同的发动机运作事件对应的图像帧播放时进行执行,以使不同的发动机运作事件的图像帧播放时产生不同的特效显示画面。
作为一可选的实施方式,该获取动画视频中的播放图像帧之前,还包括:
生成包含有特效类型、特效播放速率及特效生命周期数据的配置文件。建立所述配置文件与不同的所述发动机运作事件对应的关键帧之间的关联关系并存储。
将特效类型、粒子特效播放的速率、粒子特效的生命周期等形成配置文件,与关键帧数据进行对应,即可实现模型动画在运行过程中在不同阶段对不同特效模块的实时控制。
步骤104,基于所述目标特效参数,在所述目标关键帧对应的目标发动机运作事件的图像帧中叠加特效画面。
当模型动画播放到对应的事件关键帧时,程序逻辑通过一开始获取的配置文件数据执行对应的逻辑事件(粒子特效开启等),不同行程事件之间相互衔接,从而完成整个原理的模拟。
本实施例中,获取动画视频中的播放图像帧,基于播放图像帧,确定目标关键帧,从预存储的配置文件中,获取与目标关键帧相对应的目标特效参数,基于目标特效参数,在目标关键帧对应的目标发动机运作事件的图像帧中叠加特效画面,该过程提炼出事件关键帧,将模型动画的帧数据标准化,再将事件关键帧结合记录有对应的逻辑数据的配置文件,同时结合粒子特效模块,实现模型动画在运行过程中在不同阶段对不同特效模块的实时控制,交互性较强,可真实直观的认知整个原理过程,且该过程实现处理流程的程序化和可配置化,减少了开发环节,有效的缩短开发周期,降低开发成本,提高工作效率,可以将相同的程序逻辑拓展到不同的业务对象,复用性较强。
本申请实施例中还提供了发动机内燃运作的图像显示方法的不同实施方式。
参见图2,图2是本申请实施例提供的一种发动机内燃运作的图像显示方法的流程图二。如图2所示,一种发动机内燃运作的图像显示方法,该方法包括以下步骤:
步骤201,基于用户对滑动条中滑块的拖动操作,确定所述拖动操作中所述滑块的目标滑动位置。
用户在UI交互过程中UI滑动条滑块值会实时变化,通过百分比换算将滑块值与模型动画帧数实时关联,建立逻辑关系,当模型动画播放到对应的事件关键帧时,程序逻辑通过一开始获取的配置文件数据执行对应的逻辑事件(粒子特效开启等),不同行程事件之间相互衔接,从而完成整个原理的模拟。
步骤202,根据所述滑动条与所述动画视频中图像帧的播放映射关系,确定所述动画视频中,与所述目标滑动位置对应的图像帧为所述播放图像帧。
模型动画事件帧的逻辑控制:通过滑块的滑动值与模型动画的帧数据进行百分比换算,可以获取到对应事件(进气事件、压缩事件、做功事件、排气事件)的帧数据。
滑动条滑块控制模型动画播放:实时获取滑动条滑块的滑动值(范围:0-1),然后将滑动值与模型动画帧数据进行百分比换算得到模型动画映射帧数据,最后模型动画在播放过程中会基于滑动进度进行同步播放。
其中,滑动条与动画视频中图像帧的播放映射关系,具体可以是,滑动值与模型动画的帧数据进行百分比换算而形成。UI滑块的滑动值可以设置为是0-1的一个范围值,发动机内燃工作原理动画总帧数为100帧,其中0-25帧为进气行程动画、26-50帧为压缩行程动画、51-75帧为做功行程动画、76-100帧为排气行程动画。其中0帧为进气事件帧、26帧为压缩事件帧、51帧为做功事件帧、76帧为排气事件帧(事件帧可以理解为当动画播放到当前帧时需要处理的事件,如开启粒子特效等)。
将UI滑动的滑动值与模型动画的帧数据进行百分比换算,其目的在于将两者建立逻辑关系和对应关系。具体换算公式为:动画当前帧数=滑动值*动画总帧数。例如当用户拖动滑动条的滑块值为0.3时,当前动画帧数为0.3*100=30帧,为压缩行程动画。
将滑块值与模型动画帧数实时关联,建立逻辑关系。等于说:本方案,在具体执行时,根据用户对滑动条的拖动比例,获取滑动条的拖动目标位置点,基于该目标位置点在滑动条中的位置比例,换算为动画帧的帧数,判断该帧如果触发了关键帧,则调用执行对应的逻辑事件,该逻辑事件指的不是关键帧对应的动画播放事件,而是关键帧对应的特效事件,实现在关键时刻进行特效动作的触发。
步骤203,在判断所述播放图像帧不为关键帧,且所述滑块在所述滑动条中的滑动行程经过与第一关键帧相对应的滑动条位置点时,确定所述第一关键帧为所述目标关键帧。
其中,该第一关键帧具体为与播放图像帧对应于同一发动机运作事件的图像帧。
滑动条中,不同位置点对应动画视频中的不同图像帧,同时滑动条中也存在与不同的发动机运作事件相对应的关键帧对应的滑动条位置点。该第一关键帧相对应的滑动条位置点,为滑动条上所有与关键帧相对应的位置点中,距离目标滑动位置最近的一个位置点。
当用户拖动滑块滑动,该滑块滑动后到达的目标滑动位置对应的图像帧(即播放图像帧)不为关键帧,且该滑块的滑动行程划过与一个关键帧(第一关键帧)相对应的滑动条位置点,则将该一个关键帧确定为目标关键帧,以进而确定目标特效参数,并执行特效画面叠加显示操作。
具体地,该基于所述播放图像帧,确定目标关键帧,还包括:在判断播放图像帧为第二关键帧时,确定所述第二关键帧为所述目标关键帧。
即,当判断播放图像帧本身即为一个关键帧时,则直接将该播放图像帧所对应的关键帧确定为目标关键帧。
步骤204,从预存储的配置文件中,获取与所述目标关键帧相对应的目标特效参数。
该步骤与前述步骤103的实现过程相同,此处不再赘述。
进一步地,该目标特效参数包括:特效类型、特效播放速率及特效生命周期。在步骤204之后,还包括:
步骤205,基于所述第一关键帧与所述播放图像帧,确定与所述目标发动机运作事件对应的所述目标特效参数中,所述特效类型在所述特效生命周期中的剩余周期的播放起始节点。
该特效生命周期用于指示一个特效类型的执行时长。该特效生命周期中的剩余周期表示刨除在该第一关键帧与该播放图像帧之间滑块略过的图像播放时间之后,特效生命周期中还剩余的特效类型的执行时长。在特效生命周期中还剩余的特效类型的执行时长下,该剩余周期对应一个特效类型在剩余时长中的特效画面播放起始节点,该播放起始节点为一段特效画面的中间播放节点,实现特效显示能够随用户对滑动条中滑块的拖动操作进行实时的匹配显示。
步骤206,由所述播放图像帧起,基于所述播放起始节点,按照所述特效类型及所述特效播放速率,在所述目标发动机运作事件的图像帧中叠加特效画面。
该步骤,实现将剩余的特效继续由播放图像帧起,按照对应的特效类型和特效播放速率,进行特效播放和叠加。
本实施例中,获取动画视频中的播放图像帧,基于播放图像帧,确定目标关键帧,从预存储的配置文件中,获取与目标关键帧相对应的目标特效参数,基于目标特效参数,在目标关键帧对应的目标发动机运作事件的图像帧中叠加特效画面,该过程提炼出事件关键帧,将模型动画的帧数据标准化,再将事件关键帧结合记录有对应的逻辑数据的配置文件,同时结合粒子特效模块,实现模型动画在运行过程中在不同阶段对不同特效模块的实时控制,交互性较强,可真实直观的认知整个原理过程,且该过程实现处理流程的程序化和可配置化,减少了开发环节,有效的缩短开发周期,降低开发成本,提高工作效率,可以将相同的程序逻辑拓展到不同的业务对象,复用性较强。
参见图3,图3是本申请实施例提供的一种发动机内燃运作的图像显示***的结构图,为了便于说明,仅示出了与本申请实施例相关的部分。
所述发动机内燃运作的图像显示***300包括:
第一获取模块301,用于获取动画视频中的播放图像帧;
确定模块302,用于基于所述播放图像帧,确定目标关键帧;其中,所述动画视频中的图像帧被预划分为不同组别的发动机运作事件,每一所述发动机运作事件均对应一关键帧;
第二获取模块303,用于从预存储的配置文件中,获取与所述目标关键帧相对应的目标特效参数;
特效模块304,用于基于所述目标特效参数,在所述目标关键帧对应的目标发动机运作事件的图像帧中叠加特效画面。
该第一获取模块301,具体用于:
基于用户对滑动条中滑块的拖动操作,确定所述拖动操作中所述滑块的目标滑动位置;
根据所述滑动条与所述动画视频中图像帧的播放映射关系,确定所述动画视频中,与所述目标滑动位置对应的图像帧为所述播放图像帧。
该确定模块302,具体用于:
在判断所述播放图像帧不为关键帧,且所述滑块在所述滑动条中的滑动行程经过与第一关键帧相对应的滑动条位置点时,确定所述第一关键帧为所述目标关键帧。
其中,所述目标特效参数包括:特效类型、特效播放速率及特效生命周期;所述特效模块304,具体用于:
基于所述第一关键帧与所述播放图像帧,确定与所述目标发动机运作事件对应的所述目标特效参数中,所述特效类型在所述特效生命周期中的剩余周期的播放起始节点;
由所述播放图像帧起,基于所述播放起始节点,按照所述特效类型及所述特效播放速率,在所述目标发动机运作事件的图像帧中叠加特效画面。
其中,所述确定模块302,具体用于:
在判断所述播放图像帧为第二关键帧时,确定所述第二关键帧为所述目标关键帧。
其中,该***还包括:
生成模块,用于生成包含有特效类型、特效播放速率及特效生命周期数据的配置文件;
建立模块,用于建立所述配置文件与不同的所述发动机运作事件对应的关键帧之间的关联关系并存储。
其中,所述发动机运作事件包括:进气事件、压缩事件、做功事件及排气事件。
本实施例中,获取动画视频中的播放图像帧,基于播放图像帧,确定目标关键帧,从预存储的配置文件中,获取与目标关键帧相对应的目标特效参数,基于目标特效参数,在目标关键帧对应的目标发动机运作事件的图像帧中叠加特效画面,该过程提炼出事件关键帧,将模型动画的帧数据标准化,再将事件关键帧结合记录有对应的逻辑数据的配置文件,同时结合粒子特效模块,实现模型动画在运行过程中在不同阶段对不同特效模块的实时控制,交互性较强,可真实直观的认知整个原理过程,且该过程实现处理流程的程序化和可配置化,减少了开发环节,有效的缩短开发周期,降低开发成本,提高工作效率,可以将相同的程序逻辑拓展到不同的业务对象,复用性较强。
本申请实施例提供的发动机内燃运作的图像显示***能够实现上述发动机内燃运作的图像显示方法的实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
图4是本申请实施例提供的一种终端的结构图。如该图所示,该实施例的终端4包括:至少一个处理器40(图4中仅示出一个)、存储器41以及存储在所述存储器41中并可在所述至少一个处理器40上运行的计算机程序42,所述处理器40执行所述计算机程序42时实现上述任意各个方法实施例中的步骤。
所述终端4可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端4可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是终端4的示例,并不构成对终端4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端还可以包括输入输出设备、网络接入设备、总线等。
所称处理器40可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器41可以是所述终端4的内部存储单元,例如终端4的硬盘或内存。所述存储器41也可以是所述终端4的外部存储设备,例如所述终端4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器41还可以既包括所述终端4的内部存储单元也包括外部存储设备。所述存储器41用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述***中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的终端和方法,可以通过其它的方式实现。例如,以上所描述的终端实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序产品来实现,当计算机程序产品在终端上运行时,使得所述终端执行时实现可实现上述各个方法实施例中的步骤。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。