一种生成游戏角色的表情的方法与流程

文档序号:30578739发布日期:2022-06-29 10:57阅读:153来源:国知局
一种生成游戏角色的表情的方法与流程
一种生成游戏角色的表情的方法
1.本技术为2020年4月17日提交中国专利局、申请号为202010305320.3、申请名称为“一种生成游戏角色的表情的方法和装置”的中国专利申请的分案申请。
技术领域
2.本发明涉及电子游戏领域中的增强现实技术,更具体而言,涉及一种生成游戏角色的表情的方法。


背景技术:

3.在许多电子游戏系统中,允许用户(即,游戏玩家)使用“表情”刻画游戏角色的面部特征,这使得该游戏角色的虚拟形象更加生动。带有表情的游戏角色可以让用户更切身地感受到该游戏角色的喜怒哀乐,进而增强电子游戏的趣味性和感染力。然而,表情是丰富且细腻的,并且细微的面部特征变化就会产生不同的表情,因而电子游戏系统中的表情制作一直是非常繁琐、耗时的工作。当前,在本领域中缺少简便、快捷制作表情以及实时生成表情的方法。


技术实现要素:

4.本发明提供了一种生成游戏角色的表情的方法,包括在所述游戏角色被创建时,获取所述游戏角色的面部模型数据;获取表情特征数据;依据所述面部模型数据和所述表情特征数据,生成所述游戏角色的第一角色表情数据,其中所述第一角色表情数据被配置作为所创建的所述游戏角色的数据的一部分;和依据所述第一角色表情数据进行渲染,以生成所述游戏角色的表情。
5.本发明的技术方案通过增强现实技术(ar)实现了游戏角色的表情的制作和生成。相对于现有技术,本发明的方法和装置操作简便、快捷,制作出的表情真实、细腻,符合人体面部肌肉运动,并且还能够实现表情在电子游戏中的实时生成。另外,依据本发明的方法和装置生成的游戏角色的表情还可以被作为游戏数据的一部分以便在电子游戏中继续使用。
附图说明
6.图1是根据本发明的一个实施例的生成游戏角色的表情的方法的流程图。
7.图2a是根据本发明的一个实施例的用于检测和保存模特无表情模型数据和模特表情模型数据的软件程序用户界面的示意图。
8.图2b是根据本发明的实施例的示例性模特无表情模型数据和模特表情模型数据。
9.图3是根据本发明的实施例的示例性表情特征系数。
10.图4是根据本发明的一个实施例的生成游戏角色的角色表情数据的示意图。
11.图5是根据本发明的一个实施例的使用的r3ds wrap软件中的节点。
12.图6a是根据本发明的一个实施例的示例性标定特征点。
13.图6b是与图6a中的标定特征点对应的游戏角色的面部模型数据和角色表情模型
数据。
14.图7是根据本发明的一个实施例的不同游戏角色的表情模型数据的示意图。
15.图8是根据本发明的一个实施例的示例性morph文件和target文件。
16.图9是根据本发明的一个实施例的添加morph文件的操作界面。
17.图10是根据本发明的一个实施例的设置表情动画属性的操作界面。
18.图11是根据本发明的一个实施例的实施“部分替换”的方法的节点。
19.图12是图11中的方法的示例性操作示意图。
20.图13是根据本发明的一个实施例的创建游戏角色的界面的示意图。
21.图14a和14b是根据本发明的实施例的方法非实时生成的游戏角色的表情的示意图。
22.图15a和15b是根据本发明的实施例的方法实时生成的游戏角色的表情的示意图。
23.图16是实施本发明的实施例的示例性电子游戏系统的示意图。
具体实施方式
24.现在将参照若干示例性实施例来说明本发明的内容。应当理解,说明这些实施例仅是为了使得本领域普通技术人员能够更好地理解并且因此实现本发明的内容,而不是暗示对本发明的范围进行任何限制。
25.如本文中所使用的,术语“包括”及其变体应当解读为意味着“包括但不限于”的开放式术语。术语“基于”应当解读为“至少部分地基于”。术语“一个实施例”和“一种实施例”应当解读为“至少一个实施例”。术语“另一个实施例”应当解读为“至少一个其他实施例”。
26.在本发明的实施例中,生成游戏角色的表情的方法可以在电子游戏的任何阶段和场景中应用,其中该场景包括但不限于:创建游戏角色时,用户聊天(例如,通过聊天室或聊天窗口)时,拍照、截屏或录屏时,用户或游戏情节满足特定条件时。在本发明的实施例中,应用生成游戏角色的表情的方法的时机是由电子游戏系统预设的。在本发明的实施例中,应用生成游戏角色的表情的方法的时机是由用户根据需要选择的。在本发明的优选的实施例中,在创建游戏角色时应用生成游戏角色的表情的方法。
27.图1示出了根据本发明的一个实施例的生成游戏角色的表情的方法的流程图,下面依次说明其中的各个步骤。
28.获取游戏角色的面部模型数据
29.在本发明的实施例中,“游戏角色”指的是电子游戏中的任何虚拟角色,优选地是用户正在操纵的虚拟角色。在本发明的实施例中,可以在任何阶段和场景获取游戏角色的面部模型数据,优选地,在游戏角色被创建时获取游戏角色的面部模型数据。在本发明的实施例中,“游戏角色的面部模型数据”即游戏角色的美术制作模型,指的是在进行渲染后呈现出无表情的游戏角色的面部的数据。参见图4,其中示出了游戏角色的美术制作模型。在本发明的实施例中,游戏角色的美术制作模型由游戏开发人员预置并保存在游戏数据中。在本发明的实施例中,“预置”与“非预置”或“实时”相对,指的是已经预先制作好而不需要实时制作、生成。
30.获取表情特征数据
31.在本发明的实施例中,“表情特征数据”指的是能够表示表情的数据的统称。在本
发明的实施例中,获取的表情特征数据可以是预置的或实时的(即,非预置的),下面分别讨论这两种不同情况的技术方案。
32.在本发明的预置的实施例中,表情特征数据包括预置的模特无表情模型数据和模特表情模型数据。在本发明的实施例中,针对同一个模特,模特无表情模型数据仅具有一种,而模特表情模型数据可以具有一种或多种。在本发明的实施例中,可以编辑预置的模特表情模型数据以生成与其不同的模特表情模型,其中编辑前的模特表情模型数据被称为模特第一表情模型数据,而编辑后的模特表情模型数据被称为模特第二表情模型数据。在本发明的实施例中,还可以对模特第二表情模型数据进行进一步编辑以生成模特第三表情模型数据,以此类推。在本发明的实施例中,模特第一表情模型数据和模特第二表情模型数据均可以具有一种或多种。在本发明的实施例中,模特表情模型数据对应于多个不同类型的表情中的一个。在本发明的实施例中,可以通过摄像头模组(例如,手机、平板和电脑上的摄像头或摄像机和摄影机等)获取模特表情模型数据。
33.在本发明的实施例中,“模特”可以是任何人,包括但不限于游戏开发人员和、测试人员和用户,优选地是游戏开发人员。在本发明的实施例中,模特可以是相同或不同的人。在本发明的实施例中,“模特无表情模型数据”指的是描述无表情的面部拓扑学的网格结构数据。在本发明的实施例中,“模特表情模型数据”指的是相对于模特无表情模型数据描述具有表情的面部拓扑学的网格结构数据。在本发明的实施例中,“模型数据”与“模型”可互换地使用。
34.在本发明的实施例中,可以使用软件(例如,已知的ark platforms inc.公司的arkit软件,其功能的详细信息可在http://www.arkit.io/获得)配合摄像头模组完成模特无表情模型数据和模特表情模型数据的获取。在本发明的实施例中,使用摄像头模组拍摄或检测模特的面部。在本发明的实施例中,模特的面部是已经拍摄完成的图片或照片。在本发明的实施例中,可以根据需要以不同的数据格式表示和存储模特无表情模型数据和模特表情模型数据。发明人编制了一种软件程序(例如,用于在手机、平板或电脑上运行的app)来调用arkit软件并且控制摄像头模组来完成上述数据的获取。例如,在通过arkit软件尤其是arfaceanchor模块中的arfacegeometry功能获取的模型数据中,每个模型数据包含1220个顶点和2304个三角面片。在本发明的实施例中,发明人编制软件程序可以以obj格式保存上述模型数据。在本发明的实施例中,可以通过硬件模块(通常是定制的)来实现对arkit软件和摄像头模组的调用和控制,也可以通过混合了软件和硬件的模块来实现所述调用和控制。在本发明的实施例中,还可以通过其他方法或软件来获取模特无表情模型数据和模特表情模型数据,只要其能够实现本发明的目的。
35.图2a示出了根据本发明的一个实施例的用于检测和保存模特无表情模型数据和模特表情模型数据的软件程序用户界面的示意图。在图2a所示出的本发明的实施例中,该软件程序运行在苹果公司的iphone上。在本发明的实施例中,操作者(例如,游戏开发人员)可以点击“facecapture”按钮将模特无表情模型数据(左)和模特表情模型数据(右)保存到相应的文件夹。如先前描述的,该软件程序可以通过调用arkit软件并控制摄像头模组来完成上述操作。在本发明的实施例中,操作者即为模特。图2b示出了根据本发明的一个实施例的示例性模特无表情模型数据和模特表情模型数据。在本发明的实施例中,在获取了作为模特第一表情模型数据的模特表情模型数据后,可以对其进行任何本领域已知的编辑以生
成模特第二表情模型数据。
36.在本发明的非预置的实施例中,表情特征数据包括实时获取的表情特征系数。在本发明的实施例中,表情特征数据还包括旋转矩阵。在本发明的实施例中,表情特征系数是通过摄像头模组由当前的游戏用户实时获取的。在本发明的实施例中,“表情特征系数”指的是能够表示面部特征的数据,其以系数形式描述相对于无表情时面部特征的偏移,进而描述有表情时的面部特征。在本发明的实施例中,旋转矩阵具有本领域技术人员通常理解的含义。
37.在本发明的实施例中,表情特征系数可以例如由arkit软件(尤其是arfaceanchor模块中的arblendshapelocation功能)以blendshapes属性或参数的形式提供。在本发明的实施例中,还可以以其他软件或其他形式来提供表情特征系数。如本领域中已知的,在arkit软件中,表情特征系数提供了一个模型,该模型表示一系列面部特征相对于无表情时的偏移系数。如本领域中已知的,arkit软件目前提供了包括52个系数的表情特征系数,其分布在左眼、右眼、嘴、下巴、眉毛、脸颊、舌头等部位,每个系数为0-1之间的浮点数,其中0表示无表情,而1表示最大程度的表情。图3示出了根据本发明的实施例的示例性表情特征系数,其中显示了睁开和闭合左眼的表情。在本发明的实施例中,表情特征数据中包含的模特无表情模型数据和模特表情模型数据也具有相应的表情特征系数。例如,如果假设图3中左右两边分别为模特无表情模型数据和模特表情模型数据,则模特无表情模型数据具有的所有表情特征系数均为0,而模特表情模型数据具有的表情特征系数中与左眼对应的系数为1且其他系数为0。
38.依据面部模型数据和表情特征数据生成游戏角色的角色表情数据
39.在本发明的实施例中,生成的游戏角色的角色表情数据使游戏角色表现出由表情特征数据表示的表情。在本发明的实施例中,首先将面部模型数据分别与模特无表情模型数据和模特表情模型数据进行包裹变形处理,然后将包裹变形处理后的数据进行融合变形处理,以得到与面部模型数据对应的角色表情模型数据。在本发明的实施例中,角色表情模型数据可以被作为游戏角色的角色表情数据。在本发明的实施例中,上述模特无表情模型数据和模特表情模型数据可以是预置的或非预置的。在本发明的实施例中,参与上述操作的模特无表情模型数据和模特表情模型数据分别可以是一种或多种。在本发明的实施例中,由第一模特表情模型数据参与生成的角色表情模型数据(角色表情数据)可以被称为第一角色表情模型数据(第二角色表情数据),而由第二模特表情模型数据参与生成的角色表情模型数据(角色表情数据)可以被称为第二角色表情模型数据(第二角色表情数据),以此类推。
40.在本发明的实施例中,可以使用软件(例如,已知的russian3dscanner llc公司的r3ds wrap软件,其功能的详细信息可在https://www.russian3dscanner.com/获得)实现上述角色表情数据的生成,特别是利用该软件实现上述“包裹变形处理”和“融合变形处理”。在本发明的实施例中,还可以使用其他方法或软件实现上述操作,只要能够实现本发明的目的。与arkit软件类似,可以编制软件程序、设置硬件模块或软件与硬件混合的模块来实现对r3ds wrap软件的调用。在本发明的实施例中,调用arkit软件的模块和调用r3ds wrap短剑的模块可以是相同的模块,也可以是不同的但彼此可以交换数据的模块,还可以是相同系统下的不同模块(可以彼此交换数据)。图4示出了根据本发明的一个实施例的生
成游戏角色的角色表情数据的示意图。如本领域中已知的,r3ds wrap是一种节点方式的软件,可以通过选取并且连接节点来实现功能。例如,本发明的实施例可以使用r3ds wrap软件中的包裹变形(wrapping)和融合变形(blendshapes)节点。
41.图5示出了根据本发明的一个实施例的使用的r3ds wrap软件中的节点,其中将游戏角色的面部模型数据分别与模特无表情模型数据和模特表情模型数据进行包裹变形处理,然后将在包裹变形处理后得到的数据在游戏角色的面部模型数据的基础上进行融合变形处理,得到游戏角色的角色表情模型书作作为角色表情数据,最后使用savegeom节点以obj格式保存生成的数据。在本发明的实施例中,r3ds wrap软件和arkit软件可以使用具有相同底层数据结构的模型或数据,以使得二者所利用或生成的模型或数据可以互用。
42.在本发明的实施例中,可以在包裹变形处理中,对面部模型数据和模特无表情模型数据选取一一对应的标定特征点。在本发明的实施例中,标定特征点可以与表情特征系数指示的部位相同或不同。在本发明的实施例中,可以根据需要选择适当数量的标定特征点。在本发明的实施例中,选取的标定特征点可以根据需要进行调整,例如,通常在眼睛、嘴巴等对表情影响较大的部位分布较多。上述对标定特征点的数量和部位的选择可以减轻工作量,从而提高了制作效率。图6a示出了根据本发明的一个实施例的示例性标定特征点,而图6b示出了与图6a中的标定特征点对应的游戏角色的面部模型数据和角色表情模型数据。
43.在本发明的实施例中,当需要替换游戏角色时,游戏角色的面部模型数据也会随之改变。在本发明的实施例中,可以针对不同的游戏角色,利用已有的模特模型反复进行包裹变形处理,这简化了表情制作,进而提高了制作效率。在本发明的实施例中,当游戏角色变化时,可以导入变化后的游戏角色的面部模型数据,然后对其选取多个相同的标定特征点,以得到与修改后的面部模型数据对应的角色表情模型数据。
44.图7示出了根据本发明的一个实施例的不同游戏角色的表情模型数据的示意图,其中在模特无表情模型数据和模特表情模型数据不变而游戏角色变化的情况下,根据上述简化方法制作出多个不同的游戏角色的角色表情模型数据。
45.在本发明的实施例中,还可以选择依据上面生成的游戏角色的角色表情数据,生成相应的表情动画数据,以便使游戏角色的表情切换能够更加流畅、自然。在本发明的实施例中,“表情动画”指的是从一个表情到另一个表情的融合过程。在本发明的实施例中,可以利用已知的era引擎的角色编辑器的morph编辑功能制作表情动画。在本发明的实施例中,还可以使用其他方法和软件,只要能够实现本发明的目的。在本发明的实施例中,可以对面部模型数据和角色表情数据(例如,其中的角色表情模型数据)进行编辑。在本发明的实施例中,使用era引擎的角色编辑器进行上述编辑,游戏角色的面部模型数据和角色表情数据被组装到集成文件(包括morph文件和target文件)。如本领域技术人员知道的,在era引擎的角色编辑器中,target文件是表情动画文件,其包含某个角色表情模型数据相对于面部模型数据的变化信息,而morph文件是游戏角色的所有表情数据文件的集合,其包含关于游戏角色的面部模型数据和所有的target文件名。图8示出了根据本发明的一个实施例的示例性morph文件和target文件。
46.在本发明的实施例中,在利用era引擎的角色编辑器组装morph文件后,可以在bodypart功能下为游戏角色添加该morph文件,然后可以在技能面板中为游戏角色添加表情动画,以便设置表情动画属性。图9示出了根据本发明的一个实施例的添加morph文件的
操作界面。图10示出了根据本发明的一个实施例的设置表情动画属性的操作界面。在本发明的实施例中,可以通过插值计算算法计算从一个表情到另一个表情融合的过程。在本发明的实施例中,“插值计算”具有本领域技术人员通常理解的含义。在本发明的实施例中,进行插值计算的数据上面的经过编辑的面部模型数据和角色表情数据。在本发明的实施例中,图10中的表情动画属性表示的含义如表1中所示:
47.表1
[0048][0049][0050]
本发明还能够使游戏角色实时跟随用户的表情做出相应的表情,这需要利用上面说明的表情特征系数。在本发明的实施例中,可以例如通过era引擎实现游戏角色的实时表情的生成。在本发明的实施例中,可以获取的表情特征系数以及相关联的旋转矩阵传输到era引擎中。在本发明的实施例中,可以通过将面部模型数据与表情特征系数和旋转矩阵进行插值计算,以得到实时的角色表情数据。
[0051]
在本发明的实施例中,还可以通过融合变形处理以“部分替换”的方式改变已经生成的角色表情数据,以快速得到大量新的角色表情数据。图11示出了实施此“部分替换”的方法的节点的示意图,而图12则示出了上述方法的示例性操作示意图。具体而言,在已有的游戏角色的面部模型数据和角色表情数据(该数据可以是实时或非实时生成的)的基础上,选择面部模型数据中需要部分替换的部位(节点),从而将角色表情数据相对应部位的“局部表情”应用到面部模型数据上,进而生成新的角色表情数据。在本发明的实施例中,被替换的部位可以是一个或多个。
[0052]
在本发明的实施例中,角色表情数据,特别是第一角色表情数据,被配置作为所创建的游戏角色的数据的一部分。在本发明的实施例中,角色表情数据可以被保存、分享或下
载。
[0053]
依据角色表情数据进行渲染以生成游戏角色的表情
[0054]
在本发明的实施例中,可以通过本领域已知的方法进行渲染操作以生成最终呈现的表情。在本发明的实施例中,可以将游戏角色的表情作为预览显示给游戏用户。在本发明的实施例中,可以将游戏角色的表情动画给游戏用户预览播放。在本发明的实施例中,可以提供多种接口以便实现上述预览、播放等操作。在本发明的实施例中,可以通过预览、播放等按钮来查看表情或表情动画。
[0055]
在本发明的实施例中,生成的游戏角色的表情还可以在后续的游戏情节或场景进行交互(例如,用于拍照、截图、截屏、录屏),还可以作为聊天用表情包或依据角色剧情给出的表情。在本发明的实施例中,可以将游戏角色的表情,特别是依据第二角色表情数据渲染生成的表情,在游戏的一个或多个游戏情节中进行突出显示,或将该表情在操作游戏角色的用户或游戏情节满足特定条件时,进行加载显示。
[0056]
在下面特别描述在创建角色的场景下本发明的示例性实施例。在用户登陆电子游戏系统后,电子游戏系统根据用户的选择向用户呈现可供进行定制的角色属性,该属性包括但不限于脸型、发色、五官形状等。在用户选择角色属性的过程中,电子游戏系统通过屏幕向用户呈现具备上述角色属性的角色形象。图13示出了根据本发明的一个实施例的创建游戏角色的界面的示意图,其中用户通过对第三个脸型的选择,电子游戏系统在屏幕上显示出匹配该脸型的游戏角色的形象供用户进行预览。
[0057]
除了脸型等面部属性之外,用户还可以对该游戏角色的预置的表情进行选择和预览。图14a和14b是根据本发明的实施例的方法非实时生成的游戏角色的表情的示意图,其中用户可以在电子游戏系统提供的一个表情预览选择窗口中进行选择。电子游戏系统中预存了该游戏角色的多种表情,用户通过选择不同的表情,屏幕上会显示出游戏角色的不同表情的预览。在用户没有进行任何选择的情况下,游戏角色不呈现任何表情,即此时游戏角色的表情对应于游戏角色的面部模型数据所具有的无表情。上述可供预览的角色的表情,可以是通过常规方法由电子游戏系统的开发人员制备的,也可以是通过本发明的生成表情的方法制备的,优选地通过模特的参与由角色表情数据生成的。表情预览选择窗口列出的表情,可以是与第一角色表情数据或第二角色表情数据相对应的。
[0058]
本发明的电子游戏系统还提供了一个接口以选择“实时表情”,该接口例如可以是一个“按钮”或“勾选框”等。图15a和15b是根据本发明的实施例的方法实时生成的游戏角色的表情的示意图。在用户选择了实时表情功能后,电子游戏系统可以通过游戏终端上的摄像头捕获用户的面部表情,并通过本发明的方法将使当前的游戏角色呈现出与用户的面部表情相同的表情。可选地,该生成的游戏角色的实时表情可以被保存以供用户在表情预览窗口进行选择预览,也可以用于电子游戏系统的其他场景中。
[0059]
在角色的表情在电子游戏的游戏情节中突出显示的场景下,本发明的示例性实施例如下:在电子游戏的进行过程中,在某些特别游戏情节中需要突出显示游戏角色的面部,例如当镜头拉近至游戏角色面部以显示游戏角色的表情时。此时,电子游戏系统可以选择将在创建游戏角色时由电子游戏系统预存或由用户制作的表情作为突出显示的表情使用。例如,当需要表现出游戏角色非常高兴时,突出显示的游戏角色的面部可以使用电子游戏系统中预览名称为“高兴”的表情,也可以使用用户在游戏角色创建时生成并保存的名为“喜悦”的表情,另外其还可以使用玩家当前的表情。例如,当前的游戏情节烘托出悲伤的氛围,用户也因此受影响而表情凝重,可以依据本发明的实时或非实时生成游戏角色的表情的方法,使用户操控的角色呈现出用户此时面部的表情。上述游戏功能可以是电子游戏系统中预设的或由用户在游戏设置中选定的。
[0060]
在电子游戏的用户或电子游戏的游戏情节满足特定条件的场景下,本发明的示例性实施例如下:在电子游戏的进行过程中,当用户或游戏情节满足某些特定条件时,可以将根据本发明的方法制备的表情用作游戏角色的表情。特定条件包括但不限于用户达到一定等级、完成某项任务、达成某项成就、游戏剧情进展到特定环节,触发特定隐藏剧情等。此时,电子游戏系统可以选择将在创建游戏角色时由电子游戏系统预存或由用户制作的表情作为游戏角色的表情使用。或者在此时,电子游戏系统开始提供制作实时表情的选项(例如,按钮)以供用户操作。
[0061]
图16示出了实施本发明的实施例的示例性电子游戏系统的示意图。游戏用户能够利用本发明的实施例便捷地生成、共享和播放角色的表情以及相关的动画。游戏用户能够离线地在游戏的客户端进行相关操作,也可以在玩游戏的同时实时地进行相关操作。作为数据源,用户利用实施了本发明的实施例的软件、硬件或软件与硬件混合的模块,通过摄像设备(例如,苹果公司或华为技术有限公司的销售手机)拍摄自己的面部,并且将所拍摄的面部的照片甚至视频提供给本发明所使用的面部处理装置和表情生成装置(例如,arkit软件和r3ds wrap软件)。图16所示的游戏客户端是本发明的实施例之一,能够实现对arkit软件和r3ds wrap软件的调用和对摄像设备的控制。面部处理装置和表情生成装置对所提供的数据进行处理,生成相关模型或表情特征信息,并将相关数据提供给era引擎。玩家通过游戏系统的客户端进行有关角色和表情的相关操作(这些操作可能会调用前述摄像设备和面部处理装置和表情生成装置),包括自拍、角色表情的生成、角色表情传播和角色表情动画的播放、角色表情或动画的保存、角色表情的检索(可以通过era引擎执行检索操作)等等。游戏系统的客户端软件通过计算机网络与游戏服务器进行通信,从而能够支持客户端多角色的实时表情同步,以及在玩家之间进行角色表情的传播或共享。
[0062]
本领域普通技术人员可以意识到,以上所述仅为本发明的示例性实施例,并不用于限制本发明。本发明还可以包含各种修改和变化。任何在本发明的精神和范围内作的修改和变化均应包含在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1