CN114500974B - 基于虚幻引擎的字幕实现方法、设备及存储介质 - Google Patents
基于虚幻引擎的字幕实现方法、设备及存储介质 Download PDFInfo
- Publication number
- CN114500974B CN114500974B CN202210078696.4A CN202210078696A CN114500974B CN 114500974 B CN114500974 B CN 114500974B CN 202210078696 A CN202210078696 A CN 202210078696A CN 114500974 B CN114500974 B CN 114500974B
- Authority
- CN
- China
- Prior art keywords
- caption
- level
- display content
- subtitle
- line
- 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
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000005096 rolling process Methods 0.000 claims abstract description 98
- 238000005520 cutting process Methods 0.000 claims abstract description 55
- 230000006870 function Effects 0.000 claims description 94
- 238000004590 computer program Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000010276 construction Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/172—Processing image signals image signals comprising non-image signal components, e.g. headers or format information
- H04N13/183—On-screen display [OSD] information, e.g. subtitles or menus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/167—Synchronising or controlling image signals
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明涉及虚拟现实领域,公开了一种基于虚幻引擎的字幕实现方法、装置、设备及存储介质。本方法包括:通过预置虚拟字幕显示组件上的函数接口,接收待显示的第一显示内容,并将第一显示内容输入一级字幕;根据一级字幕创建二级字幕,并将第一显示内容同步至二级字幕;通过二级字幕对第一显示内容进行切割,并将切割后的显示内容分别输入至根据二级字幕创建的至少一个三级字幕中;将得到的三级字幕输入至二级字幕的滚动块中,基于一级字幕的滚动块的第一滚动参数和二级字幕的第二滚动参数,控制至少一个三级字幕进行显示,以实现对第一显示内容依次播放。本发明可以为虚拟应用提供字幕功能,将字幕真实存在于虚拟世界中。
Description
技术领域
本发明涉及虚拟现实领域,尤其涉及一种基于虚幻引擎的字幕实现方法、装置、设备及存储介质。
背景技术
虚幻引擎UE4是全球最开放、最先进的实时3D创作平台,被广泛用于制作虚拟场景,在现有技术中,其以实现了将显示场景基于UE4实现虚拟场景的映射构建,但是其构建大多只能实现静态的映射,尤其是在字幕的虚拟实现上,而静态的字幕实现对于特定场景下需要实现多显示内容时,其需要多个显示字幕,这样就大大占用了虚拟场景的物体,影响用户的操作空间,并且静态的字幕给用户的体验感并不强。
发明内容
本发明的主要目的在于解决现有的虚拟现实场景中无法实现字幕动态显示的技术问题。
本发明第一方面提供了一种基于虚幻引擎的字幕实现方法,包括:
通过预置虚拟字幕显示组件上的函数接口,接收待显示的第一显示内容,其中,所述虚拟字幕显示组件是基于虚幻引擎创建的具有字幕显示功能的物体,包括一级字幕、二级字幕和三级字幕;
将所述第一显示内容输入所述一级字幕,基于所述一级字幕创建二级字幕,并将所述第一显示内容同步至所述二级字幕以及将所述二级字幕添加到所述一级字幕的滚动块中;
将所述第一显示内容同步至所述二级字幕,并通过预置的字幕显示规则,对所述第一显示内容进行切割处理,生成至少一个三级字幕,并将所述至少一个三级字幕添加至所述二级字幕的滚动块中,其中,所述三级字幕包括单行三级字幕和双行三级字幕;
基于所述一级字幕的滚动块的第一滚动参数和所述二级字幕的滚动块的第二滚动参数,控制所述至少一个三级字幕进行显示,以实现对所述第一显示内容依次播放。
可选地,在本发明第一方面的第一种实现方式中,所述通过预置的字幕显示规则,对所述第一显示内容进行切割处理,生成至少一个三级字幕,并将所述至少一个三级字幕添加至所述二级字幕的滚动块中包括:
解析所述第一显示内容,得到所述第一显示内容的总行数;
判断所述总行数是否大于预设行数阈值;
若是,则调用字幕切割算法,对所述第一显示内容进行切割处理,得到至少两个显示字幕,并基于所述至少两个显示字幕创建至少两个三级字幕,将所述至少两个三级字幕添加至所述二级字幕的滚动块中;
若否,则创建字幕显示行数为所述预设行数阈值的三级字幕,将所述第一显示内容输入到字幕显示行数为所述预设行数阈值的三级字幕,并将所述预设行数阈值的三级字幕添加至所述二级字幕的滚动块中。
可选地,在本发明第一方面的第二种实现方式中,所述调用字幕切割算法,对所述第一显示内容进行切割处理,生成至少两个三级字幕,并将所述至少一个三级字幕添加至所述二级字幕的滚动块中包括:
计算所述第一显示内容的总字节数;
判断所述总字节数是否超过第一字节阈值;
若否,则基于所述二级字幕创建一个双行三级字幕,并通过所述双行三级字幕的预置函数接口,将所述第一显示内容输入所述双行三级字幕;将所述三级字幕添加至所述二级字幕的滚动块中;
若是,则基于所述二级字幕创建至少两个单行三级字幕,并通过所述单行三级字幕的预置函数接口,将所述第一显示内容分别输入所述至少两个单行三级字幕;将所述至少两个单行三级字幕添加至所述二级字幕的滚动块中。
可选地,在本发明第一方面的第三种实现方式中,所述基于所述二级字幕创建至少两个单行三级字幕,并通过所述单行三级字幕的预置函数接口,将所述第一显示内容分别输入所述至少两个单行三级字幕;将所述至少两个单行三级字幕添加至所述二级字幕的滚动块中包括:
基于所述二级字幕,创建一个数组,并将所述第一显示内容存储至所述数组,得到第二显示内容;
判断所述第二显示内容是否超过第二字节阈值;
若所述第二显示内容不超过所述第二字节阈值,则获取所述数组中的第二显示内容,并为所述第二显示内容创建一个单行三级字幕;
通过所述单行三级字幕的预置函数接口,将所述第二显示内容输入所述单行三级字幕并将所述单行三级字幕添加至所述二级字幕的滚动块中。
可选地,在本发明第一方面的第四种实现方式中,所述基于所述二级字幕创建至少两个单行三级字幕,并通过所述单行三级字幕的预置函数接口,将所述第一显示内容分别输入所述至少两个单行三级字幕;将所述至少两个单行三级字幕添加至所述二级字幕的滚动块中,还包括:
若所述第二显示内容超过所述第二字节阈值,则通过预置GetSubstring函数接口获取所述第二显示内容的前N个字节,并通过预置Split函数接口将所述前N个字节从所述第二显示内容中切割出来,得到第三显示内容和第四显示内容,其中,所述N等于第二字节阈值,所述第四显示内容为所述第二显示内容中除去所述第三显示内容之外的字节;
对所述第四显示内容继续切割,得到M个字节长度不大于所述第二字节阈值的第五显示内容;
基于所述第五显示内容创建M+1个单行三级字幕,通过所述单行三级字幕的预置函数接口,将所述M+1个显示内容分别输入对应的单行三级字幕中,并将所述M+1个单行三级字幕添加至所述二级字幕的滚动块中。
可选地,在本发明第一方面的第五种实现方式中,所述基于所述一级字幕的滚动块的第一滚动参数和所述二级字幕的滚动块的第二滚动参数,控制所述至少一个三级字幕进行显示,以实现对所述第一显示内容依次播放包括:
从至少两个二级字幕中选定一个显示,并将其他二级字幕设置为待显示状态;
当通过所述第二滚动参数控制当前显示的二级字幕中的三级字幕显示完成时,通过所述第一滚动参数控制二级字幕滚动;
基于所述第一滚动参数,从所述待显示状态的二级字幕中选择对应的下一个待滚动二级字幕,依次实现对所述第一显示内容的播放。
可选地,在本发明第一方面的第六种实现方式中,在所述基于所述一级字幕的滚动块的第一滚动参数和所述二级字幕的滚动块的第二滚动参数,控制所述至少一个三级字幕进行显示,以实现对所述第一显示内容依次播放之后,还包括:
接收待显示的文本内容,并将所述文本内容命名为第一显示内容;
基于第一显示内容,制作字幕本体并基于用户需求设置所述字幕。
本发明第二方面提供了一种基于虚幻引擎的字幕实现装置,包括:
接收模块,用于通过预置虚拟字幕显示组件上的函数接口,接收待显示的第一显示内容,其中,所述虚拟字幕显示组件是基于虚幻引擎创建的具有字幕显示功能的物体,包括一级字幕、二级字幕和三级字幕;
创建模块,用于将所述第一显示内容输入所述一级字幕,基于所述一级字幕创建二级字幕,并将所述第一显示内容同步至所述二级字幕以及将所述二级字幕添加到所述一级字幕的滚动块中;
切割模块,用于将所述第一显示内容同步至所述二级字幕,并通过预置的字幕显示规则,对所述第一显示内容进行切割处理,生成至少一个三级字幕,并将所述至少一个三级字幕添加至所述二级字幕的滚动块中,其中,所述三级字幕包括单行三级字幕和双行三级字幕;
播放模块,用于基于所述一级字幕的滚动块的第一滚动参数和所述二级字幕的滚动块的第二滚动参数,控制所述至少一个三级字幕进行显示,以实现对所述第一显示内容依次播放。
可选地,在本发明第二方面的第一种实现方式中,所述切割模块包括:
解析单元,用于解析所述第一显示内容,得到所述第一显示内容的总行数;
判断单元,用于判断所述总行数是否大于预设行数阈值;
切割单元,用于当总行数大于预设行数阈值,调用字幕切割算法,对所述第一显示内容进行切割处理,得到至少两个显示字幕,并基于所述至少两个显示字幕创建至少两个三级字幕,将所述至少两个三级字幕添加至所述二级字幕的滚动块中;
创建单元,用于当总行数小于预设行数阈值,创建字幕显示行数为所述预设行数阈值的三级字幕,将所述第一显示内容输入到字幕显示行数为所述预设行数阈值的三级字幕,并将所述预设行数阈值的三级字幕添加至所述二级字幕的滚动块中。
可选地,在本发明第二方面的第二种实现方式中,所述切割单元具体用于:
计算所述第一显示内容的总字节数;
判断所述总字节数是否超过第一字节阈值;
若否,则基于所述二级字幕创建一个双行三级字幕,并通过所述双行三级字幕的预置函数接口,将所述第一显示内容输入所述双行三级字幕;将所述三级字幕添加至所述二级字幕的滚动块中;
若是,则基于所述二级字幕创建至少两个单行三级字幕,并通过所述单行三级字幕的预置函数接口,将所述第一显示内容分别输入所述至少两个单行三级字幕;将所述至少两个单行三级字幕添加至所述二级字幕的滚动块中。
可选地,在本发明第二方面的第三种实现方式中,所述创建单元具体用于:
基于所述二级字幕,创建一个数组,并将所述第一显示内容存储至所述数组,得到第二显示内容;
判断所述第二显示内容是否超过第二字节阈值;
若所述第二显示内容不超过所述第二字节阈值,则获取所述数组中的第二显示内容,并为所述第二显示内容创建一个单行三级字幕;
通过所述单行三级字幕的预置函数接口,将所述第二显示内容输入所述单行三级字幕并将所述单行三级字幕添加至所述二级字幕的滚动块中。
可选地,在本发明第二方面的第四种实现方式中,所述创建单元具体还用于:
若所述第二显示内容超过所述第二字节阈值,则通过预置GetSubstring函数接口获取所述第二显示内容的前N个字节,并通过预置Split函数接口将所述前N个字节从所述第二显示内容中切割出来,得到第三显示内容和第四显示内容,其中,所述N等于第二字节阈值,所述第四显示内容为所述第二显示内容中除去所述第三显示内容之外的字节;
对所述第四显示内容继续切割,得到M个字节长度不大于所述第二字节阈值的第五显示内容;
基于所述第五显示内容创建M+1个单行三级字幕,通过所述单行三级字幕的预置函数接口,将所述M+1个显示内容分别输入对应的单行三级字幕中,并将所述M+1个单行三级字幕添加至所述二级字幕的滚动块中。
可选地,在本发明第二方面的第五种实现方式中,所述播放模块具体用于:
从至少两个二级字幕中选定一个显示,并将其他二级字幕设置为待显示状态;
当通过所述第二滚动参数控制当前显示的二级字幕中的三级字幕显示完成时,通过所述第一滚动参数控制二级字幕滚动;
基于所述第一滚动参数,从所述待显示状态的二级字幕中选择对应的下一个待滚动二级字幕,依次实现对所述第一显示内容的播放。
可选地,在本发明第二方面的第六种实现方式中,所述装置还包括:
接收模块,用于接收待显示的文本内容,并将所述文本内容命名为第一显示内容;
设置模块,用于基于第一显示内容,制作字幕本体并基于用户需求设置所述字幕。
本发明第三方面提供了一种基于虚幻引擎的字幕实现设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于虚幻引擎的字幕实现设备执行上述的基于虚幻引擎的字幕实现方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的基于虚幻引擎的字幕实现方法。
本发明提供的技术方案中,通过预置虚拟字幕显示组件上的函数接口,接收待显示的第一显示内容,并将第一显示内容输入一级字幕;根据一级字幕创建二级字幕,并将第一显示内容同步至二级字幕;通过二级字幕对第一显示内容进行切割,并将切割后的显示内容分别输入至根据二级字幕创建的至少一个三级字幕中;将得到的三级字幕输入至二级字幕的滚动块中,基于一级字幕的滚动块的第一滚动参数和二级字幕的第二滚动参数,控制至少一个三级字幕进行显示,以实现对第一显示内容依次播放。可以为虚拟应用提供字幕功能,将字幕真实存在于虚拟世界中。
附图说明
图1为本发明基于虚幻引擎的字幕实现方法的第一个实施例示意图;
图2为本发明基于虚幻引擎的字幕实现方法的第二个实施例示意图;
图3为本发明基于虚幻引擎的字幕实现方法的第三个实施例示意图;
图4为本发明基于虚幻引擎的字幕实现方法的第四个实施例示意图;
图5为本发明基于虚幻引擎的字幕实现方法的第五个实施例示意图;
图6为本发明基于虚幻引擎的字幕实现装置的第一个实施例示意图;
图7为本发明基于虚幻引擎的字幕实现装置的第二个实施例示意图;
图8为本发明基于虚幻引擎的字幕实现设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种基于虚幻引擎的字幕实现方法、装置、设备及存储介质,本发明的技术方案中,通过预置虚拟字幕显示组件上的函数接口,接收待显示的第一显示内容,并将第一显示内容输入一级字幕;根据一级字幕创建二级字幕,并将第一显示内容同步至二级字幕;通过二级字幕对第一显示内容进行切割,并将切割后的显示内容分别输入至根据二级字幕创建的至少一个三级字幕中;将得到的三级字幕输入至二级字幕的滚动块中,基于一级字幕的滚动块的第一滚动参数和二级字幕的第二滚动参数,控制至少一个三级字幕进行显示,以实现对第一显示内容依次播放。可以为虚拟应用提供字幕功能,将字幕真实存在于虚拟世界中。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中基于虚幻引擎的字幕实现方法的第一个实施例包括:
101、通过预置虚拟字幕显示组件上的函数接口,接收待显示的第一显示内容,其中,虚拟字幕显示组件是基于虚幻引擎创建的具有字幕显示功能的物体,包括一级字幕、二级字幕和三级字幕;
可以理解的是,本发明的执行主体可以为基于虚幻引擎的字幕实现装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
本实施例中,通过预置的虚拟字幕的显示组件上的函数接口,接收待显示的第一显示内容,比如“实际吊装时,需要根据设备实际重量确定吊装人员数量,一般建议每增加20KG增加一名吊装人员”长句的显示:
“实际吊装时,需要根据设备实际重量确定
吊装人员数量,一般建议每增加20KG
增加一名吊装人员”
虚拟字幕显示组件是根据虚幻引擎创建的,可以显示字幕的部件,是个物体(Actor),真实存在于虚拟世界中。
虚幻引擎使用C++编写代码,具有高度的可移植性,是当今许多游戏开发人员使用的工具,侧重于数据生成和程序编写。不仅仅是一款殿堂级的游戏引擎,还能为各行各业的专业人士带去无限的创作自由和空前的掌控力。无论是前沿内容、互动体验还是沉浸式虚拟世界,一切尽在虚幻引擎。
本实施例中,字幕包括一级字幕、二级字幕和三级字幕。其中,三级字幕还包括单行的三级字幕和双行的三级字幕两种;一级字幕和二级字幕都只含有一个滚动块(ScrollBox),单行的三级字幕和双行的三级字幕都只含有一个多线性可编辑文本框(MultiLineEditableTextBox)。在设计上,单行的三级字幕只能存放一行的内容;双行的三级字幕可以存放两行内容;二级字幕用来存放单行的三级字幕或者双行的三级字幕;一级字幕用来存放二级字幕。
102、将第一显示内容输入一级字幕,基于一级字幕创建二级字幕,并将第一显示内容同步至二级字幕以及将二级字幕添加到一级字幕的滚动块中;
本实施例中,第一显示内容可以是指在一个时间段内接收的待显示的所有字幕的文本内容,也可以是值在一个时间点接收的待显示的所有字幕的文本内容。
创建一个一级字幕,当一个时间段内接收n个待显示的字幕的文本内容时,应该根据当前的一级字幕创建n个二级字幕;当一个时间段内接收1个待显示的字幕的文本内容时,应该根据当前的一级字幕创建1个二级字幕。进一步地,再根据字幕的文本内容具体的行数和对应的字幕显示规则,创建对应的三级字幕。其中,三级字幕包括单行的三级字幕和双行的三级字幕。需要说明的是,当一个一级字幕的滚动块中有至少2个二级字幕时,字幕才滚动播放;当一个二级字幕中有至少两个单行的三级字幕时,字幕才滚动播放。除此之外的情况,字幕是静止显示,不滚动的。
本实施例中,一级字幕负责整体控制,每当新的二级字幕要添加到一级字幕中时,一级字幕要滚动切换不同的二级字幕。
103、将第一显示内容同步至二级字幕,并通过预置的字幕显示规则,对第一显示内容进行切割处理,生成至少一个三级字幕,并将至少一个三级字幕添加至二级字幕的滚动块中,其中,三级字幕包括单行三级字幕和双行三级字幕;
本实施例中,将第一显示内容从一级字幕中同步至添加到一级字幕的滚动块中的二级字幕中,并根据预先设定好的字幕显示规则,声称至少一个三级字幕。此时,第一显示内容是否需要被切割,主要与第一显示内容的具体文本内容和字幕显示规则相关。比如,如果第一显示内容为“实际吊装时,需要根据设备实际重量确定吊装人员数量”,如果字幕显示规则为“一行只能显示不超过15个字”,则需要将第一显示内容进行切割;如果字幕显示规则为“一行只能显示不超过30个字”,则不需要对第一显示内容进行切割。
进一步地,生成至少一个三级字幕,并将(至少一个)三级字幕添加至二级字幕的滚动块中。二级字幕负责局部控制,每当不同的三级字幕(包括单行的三级字幕和双行的三级字幕)要加入二级字幕的(滚动块)中时,二级字幕要滚动切换不同的单行的三级字幕或者双行的三级字幕。
由于预先设置好的字幕显示规则,比如“字幕框最多只能容纳2行字”,而此时,我们要输入的字幕内容是灵活变化的,所以会有两种情况:
1.当输入的第一显示内容能在两行以内显示完全,此时字幕(第一显示内容)不需要滚动;
2.若输入的第一显示内容超过了两行,可能是三行或者四行才能显示完全;此时再,根据具体情况具体分析。
104、基于一级字幕的滚动块的第一滚动参数和二级字幕的第二滚动参数,控制至少一个三级字幕进行显示,以实现对第一显示内容依次播放。
本实施例中,根据一级字幕的滚动块的第一滚动参数和二级字幕的滚动块的第二滚动参数,控制(至少一个)三级字幕进行显示,一实现第一显示内容的播放。比如,字幕框最多只能容纳两行显示内容,当输入的字幕可以在两行以内完全显示,则调用双行的三级字幕(双行的三级字幕可以存放两行以内的内容);当输入的字幕(显示内容)超过了两行,此时二级字幕可以将输入到字幕框中的第一显示内容“切割”成n个一行的内容,然后把这些n个内容各自放到对应的n各单行的三级字幕;此时,二级字幕的滚动参数会调用(多个)单行的三级字幕存放,并滚动播放这些显示内容。
本发明实施例中,通过预置虚拟字幕显示组件上的函数接口,接收待显示的第一显示内容,并将第一显示内容输入一级字幕;根据一级字幕创建二级字幕,并将第一显示内容同步至二级字幕;通过二级字幕对第一显示内容进行切割,并将切割后的显示内容分别输入至根据二级字幕创建的至少一个三级字幕中;将得到的三级字幕输入至二级字幕的滚动块中,基于一级字幕的滚动块的第一滚动参数和二级字幕的第二滚动参数,控制至少一个三级字幕进行显示,以实现对第一显示内容依次播放。可以为虚拟应用提供字幕功能,将字幕真实存在于虚拟世界中。
请参阅图2,本发明实施例中基于虚幻引擎的字幕实现方法的第二个实施例包括:
201、通过预置虚拟字幕显示组件上的函数接口,接收待显示的第一显示内容,其中,虚拟字幕显示组件是基于虚幻引擎创建的具有字幕显示功能的物体,包括一级字幕、二级字幕和三级字幕;
202、将第一显示内容输入一级字幕,基于一级字幕创建二级字幕,并将第一显示内容同步至二级字幕以及将二级字幕添加到一级字幕的滚动块中;
203、解析第一显示内容,得到第一显示内容的总行数,并判断总行数是否大于预设行数阈值;
本实施例中,对第一显示内容进行解析,并根据解析结果和预设的字幕显示规则,来判断第一显示内容是否需要进行切割。
字幕显示规则是预先设置好在程序中的,比如,在本程序中字幕框每次最多可显示的文本内容为2行,如果待显示内容超过两行,则需要对待显示内容进行切割,然后才能进行下一步的三级字幕创建和显示;如果待显示字幕并没有超过2行,则不需要对待显示内容进行切割。同时,待显示内容行数的多少,对应着不同的三级字幕。
204、计算第一显示内容的总字节数;
本实施例中,由于中文中的每个字和英文中的每个字母对应的字节数是不一样的,所以在对待显示内容进行解析并判断之后,需要更确切的对显示内容的字节数进行计算,根基待显示内容的字节数,对待显示内容进行具体的切割处理。
字节(Byte)是计算机信息技术用于计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型和语言字符。一个位节存储8位无符号数,储存的数值范围为0-255。如同字元一样,字节型态的变数只需要用一个位元组(8位元)的内存空间储存。
205、判断总字节数是否超过第一字节阈值;
字幕显示规则是预先设置好在程序中的,比如,在本程序中字幕框每次最多可显示的文本内容为2行,如果待显示内容超过两行,则需要对待显示内容进行切割,然后才能进行下一步的三级字幕创建和显示;如果待显示字幕并没有超过2行,则不需要对待显示内容进行切割。同时,待显示内容行数的多少,对应着不同的三级字幕。但是,具体到每一行的显示内容,不同的程序是对应不同的显示规则的,比如,本程序中字幕框每次最多可显示的文本内容为2行,但是每一行可容纳的字节数最大值是预先设置好的,比如说72个字节,需要根据待显示内容具体的字节数来对待显示内容进行具体的切割处理,所以此时是需要先判断待显示内容的总字节数是否超过第一字节阈值的。
206、若总字节数没有超过第一字节阈值,则基于二级字幕创建一个双行三级字幕,并通过双行三级字幕的预置函数接口,将第一显示内容输入双行三级字幕;将三级字幕添加至二级字幕的滚动块中;
本实施例中,如果待显示内容的总字节数没有超过程序预先设置的最大字节数时,说明字幕框是可以容纳这些待显示内容的,那么此时,一个双行的三级字幕就可以显示这个待显示内容,此时,直接根据创建好的二级字幕,创建一个双行的三级字幕;并通过该双行的三级字幕预置的函数接口将待显示内容输入该双行的三级字幕,并将双行的三级字幕添加至二级字幕的滚动块中。
207、若总字节数超过第一字节阈值,则基于二级字幕创建至少两个单行三级字幕,并通过单行三级字幕的预置函数接口,将第一显示内容分别输入至少两个单行三级字幕;将至少两个单行三级字幕添加至二级字幕的滚动块中;
本实施例中,如果待显示内容的总字节数超过程序预先设置的最大字节数时,说明字幕框是无法容纳这些待显示内容的,那么此时,需要创建多个单行的三级字幕并将待显示内容进行切割处理,并将切割处理后的待显示内容分别输入至对应的单行三级字幕,并通过该单行的三级字幕预置的函数接口将待显示内容输入该双行的三级字幕,并将双行的三级字幕添加至二级字幕的滚动块中。
函数接口又叫接口函数,是指某个模块写了(主要)给其它模块用的函数。简单的说接口函数就是类中的公有函数。例如:SendMessage(...):是一个发消息的函数,我们无须知道它是怎么实现的,只需要知道他能实现向某个东西发送消息即可。这就是接口,接口对应的就是实现。
208、若总行数小于预设行数阈值,则创建字幕显示行数为所述预设行数阈值的三级字幕,将所述第一显示内容输入到字幕显示行数为所述预设行数阈值的三级字幕,并将所述预设行数阈值的三级字幕添加至所述二级字幕的滚动块中;
本实施例中,若待显示内容的总行数小于预设的行数的阈值,比如待显示内容为“实际吊装时,需要根据设备实际重量确定吊装人员数量”没有超过2行,此时,只需要创建一个双行的三级字幕,并通过预置的函数接口接收文字内容(第一显示内容),并将创建的三级字幕添加至二级字幕的滚动块中。
滚动块是一个可滚动的UI组件,用节点显示列表(AddChild)来给它添加内容;用设置控件偏移(SetScrollOffset)来设置滚动到什么位置。
二级字幕包含一个三级字幕(双行)或两个以上三级字幕(单行);各级字幕都含有一个函数接口(SetMyText)来接受文字内容;一级字幕和二级字幕各含有一个滚动块(ScrollBox);三级字幕都含有一个多行可编辑文本框(MultiLineEditableTextBox)。三级字幕(单行或者双行)通过预置的函数接口,接收文字内容(第一显示内容),并判断文字内容是否超过两行,若是,则对文字内容进行切割,播放滚动动画,滚动到底部以后,滚动到底部后,要再次把切割(显示)的文字内容添加到滚动块中,以便继续滚动。
209、基于一级字幕的滚动块的第一滚动参数和二级字幕的第二滚动参数,控制至少一个三级字幕进行显示,以实现对第一显示内容依次播放。
本实施例中步骤201-202、209与第一实施例中的步骤101-102、104类似,此处不再赘述。
本发明实施例中,通过预置虚拟字幕显示组件上的函数接口,接收待显示的第一显示内容,并将第一显示内容输入一级字幕;根据一级字幕创建二级字幕,并将第一显示内容同步至二级字幕;通过二级字幕对第一显示内容进行切割,并将切割后的显示内容分别输入至根据二级字幕创建的至少一个三级字幕中;将得到的三级字幕输入至二级字幕的滚动块中,基于一级字幕的滚动块的第一滚动参数和二级字幕的第二滚动参数,控制至少一个三级字幕进行显示,以实现对第一显示内容依次播放。可以为虚拟应用提供字幕功能,将字幕真实存在于虚拟世界中。
请参阅图3,本发明实施例中基于虚幻引擎的字幕实现方法的第三个实施例包括:
301、通过预置虚拟字幕显示组件上的函数接口,接收待显示的第一显示内容,其中,虚拟字幕显示组件是基于虚幻引擎创建的具有字幕显示功能的物体,包括一级字幕、二级字幕和三级字幕;
302、将第一显示内容输入一级字幕,基于一级字幕创建二级字幕,并将二级字幕添加到一级字幕的滚动块中;
303、基于二级字幕,创建一个数组,并将第一显示内容存储至数组,得到第二显示内容;
本实施例中,根据二级字幕,创建一个数组用来存储显示内容,并将第一显示内容重新命名。比如,将第一显示内容“实际吊装时,需要根据设备实际重量确定吊装数量,一般建议每增加20KG增加一名吊装人员”输入创建好的数组中,此时将第一显示内容命名为“第二显示内容”,则第二显示内容为“实际吊装时,需要根据设备实际重量确定吊装数量,一般建议每增加20KG增加一名吊装人员”,此时,判断输入的第二显示内容是否超过36个字节。进一步地,根据判断结果进行下一步的操作。
数组(Array)是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便,把具有相同类型的若干元素按有序的形式组织起来的一种形式。这些有序排列的同类数据元素的集合称为数组。数组是用于储存多个相同类型数据的集合。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
304、判断第二显示内容是否超过第二字节阈值;
判断输入至数组中的显示内容是否超过预先设置好的字节数的最大值。比如,输入数组中的第二显示内容为“实际吊装时,需要根据设备实际重量确定吊装数量,一般建议每增加20KG增加一名吊装人员”,此时,假设预先设置好的字节数阈值是36个字节,则判断输入的第二显示内容是否超过36个字节。得到帕努单结果,并根据判断结果,对第二显示内容进行对应的切割处理,并将切割后的显示内容分别通过预置的函数接口输入至对应的三级字幕。
305、若第二显示内容不超过第二字节阈值,则获取数组中的第二显示内容,并为第二显示内容创建一个单行三级字幕;
如果数组中的第二显示内容不超过预先设置好的字节数的最大值,比如,数组中的显示内容的字节数不超过36个字节,则为数组中的第二显示内容创建一个单行的三级字幕。因为一个单行的三级字幕可以存储的显示内容的字节数最大为36。
306、通过单行三级字幕的预置函数接口,将第二显示内容输入单行三级字幕并将单行三级字幕添加至二级字幕的滚动块中;
通过创建的单行的三基函数的预置函数接口,接收显示内容中的文本,将显示内容中的文本添加至单行的三级字幕,同时,将该单行的三级字幕添加至本地二级字幕的滚动块,切割结束。
307、若第二显示内容超过第二字节阈值,则通过预置GetSubstring函数接口获取第二显示内容的前N个字节,并通过预置Split函数接口将前N个字节从所述第二显示内容中切割出来,得到第三显示内容和第四显示内容,其中,N等于第二字节阈值,第四显示内容为第二显示内容中除去第三显示内容之外的字节;
本实施例中,输入数组中的显示内容超过预先设置的可输入字节的预置,则通过预先设置好的GetSubstring函数接口获取显示内容的前N个字节,比如,第二显示内容为“实际吊装时,需要根据设备实际重量确定吊装数量,一般建议每增加20KG增加一名吊装人员”,将第二现实内容的前N个字节“实际吊装时,需要根据设备实际重量确定”,并将第二显示内容的前N个字节的内容命名为第三显示内容,也即第三显示内容为“实际吊装时,需要根据设备实际重量确定”。
将第三显示内容“实际吊装时,需要根据设备实际重量确定”输入数组中,并通过Split函数接口将第三显示内容从第二显示内容中切割出来,并将第二显示内容中的剩余内容命名为第四显示内容,比如,将第三显示内容“实际吊装时,需要根据设备实际重量确定”从第二显示内容“吊装数量,一般建议每增加20KG增加一名吊装人员”中切割出来,并将剩下的字节“吊装数量,一般建议每增加20KG增加一名吊装人员”命名为第四显示内容。
308、对第四显示内容继续切割,得到M个字节长度不大于第二字节阈值的第五显示内容;
将从第二显示内容“实际吊装时,需要根据设备实际重量确定吊装数量,一般建议每增加20KG增加一名吊装人员”中切割出来的第三显示内容“实际吊装时,需要根据设备实际重量确定”输入数组,得到第四显示内容“吊装数量,一般建议每增加20KG增加一名吊装人员”;此时,继续判断第四显示内容的字节数“吊装数量,一般建议每增加20KG增加一名吊装人员”是否超过36字节,如果超过,则继续对第四显示内容进行切割,直到显示内容中的生育字节不超过预先设置好的字节的最大值,比如36字节。得到n各显示内容,其中,n为大于或者等于2的正整数。
309、基于第五显示内容创建M+1个单行三级字幕,通过单行三级字幕的预置函数接口,将M+1个显示内容分别输入对应的单行三级字幕中,并将M+1个单行三级字幕添加至二级字幕的滚动块中;
根据第二显示内容切割的n各显示内容,分别为每一个显示内容创建一个单行的三级字幕;因为,一个单行的三级字幕刚好可以存储一个显示内容(字节数小于或等于36字节)。此时,将一个显示内容对应一个单行的三级字幕。
将切割得到的n各字节数不大于预设最大阈值的显示内容,通过个单行的三级字幕的预置的函数接口,分别将n个显示内容添加至二级字幕的滚动块中。比如,第二显示内容“实际吊装时,需要根据设备实际重量确定吊装数量,一般建议每增加20KG增加一名吊装人员”被切割成第三显示内容“实际吊装时,需要根据设备实际重量确定”、第四显示内容“吊装数量,一般建议每增加20KG”和第五显示内容“增加一名吊装人员”;此时n=3,对应3个单行的三级字幕,通过每个单行的三级字幕对应的预置函数接口将第三显示内容、第四显示内容及第五显示内容输入至对应的各个单行的三级字幕中;并将各个携带显示内容的单行的三级字幕添加至本地的二级字幕的滚动块中。
310、基于一级字幕的滚动块的第一滚动参数和二级字幕的滚动块的第二滚动参数,控制至少一个三级字幕进行显示,以实现对第一显示内容依次播放。
本实施例中步骤301-302、310与第一实施例中的步骤101-102、104类似,此处不再赘述。
本发明实施例中,通过预置虚拟字幕显示组件上的函数接口,接收待显示的第一显示内容,并将第一显示内容输入一级字幕;根据一级字幕创建二级字幕,并将第一显示内容同步至二级字幕;通过二级字幕对第一显示内容进行切割,并将切割后的显示内容分别输入至根据二级字幕创建的至少一个三级字幕中;将得到的三级字幕输入至二级字幕的滚动块中,基于一级字幕的滚动块的第一滚动参数和二级字幕的第二滚动参数,控制至少一个三级字幕进行显示,以实现对第一显示内容依次播放。可以为虚拟应用提供字幕功能,将字幕真实存在于虚拟世界中。
请参阅图4,本发明实施例中基于虚幻引擎的字幕实现方法的第四个实施例包括:
401、通过预置虚拟字幕显示组件上的函数接口,接收待显示的第一显示内容,其中,虚拟字幕显示组件是基于虚幻引擎创建的具有字幕显示功能的物体,包括一级字幕、二级字幕和三级字幕;
402、将第一显示内容输入一级字幕,基于一级字幕创建二级字幕,并将二级字幕添加到一级字幕的滚动块中;
403、将第一显示内容同步至二级字幕,并通过预置的字幕显示规则,对第一显示内容进行切割处理,生成至少一个三级字幕,并将至少一个三级字幕添加至二级字幕的滚动块中,其中,三级字幕包括单行三级字幕和双行三级字幕;
404、从至少两个二级字幕中选定一个显示,并将其他二级字幕设置为待显示状态;
由于,每个一级字幕中至少包含有两个二级字幕,且字幕的滚动播放是按照滚动参数以此滚动的;所以,从至少两个的二级字幕中选定一个显示,同时将其他的二级字幕设置为待现实状态。
一级字幕包含一个或多个二级字幕;二级字幕包含一个三级字幕(双行)或两个以上三级字幕(单行)。各级字幕都含有一个函数接口(SetMyText)来接受文字内容。一级字幕和二级字幕各含有一个ScrollBox(滚动块);三级字幕都含有一个MultiLineEditableTextBox(多行可编辑文本框)。
405、当通过第二滚动参数控制当前显示的二级字幕中的三级字幕显示完成时,通过第一滚动参数控制二级字幕滚动;
当二级字幕对应的第二滚动参数控制当前二级字幕中的多个三级字幕显示完成,进一步地通过一级字幕中的第一滚动参数控制二级字幕的滚动。字幕之间的切换也是通过滚动的方式。即,字幕A要切换成字幕B时,字幕A内容清除,字幕B内容滚动出现。
406、基于第一滚动参数,从待显示状态的二级字幕中选择对应的下一个待滚动二级字幕,依次实现对第一显示内容的播放。
根据第一滚动参数,从待显示状态的二级字幕中选择对应的下一个待滚动二级字幕,比如,当前的二级字幕A滚动完毕,从待显示状态的二级字幕B、C、D、E中选择对应的二级字幕B滚动,依次完成对第一显示内容的播放。
本实施例中步骤401-403与第一实施例中的步骤101-103类似,此处不再赘述。
在本发明实施例中,通过预置虚拟字幕显示组件上的函数接口,接收待显示的第一显示内容,并将第一显示内容输入一级字幕;根据一级字幕创建二级字幕,并将第一显示内容同步至二级字幕;通过二级字幕对第一显示内容进行切割,并将切割后的显示内容分别输入至根据二级字幕创建的至少一个三级字幕中;将得到的三级字幕输入至二级字幕的滚动块中,基于一级字幕的滚动块的第一滚动参数和二级字幕的第二滚动参数,控制至少一个三级字幕进行显示,以实现对第一显示内容依次播放。可以为虚拟应用提供字幕功能,将字幕真实存在于虚拟世界中。
请参阅图5,本发明实施例中基于虚幻引擎的字幕实现方法的第五个实施例包括:
501、通过预置虚拟字幕显示组件上的函数接口,接收待显示的第一显示内容,其中,虚拟字幕显示组件是基于虚幻引擎创建的具有字幕显示功能的物体,包括一级字幕、二级字幕和三级字幕;
502、将第一显示内容输入一级字幕,基于一级字幕创建二级字幕,并将二级字幕添加到一级字幕的滚动块中;
503、将第一显示内容同步至二级字幕,并通过预置的字幕显示规则,对第一显示内容进行切割处理,生成至少一个三级字幕,并将至少一个三级字幕添加至二级字幕的滚动块中,其中,三级字幕包括单行三级字幕和双行三级字幕;
504、基于一级字幕的滚动块的第一滚动参数和二级字幕的滚动块的第二滚动参数,控制至少一个三级字幕进行显示,以实现对第一显示内容依次播放;
505、接收待显示的文本内容,并将文本内容命名为第一显示内容;
当上一个显示内容显示完毕,此时一级字幕会通过预置的函数接口接收新的待显示内容,并将新接收到的文本内容命名为第一显示内容。比如,之前的第一显示内容为“实际吊装时,需要根据设备实际重量确定吊装数量,一般建议每增加20KG增加一名吊装人员”,被分为四个“子显示内容”根据各级字幕的滚动参数滚动显示完毕,此时,新的文本内容为“每个吊装人员的工作时长为3小时,超过3小时,要换一批新的吊装人员才可以进行后续的吊装工作”,将新的文本内容重新命名为第一显示内容,进一步地,根据显示内容的具体内容,对新的文本内容进行处理,并以此滚动播放。
506、基于第一显示内容,制作字幕本体并基于用户需求设置所述字幕。
根据现实内容,制作用户需要的字幕本体,并将依次滚动播放。
本实施例中步骤501-504与第一实施例中的步骤101-104类似,此处不再赘述。
本发明实施例中,通过预置虚拟字幕显示组件上的函数接口,接收待显示的第一显示内容,并将第一显示内容输入一级字幕;根据一级字幕创建二级字幕,并将第一显示内容同步至二级字幕;通过二级字幕对第一显示内容进行切割,并将切割后的显示内容分别输入至根据二级字幕创建的至少一个三级字幕中;将得到的三级字幕输入至二级字幕的滚动块中,基于一级字幕的滚动块的第一滚动参数和二级字幕的第二滚动参数,控制至少一个三级字幕进行显示,以实现对第一显示内容依次播放。可以为虚拟应用提供字幕功能,将字幕真实存在于虚拟世界中。
上面对本发明实施例中基于虚幻引擎的字幕实现方法进行了描述,下面对本发明实施例中基于虚幻引擎的字幕实现装置进行描述,请参阅图6,本发明实施例中基于虚幻引擎的字幕实现装置的第一个实施例包括:
接收模块601,用于通过预置虚拟字幕显示组件上的函数接口,接收待显示的第一显示内容,其中,所述虚拟字幕显示组件是基于虚幻引擎创建的具有字幕显示功能的物体,包括一级字幕、二级字幕和三级字幕;
创建模块602,用于将所述第一显示内容输入所述一级字幕,基于所述一级字幕创建二级字幕,并将所述第一显示内容同步至所述二级字幕以及将所述二级字幕添加到所述一级字幕的滚动块中;
切割模块603,用于将所述第一显示内容同步至所述二级字幕,并通过预置的字幕显示规则,对所述第一显示内容进行切割处理,生成至少一个三级字幕,并将所述至少一个三级字幕添加至所述二级字幕的滚动块中,其中,所述三级字幕包括单行三级字幕和双行三级字幕;
播放模块604,用于基于所述一级字幕的滚动块的第一滚动参数和所述二级字幕的滚动块的第二滚动参数,控制所述至少一个三级字幕进行显示,以实现对所述第一显示内容依次播放。
本发明实施例中,通过预置虚拟字幕显示组件上的函数接口,接收待显示的第一显示内容,并将第一显示内容输入一级字幕;根据一级字幕创建二级字幕,并将第一显示内容同步至二级字幕;通过二级字幕对第一显示内容进行切割,并将切割后的显示内容分别输入至根据二级字幕创建的至少一个三级字幕中;将得到的三级字幕输入至二级字幕的滚动块中,基于一级字幕的滚动块的第一滚动参数和二级字幕的第二滚动参数,控制至少一个三级字幕进行显示,以实现对第一显示内容依次播放。可以为虚拟应用提供字幕功能,将字幕真实存在于虚拟世界中。
请参阅图7,本发明实施例中基于虚幻引擎的字幕实现装置的第二个实施例,该基于虚幻引擎的字幕实现装置具体包括:
接收模块601,用于通过预置虚拟字幕显示组件上的函数接口,接收待显示的第一显示内容,其中,所述虚拟字幕显示组件是基于虚幻引擎创建的具有字幕显示功能的物体,包括一级字幕、二级字幕和三级字幕;
创建模块602,用于将所述第一显示内容输入所述一级字幕,基于所述一级字幕创建二级字幕,并将所述第一显示内容同步至所述二级字幕以及将所述二级字幕添加到所述一级字幕的滚动块中;
切割模块603,用于将所述第一显示内容同步至所述二级字幕,并通过预置的字幕显示规则,对所述第一显示内容进行切割处理,生成至少一个三级字幕,并将所述至少一个三级字幕添加至所述二级字幕的滚动块中,其中,所述三级字幕包括单行三级字幕和双行三级字幕;
播放模块604,用于基于所述一级字幕的滚动块的第一滚动参数和所述二级字幕的滚动块的第二滚动参数,控制所述至少一个三级字幕进行显示,以实现对所述第一显示内容依次播放;
在本实施例中,所述切割模块603包括:
解析单元6031,用于解析所述第一显示内容,得到所述第一显示内容的总行数;
判断单元6032,用于判断所述总行数是否大于预设行数阈值;
切割单元6033,用于当总行数大于预设行数阈值,调用字幕切割算法,对所述第一显示内容进行切割处理,得到至少两个显示字幕,并基于所述至少两个显示字幕创建至少两个三级字幕,将所述至少两个三级字幕添加至所述二级字幕的滚动块中;
创建单元6034,用于当总行数小于预设行数阈值,创建字幕显示行数为所述预设行数阈值的三级字幕,将所述第一显示内容输入到字幕显示行数为所述预设行数阈值的三级字幕,并将所述预设行数阈值的三级字幕添加至所述二级字幕的滚动块中。
在本实施例中,所述切割模块切割单元6033具体用于:
计算所述第一显示内容的总字节数;
判断所述总字节数是否超过第一字节阈值;
若否,则基于所述二级字幕创建一个双行三级字幕,并通过所述双行三级字幕的预置函数接口,将所述第一显示内容输入所述双行三级字幕;将所述三级字幕添加至所述二级字幕的滚动块中;
若是,则基于所述二级字幕创建至少两个单行三级字幕,并通过所述单行三级字幕的预置函数接口,将所述第一显示内容分别输入所述至少两个单行三级字幕;将所述至少两个单行三级字幕添加至所述二级字幕的滚动块中。
在本实施例中,所述创建单元6034具体用于:
基于所述二级字幕,创建一个数组,并将所述第一显示内容存储至所述数组,得到第二显示内容;
判断所述第二显示内容是否超过第二字节阈值;
若所述第二显示内容不超过所述第二字节阈值,则获取所述数组中的第二显示内容,并为所述第二显示内容创建一个单行三级字幕;
通过所述单行三级字幕的预置函数接口,将所述第二显示内容输入所述单行三级字幕并将所述单行三级字幕添加至所述二级字幕的滚动块中。
本实施例中,所述创建单元6034具体还用于:
若所述第二显示内容超过所述第二字节阈值,则通过预置GetSubstring函数接口获取所述第二显示内容的前N个字节,并通过预置Split函数接口将所述前N个字节从所述第二显示内容中切割出来,得到第三显示内容和第四显示内容,其中,所述N等于第二字节阈值,所述第四显示内容为所述第二显示内容中除去所述第三显示内容之外的字节;
对所述第四显示内容继续切割,得到M个字节长度不大于所述第二字节阈值的第五显示内容;
基于所述第五显示内容创建M+1个单行三级字幕,通过所述单行三级字幕的预置函数接口,将所述M+1个显示内容分别输入对应的单行三级字幕中,并将所述M+1个单行三级字幕添加至所述二级字幕的滚动块中。
本实施例中,所述装置还包括:
命名模块605,用于接收待显示的文本内容,并将所述文本内容命名为第一显示内容;
设置模块606,用于基于第一显示内容,制作字幕本体并基于用户需求设置所述字幕。
本发明实施例中,通过预置虚拟字幕显示组件上的函数接口,接收待显示的第一显示内容,并将第一显示内容输入一级字幕;根据一级字幕创建二级字幕,并将第一显示内容同步至二级字幕;通过二级字幕对第一显示内容进行切割,并将切割后的显示内容分别输入至根据二级字幕创建的至少一个三级字幕中;将得到的三级字幕输入至二级字幕的滚动块中,基于一级字幕的滚动块的第一滚动参数和二级字幕的第二滚动参数,控制至少一个三级字幕进行显示,以实现对第一显示内容依次播放。可以为虚拟应用提供字幕功能,将字幕真实存在于虚拟世界中。
上面图6和图7从模块化功能实体的角度对本发明实施例中的基于虚幻引擎的字幕实现装置进行详细描述,下面从硬件处理的角度对本发明实施例中基于虚幻引擎的字幕实现设备进行详细描述。
图8是本发明实施例提供的一种基于虚幻引擎的字幕实现设备的结构示意图,该基于虚幻引擎的字幕实现设备800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)810(例如,一个或一个以上处理器)和存储器820,一个或一个以上存储应用程序833或数据832的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器820和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对基于虚幻引擎的字幕实现设备800中的一系列指令操作。更进一步地,处理器810可以设置为与存储介质830通信,在基于虚幻引擎的字幕实现设备800上执行存储介质830中的一系列指令操作,以实现上述各方法实施例提供的基于虚幻引擎的字幕实现方法的步骤。
基于虚幻引擎的字幕实现设备800还可以包括一个或一个以上电源840,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口860,和/或,一个或一个以上操作***831,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图8示出的基于虚幻引擎的字幕实现设备结构并不构成对本申请提供的基于虚幻引擎的字幕实现设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行上述基于虚幻引擎的字幕实现方法的步骤。
所述领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种基于虚幻引擎的字幕实现方法,其特征在于,所述基于虚幻引擎的字幕实现方法包括:
通过预置虚拟字幕显示组件上的函数接口,接收待显示的第一显示内容,所述第一显示内容可以是指在一个时间段内接收的待显示的所有字幕的文本内容,也可以是指在一个时间点接收的待显示的所有字幕的文本内容,其中, 所述虚拟字幕显示组件是基于虚幻引擎创建的具有字幕显示功能的物体;
创建一个一级字幕,将第一显示内容输入一级字幕,当一个时间段内接收n 个待显示的字幕的文本内容时,根据当前的一级字幕创建 n 个二级字幕,并将所述第一显示内容同步至所述二级字幕以及将所述二级字幕添加到所述一级字幕的滚动块中;
通过预置的字幕显示规则,对所述第一显示内容进行切割处理,生成至少一个三级字幕,并将所述至少一个三级字幕添加至所述二级字幕的滚动块中,其中,所述三级字幕包括单行三级字幕和双行三级字幕;
基于所述一级字幕的滚动块的第一滚动参数和所述二级字幕的滚动块的第二滚动参数,控制所述至少一个三级字幕进行显示,以实现对所述第一显示内容依次播放,
所述基于所述一级字幕的滚动块的第一滚动参数和所述二级字幕的滚动块的第二滚动参数,控制所述至少一个三级字幕进行显示,以实现对所述第一显示内容依次播放包括:
从至少两个二级字幕中选定一个显示,并将其他二级字幕设置为待显示状态;
当通过所述第二滚动参数控制当前显示的二级字幕中的三级字幕显示完成时,通过所述第一滚动参数控制二级字幕滚动;
基于所述第一滚动参数,从所述待显示状态的二级字幕中选择对应的下一个待滚动二级字幕,依次实现对所述第一显示内容的播放。
2.根据权利要求 1 所述的基于虚幻引擎的字幕实现方法,其特征在于, 所述通过预置的字幕显示规则,对所述第一显示内容进行切割处理,生成至少一个三级字幕,并将所述至少一个三级字幕添加至所述二级字幕的滚动块中包括:
解析所述第一显示内容,得到所述第一显示内容的总行数; 判断所述总行数是否大于预设行数阈值;
若是,则调用字幕切割算法,对所述第一显示内容进行切割处理,得到至少两个显示字幕,并基于所述至少两个显示字幕创建至少两个三级字幕, 将所述至少两个三级字幕添加至所述二级字幕的滚动块中;
若否,则创建字幕显示行数为所述预设行数阈值的三级字幕,将所述第一显示内容输入到字幕显示行数为所述预设行数阈值的三级字幕,并将所述预设行数阈值的三级字幕添加至所述二级字幕的滚动块中。
3.根据权利要求 2 所述的基于虚幻引擎的字幕实现方法,其特征在于, 所述调用字幕切割算法,对所述第一显示内容进行切割处理,生成至少两个三级字幕,并将所述至少两个三级字幕添加至所述二级字幕的滚动块中包括:
计算所述第一显示内容的总字节数;
判断所述总字节数是否超过第一字节阈值;
若否,则基于所述二级字幕创建一个双行三级字幕,并通过所述双行三级字幕的预置函数接口,将所述第一显示内容输入所述双行三级字幕;将所述三级字幕添加至所述二级字幕的滚动块中;
若是,则基于所述二级字幕创建至少两个单行三级字幕,并通过所述单行三级字幕的预置函数接口,将所述第一显示内容分别输入所述至少两个单行三级字幕;将所述至少两个单行三级字幕添加至所述二级字幕的滚动块中。
4.根据权利要求 3 所述的基于虚幻引擎的字幕实现方法,其特征在于,所述基于所述二级字幕创建至少两个单行三级字幕,并通过所述单行三级字幕的预置函数接口,将所述第一显示内容分别输入所述至少两个单行三级字幕;将所述至少两个单行三级字幕添加至所述二级字幕的滚动块中包括:
基于所述二级字幕,创建一个数组,并将所述第一显示内容存储至所述数组,得到第二显示内容;
判断所述第二显示内容是否超过第二字节阈值;
若所述第二显示内容不超过所述第二字节阈值,则获取所述数组中的第二显示内容,并为所述第二显示内容创建一个单行三级字幕;
通过所述单行三级字幕的预置函数接口,将所述第二显示内容输入所述单行三级字幕并将所述单行三级字幕添加至所述二级字幕的滚动块中。
5.根据权利要求 4 所述的基于虚幻引擎的字幕实现方法,其特征在于, 所述基于所述二级字幕创建至少两个单行三级字幕,并通过所述单行三级字幕的预置函数接口,将所述第一显示内容分别输入所述至少两个单行三级字幕;将所述至少两个单行三级字幕添加至所述二级字幕的滚动块中,还包括:
若所述第二显示内容超过所述第二字节阈值,则通过预置 GetSubstring 函数接口获取所述第二显示内容的前 N 个字节,并通过预置 Split 函数接口将所述前N 个字节从所述第二显示内容中切割出来,得到第三显示内容和第四显示内容,其中,所述 N 等于第二字节阈值,所述第四显示内容为所述第二显示内容中除去所述第三显示内容之外的字节;
对所述第四显示内容继续切割,得到 M 个字节长度不大于所述第二字节阈值的第五显示内容;
基于所述第五显示内容创建 M+1 个单行三级字幕,通过所述单行三级字幕的预置函数接口,将所述 M+1 个显示内容分别输入对应的单行三级字幕中,并将所述M+1 个单行三级字幕添加至所述二级字幕的滚动块中。
6.根据权利要求 1-5 中任一项所述的基于虚幻引擎的字幕实现方法,其特征在于,在所述基于所述一级字幕的滚动块的第一滚动参数和所述二级字幕的滚动块的第二滚动参数,控制所述至少一个三级字幕进行显示,以实现对所述第一显示内容依次播放之后,还包括:
接收待显示的文本内容,并将所述文本内容命名为第一显示内容; 基于第一显示内容,制作字幕本体并基于用户需求设置所述字幕。
7.一种基于虚幻引擎的字幕实现设备,其特征在于,所述基于虚幻引擎的字幕实现设备包括:存储器和至少一个处理器,所述存储器中存储有指令, 所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于虚幻引擎的字幕实现设备执行如权利要求 1-6 中任一项所述的基于虚幻引擎的字幕实现方法。
8.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求 1-6 中任一项所述的基于虚幻引擎的字幕实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210078696.4A CN114500974B (zh) | 2020-07-17 | 2020-07-17 | 基于虚幻引擎的字幕实现方法、设备及存储介质 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010692818.XA CN111885365B (zh) | 2020-07-17 | 2020-07-17 | 基于虚幻引擎的字幕实现方法、装置、设备及存储介质 |
CN202210078696.4A CN114500974B (zh) | 2020-07-17 | 2020-07-17 | 基于虚幻引擎的字幕实现方法、设备及存储介质 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010692818.XA Division CN111885365B (zh) | 2020-07-17 | 2020-07-17 | 基于虚幻引擎的字幕实现方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114500974A CN114500974A (zh) | 2022-05-13 |
CN114500974B true CN114500974B (zh) | 2024-01-30 |
Family
ID=73156070
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010692818.XA Active CN111885365B (zh) | 2020-07-17 | 2020-07-17 | 基于虚幻引擎的字幕实现方法、装置、设备及存储介质 |
CN202210078696.4A Active CN114500974B (zh) | 2020-07-17 | 2020-07-17 | 基于虚幻引擎的字幕实现方法、设备及存储介质 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010692818.XA Active CN111885365B (zh) | 2020-07-17 | 2020-07-17 | 基于虚幻引擎的字幕实现方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN111885365B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111885365B (zh) * | 2020-07-17 | 2022-02-11 | 深圳市瑞立视多媒体科技有限公司 | 基于虚幻引擎的字幕实现方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015147463A1 (ko) * | 2014-03-26 | 2015-10-01 | 주식회사 해리슨 앤 컴퍼니 | 어학 학습용 콘텐츠 재생 시스템 및 그 방법 |
CN105320684A (zh) * | 2014-07-28 | 2016-02-10 | 中国传媒大学 | 隐藏字幕的数据交换方法 |
CN107911734A (zh) * | 2017-11-10 | 2018-04-13 | 青岛海信电器股份有限公司 | 字幕显示方法、装置以及计算机可存储介质 |
CN110575667A (zh) * | 2019-08-28 | 2019-12-17 | 深圳市瑞立视多媒体科技有限公司 | 基于ui界面的控制方法、装置、设备及存储介质 |
CN111885365A (zh) * | 2020-07-17 | 2020-11-03 | 深圳市瑞立视多媒体科技有限公司 | 基于虚幻引擎的字幕实现方法、装置、设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070011012A1 (en) * | 2005-07-11 | 2007-01-11 | Steve Yurick | Method, system, and apparatus for facilitating captioning of multi-media content |
MX2010013448A (es) * | 2008-06-26 | 2010-12-22 | Panasonic Corp | Medio de grabacion, dispositivo de reproduccion, dispositivo de grabacion, metodo de reproduccion, metodo de grabacion y programa. |
CN102158666A (zh) * | 2010-04-21 | 2011-08-17 | 青岛海信传媒网络技术有限公司 | 滚动字幕的显示方法和装置 |
CN102694990B (zh) * | 2011-08-29 | 2015-02-18 | 新奥特(北京)视频技术有限公司 | 一种可变长滚屏的实现方法及装置 |
WO2018207045A1 (en) * | 2017-05-10 | 2018-11-15 | Within Unlimited, Inc. | Placement and dynamic rendering of caption information in virtual reality video |
CN109696953B (zh) * | 2017-10-19 | 2020-10-16 | 华为技术有限公司 | 虚拟现实文字显示的方法、装置和虚拟现实设备 |
-
2020
- 2020-07-17 CN CN202010692818.XA patent/CN111885365B/zh active Active
- 2020-07-17 CN CN202210078696.4A patent/CN114500974B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015147463A1 (ko) * | 2014-03-26 | 2015-10-01 | 주식회사 해리슨 앤 컴퍼니 | 어학 학습용 콘텐츠 재생 시스템 및 그 방법 |
CN105320684A (zh) * | 2014-07-28 | 2016-02-10 | 中国传媒大学 | 隐藏字幕的数据交换方法 |
CN107911734A (zh) * | 2017-11-10 | 2018-04-13 | 青岛海信电器股份有限公司 | 字幕显示方法、装置以及计算机可存储介质 |
CN110575667A (zh) * | 2019-08-28 | 2019-12-17 | 深圳市瑞立视多媒体科技有限公司 | 基于ui界面的控制方法、装置、设备及存储介质 |
CN111885365A (zh) * | 2020-07-17 | 2020-11-03 | 深圳市瑞立视多媒体科技有限公司 | 基于虚幻引擎的字幕实现方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
基于Web的多媒体交互式课件的研制――《微机软维护》远程教学课件;朱可, 谭建华, 李晓秋;常德师范学院学报(自然科学版)(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114500974A (zh) | 2022-05-13 |
CN111885365B (zh) | 2022-02-11 |
CN111885365A (zh) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100414496C (zh) | 为选定的应用数据生成并显示描述性注释的方法和工具 | |
US20040036714A1 (en) | Method, system and program product for displaying a tooltip based on content within the tooltip | |
CN106943747B (zh) | 虚拟角色名称推荐方法、装置、电子设备和存储介质 | |
KR101326354B1 (ko) | 문자 변환 처리 장치, 기록 매체 및 방법 | |
WO2006067711A2 (en) | Method and device for displaying animated buttons | |
CN102576281B (zh) | 用于与信息交互并且操纵信息的方法及其*** | |
US20100122171A1 (en) | Non-linear slide presentation management for slide show programs | |
CN114500974B (zh) | 基于虚幻引擎的字幕实现方法、设备及存储介质 | |
US8972242B2 (en) | Visual analysis of phrase extraction from a content stream | |
CN104951219A (zh) | 一种移动终端文本输入的方法及移动终端 | |
CN102937858B (zh) | 文字输入的方法及电子设备 | |
JP2006293788A (ja) | 情報処理装置、およびプログラム | |
CN117033606A (zh) | 对话机器人的对话管理方法、***、设备及介质 | |
JP2010102564A (ja) | 感情特定装置、その方法、プログラム及び記録媒体 | |
CN111756614B (zh) | 聊天内容的显示方法和显示*** | |
JP7160327B2 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
JPH03201128A (ja) | データ処理システムにおける順位値付与方法 | |
US20120016890A1 (en) | Assigning visual characteristics to records | |
WO1999015944A2 (en) | Method and apparatus for searching and displaying data | |
CN111726285A (zh) | 即时通信方法及装置 | |
JP4237040B2 (ja) | 画面データ変換装置、並びに、そのプログラムおよび記録媒体 | |
JP2002251390A (ja) | 単語列入力装置、単語列入力方法、ならびに、プログラム | |
JP2010165041A (ja) | 正解判定装置、正解判定システム、正解判定方法および正解判定プログラム | |
JP3288738B2 (ja) | 自然言語処理装置及び方法 | |
JP2001175657A (ja) | 自然言語対話装置、その方法および記憶媒体 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |