CN117671149A - 智能虚拟角色互动方法、装置、设备及介质 - Google Patents
智能虚拟角色互动方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117671149A CN117671149A CN202311684719.7A CN202311684719A CN117671149A CN 117671149 A CN117671149 A CN 117671149A CN 202311684719 A CN202311684719 A CN 202311684719A CN 117671149 A CN117671149 A CN 117671149A
- Authority
- CN
- China
- Prior art keywords
- data
- character
- shape
- real
- prefabricated
- 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
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000003993 interaction Effects 0.000 title claims abstract description 33
- 230000008921 facial expression Effects 0.000 claims abstract description 101
- 230000014509 gene expression Effects 0.000 claims abstract description 38
- 230000008859 change Effects 0.000 claims abstract description 34
- 210000000988 bone and bone Anatomy 0.000 claims description 58
- 238000013507 mapping Methods 0.000 claims description 47
- 238000010276 construction Methods 0.000 claims description 11
- 239000000463 material Substances 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 7
- 238000005457 optimization Methods 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 claims description 4
- 239000003086 colorant Substances 0.000 claims description 3
- 238000004519 manufacturing process Methods 0.000 claims description 3
- 210000003128 head Anatomy 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 2
- 230000008449 language Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 210000000697 sensory organ Anatomy 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/02—Non-photorealistic rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computer Graphics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供一种智能虚拟角色互动方法、装置、设备及介质,方法包括:在网页环境创建编辑场景,并在所述编辑场景中构建真实角色对应的点云形状,获取生成预制角色形状的源数据,并基于源数据生成预制角色形状,基于点云形状对预制角色形状进行编辑优化,得到真实角色对应的智能虚拟角色;获取用户发出的面部表情驱动指令,确定对应的面部表情变形数据,基于面部表情变形数据驱动智能虚拟角色做出相应的表情变化,采集骨骼的旋转信息,基于骨骼的旋转信息与骨骼绑定数据,驱动智能虚拟角色做出相应的骨骼旋转变化。基于本申请提供的方法,可提高与智能虚拟角色进行人机交互的灵活性。
Description
技术领域
本申请涉及人工智能领域,尤其涉及一种智能虚拟角色互动方法、装置、设备及介质。
背景技术
近年来,人工智能领域的一大趋势是通过建立智能虚拟角色,并实现与所述智能虚拟角色更自然、更亲近的人机交互。
目前生成的智能虚拟角色比较臃肿,文件资源大,模型包含很多lod款式,整体面数多,骨骼数多很多控制表情的骨骼点繁琐且无用,并且只能在特定引擎使用,导出的智能虚拟角色资源浪费,使用起来麻烦,编辑修改也不方便,还得同时手动优化,调用语音产品的接口没法编辑修改,多种原因导致与目前建立的智能虚拟角色无法进行灵活的人机交互。
发明内容
本申请提供一种智能虚拟角色互动方法、装置、设备及介质,可提高与智能虚拟角色进行人机交互的灵活性。
一方面,本申请提供一种智能虚拟角色互动方法,所述方法包括:
在网页环境创建编辑场景,并在所述编辑场景中构建真实角色对应的点云形状,所述点云形状包括所述真实角色每个特征点对应的点云数据;
获取生成预制角色形状的源数据,并基于所述源数据生成预制角色形状,所述源数据包括:mesh模型数据、多层材质贴图数据、多种面部表情变形数据、骨骼绑定数据与蒙皮数据;
基于所述点云形状对所述预制角色形状进行编辑优化,得到真实角色对应的智能虚拟角色;
获取用户发出的面部表情驱动指令,并基于所述面部表情驱动指令确定对应的面部表情变形数据,基于所述面部表情变形数据驱动所述智能虚拟角色做出相应的表情变化;
采集骨骼的旋转信息,基于所述骨骼的旋转信息与所述骨骼绑定数据,驱动所述智能虚拟角色做出相应的骨骼旋转变化。
在一种示例中,所述构建真实角色对应的点云形状包括:
获取关于所述真实角色每个特征点在多个不同角度下对应的点云数据;
基于关于所述真实角色每个特征点在多个不同角度下对应的点云数据,得到所述真实角色每个特征点的深度信息;
基于所述真实角色每个特征点的深度信息构建所述真实角色对应的点云形状。
在一种示例中,所述获取生成预制角色形状的源数据,并基于所述源数据生成预制角色形状包括:
在所述编辑场景中构建预制角色模型;
制作mesh模型的布线标准规范,基于所述mesh模型的布线标准规范得到所述mesh模型数据;
基于所述预制角色模型的PBR规范建立多层贴图通道,基于所述多层贴图通道得到多层材质贴图数据;
基于变形工具扫描所述真实角色的面部,获得多种面部表情变形数据;
在所述预制角色模型内部架设树状链接的骨骼体,把所述mesh模型数据与在所述骨骼体的对应位置进行绑定得到所述骨骼绑定数据,并将mesh模型数据与在所述骨骼体的对应位置绑定完成的数据作为所述蒙皮数据;
将所述mesh模型数据、所述多层材质贴图数据、所述多种面部表情变形数据、所述骨骼绑定数据与所述蒙皮数据应用于所述预制角色模型,得到所述预制角色形状。
在一种示例中,所述基于所述点云形状对所述预制角色形状进行编辑优化,得到真实角色对应的智能虚拟角色包括:
将所述点云形状与所述预制角色形状作对比,将所述预制角色形状按照所述点云形状变形,得到所述智能虚拟角色的形状;
获取所述真实角色每个特征点的皮肤颜色,与多层贴图通道的颜色;
计算所述真实角色每个特征点的皮肤颜色的平均值,并于所述多层贴图通道的颜色进行叠加,得到所述智能虚拟角色的皮肤颜色。
在一种示例中,所述获取用户发出的面部表情驱动指令包括:
通过语音识别技术获取用户发出的语音信息,从所述语音信息确定所述面部表情驱动指令。
在一种示例中,所述方法还包括:
在预制角色模型中预设多种款式的发型与体型;
接收用户的选择指令,确定用户所选择的发型与体型,并将所述所选择的发型与体型叠加到所述预制角色形状中。
另一方面,本申请提供一种智能虚拟角色互动装置,所述装置包括:
构建模块,用于在网页环境创建编辑场景,并在所述编辑场景中构建真实角色对应的点云形状,所述点云形状包括所述真实角色每个特征点对应的点云数据;
获取模块,用于获取生成预制角色形状的源数据,并基于所述源数据生成预制角色形状,所述源数据包括:mesh模型数据、多层材质贴图数据、多种面部表情变形数据、骨骼绑定数据与蒙皮数据;
优化模块,用于基于所述点云形状对所述预制角色形状进行编辑优化,得到真实角色对应的智能虚拟角色;
驱动模块,用于获取用户发出的面部表情驱动指令,并基于所述面部表情驱动指令确定对应的面部表情变形数据,基于所述面部表情变形数据驱动所述智能虚拟角色做出相应的表情变化;
驱动模块,还用于采集骨骼的旋转信息,基于所述骨骼的旋转信息与所述骨骼绑定数据,驱动所述智能虚拟角色做出相应的骨骼旋转变化。
在一种示例中,所述构建模块,具体用于获取关于所述真实角色每个特征点在多个不同角度下对应的点云数据;
所述构建模块,具体还用于基于关于所述真实角色每个特征点在多个不同角度下对应的点云数据,得到所述真实角色每个特征点的深度信息;
所述构建模块,具体还用于基于所述真实角色每个特征点的深度信息构建所述真实角色对应的点云形状。
又一方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如前所述的方法。
又一方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如前任一项所述的方法。
本申请提供的智能虚拟角色互动方法、装置、设备及介质,在网页环境创建编辑场景,并在所述编辑场景中构建真实角色对应的点云形状,获取生成预制角色形状的源数据,并基于所述源数据生成预制角色形状,基于所述点云形状对所述预制角色形状进行编辑优化,得到真实角色对应的智能虚拟角色,获取用户发出的面部表情驱动指令,并基于所述面部表情驱动指令确定对应的面部表情变形数据,基于所述面部表情变形数据驱动所述智能虚拟角色做出相应的表情变化;采集骨骼的旋转信息,基于所述骨骼的旋转信息与所述骨骼绑定数据,驱动所述智能虚拟角色做出相应的骨骼旋转变化。本示例提供的方法,采用预制角色形状生成智能虚拟角色,所述预制角色形状可进行灵活性的编辑,并且生成的智能虚拟角色可根据表情驱动指令与骨骼的旋转信息灵活的做出对应的表情变化与骨骼旋转变化,极大的提高与智能虚拟角色进行人机交互的灵活性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请示例的应用场景示意图;
图2为本申请实施例一提供的一种智能虚拟角色互动方法的流程示意图;
图3为示例的面部表情变化示意图;
图4为示例的骨骼绑定数据驱动格式的示意图;
图5为本申请实施例一提供的另一种智能虚拟角色互动方法的流程示意图;
图6为示例的点云形状;
图7为本申请实施例一提供的又一种智能虚拟角色互动方法的流程示意图;
图8为本申请实施例一提供的又一种智能虚拟角色互动方法的流程示意图;
图9为本申请实施例二提供的一种智能虚拟角色互动装置的结构示意图;
图10为本申请实施例三中提供的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
智能虚拟角色是指通过人工智能技术构建出的具有人类形象和语言交互功能的虚拟人物,其外观、语言、情感、行为等可由开发者自行设计和定制。目前,智能虚拟角色已经广泛应用于教育、医疗、金融、电商等行业。
目前生成的智能虚拟角色比较臃肿,文件资源大,模型包含很多lod款式,整体面数多,骨骼数多很多控制表情的骨骼点繁琐且无用,并且只能在特定引擎使用,导出的智能虚拟角色资源浪费,使用起来麻烦,编辑修改也不方便,还得同时手动优化,调用语音产品的接口没法编辑修改,多种原因导致与目前建立的智能虚拟角色无法进行灵活的人机交互。
图1为本申请示例的应用场景示意图,在网页环境创建编辑场景,并在所述编辑场景中构建真实角色对应的点云形状,获取生成预制角色形状的源数据,并基于所述源数据生成预制角色形状,基于所述点云形状对所述预制角色形状进行编辑优化,得到真实角色对应的智能虚拟角色,获取用户发出的面部表情驱动指令,并基于所述面部表情驱动指令确定对应的面部表情变形数据,基于所述面部表情变形数据驱动所述智能虚拟角色做出相应的表情变化;采集骨骼的旋转信息,基于所述骨骼的旋转信息与所述骨骼绑定数据,驱动所述智能虚拟角色做出相应的骨骼旋转变化。本示例提供的方法,采用预制角色形状生成智能虚拟角色,所述预制角色形状可进行灵活性的编辑,并且生成的智能虚拟角色可根据表情驱动指令与骨骼的旋转信息灵活的做出对应的表情变化与骨骼旋转变化,极大的提高与智能虚拟角色进行人机交互的灵活性。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
下面以具体的实施例对本申请的技术方案以及本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。在本申请的描述中,除非另有明确的规定和限定,各术语应在本领域内做广义理解。下面将结合附图,对本申请的实施例进行描述。
实施例一
图2为本申请实施例一提供的一种智能虚拟角色互动方法的流程示意图,如图2所示,所述方法包括:
步骤201、在网页环境创建编辑场景,并在所述编辑场景中构建真实角色对应的点云形状,所述点云形状包括所述真实角色每个特征点对应的点云数据;
步骤202、获取生成预制角色形状的源数据,并基于所述源数据生成预制角色形状,所述源数据包括:mesh模型数据、多层材质贴图数据、多种面部表情变形数据、骨骼绑定数据与蒙皮数据;
步骤203、基于所述点云形状对所述预制角色形状进行编辑优化,得到真实角色对应的智能虚拟角色;
步骤204、获取用户发出的面部表情驱动指令,并基于所述面部表情驱动指令确定对应的面部表情变形数据,基于所述面部表情变形数据驱动所述智能虚拟角色做出相应的表情变化;
步骤205、采集骨骼的旋转信息,基于所述骨骼的旋转信息与所述骨骼绑定数据,驱动所述智能虚拟角色做出相应的骨骼旋转变化。
本实施例的执行主体为智能虚拟角色互动装置,所述智能虚拟角色互动装置可以通过计算机程序实现,例如,应用软件等;或者,也可以实现为存储有相关计算机程序的介质,例如,U盘、云盘等;再或者,还可以通过集成或安装有相关计算机程序的实体装置实现,例如,芯片等。
结合场景示例,可基于threejs第三方库在网页环境创建一个编辑场景,基于所述编辑场景构建本申请所需的智能虚拟角色。首先,选定真实角色,所述真实角色可选取一个志愿者,以建立所述智能虚拟角色的头部为例,获取所述真实角色头部的真实数据,所述真实数据可以为所述真实角色头部上每个特征点的点云数据,比如每个五官的对应的点云数据,根据所述真实角色头部上每个特征点的点云数据在所述编辑场景中,可构成所述真实角色对应的点云形状。
但是所述点云形状是基于采集的点云数据所构建的,不能随意更改表情或做出其他动作,为了使得所构建的形状可以随着用户的指令进行相应的变化,可创建一个预制角色形状。首先,先获取可创建所述预制角色形状的源数据,在所述源数据中,所述mesh模型数据为无线网格网络数据,用于建立所述预制角色形状上的网格形状;所述多层材质贴图数据包括5层贴图通道,包括基础贴图、法线贴图、金属度贴图、粗糙度贴图与透明贴图;所述多种面部表情变形数据用于驱动所述预制角色形状做出相应的面部表情,所述骨骼绑定数据用于驱动所述预制角色形状做出相应的骨骼动作,所述蒙皮数据主要为所述预制角色形状的皮肤数据。
创建的预制角色形状为标准的脸部形状,为了使得所述预制角色形状贴近于所述真实角色,所以将所述预制角色形状按照所述真实角色对应的点云形状进行调整,由于所述真实角色对应的智能虚拟角色是基于所述预制角色形状调整得到的,所以,得到的所述智能虚拟角色可以根据用户的指令做出相应的修改。示例的,可获取用户发出的面部表情驱动指令,比如用户向所述智能虚拟角色发出闭眼的驱动指令,图3为示例的面部表情变化示意图,如图3所示,所述智能虚拟角色可根据闭眼对应的面部表情变形数据驱动所述智能虚拟角色做出闭眼的动作。
同理,获取用户发出的骨骼旋转指令,所述骨骼旋转指令可通过采集用户发出的骨骼旋转信息,记录所述骨骼旋转信息,基于所述对应的骨骼绑定数据驱动所述预制角色形状做出相应的骨骼旋转变化,图4为示例的骨骼绑定数据驱动格式的示意图,比如点头,摇头等骨骼旋转变化。
本示例在网页环境创建编辑场景,并在所述编辑场景中构建真实角色对应的点云形状,获取生成预制角色形状的源数据,并基于所述源数据生成预制角色形状,基于所述点云形状对所述预制角色形状进行编辑优化,得到真实角色对应的智能虚拟角色,获取用户发出的面部表情驱动指令,并基于所述面部表情驱动指令确定对应的面部表情变形数据,基于所述面部表情变形数据驱动所述智能虚拟角色做出相应的表情变化;采集骨骼的旋转信息,基于所述骨骼的旋转信息与所述骨骼绑定数据,驱动所述智能虚拟角色做出相应的骨骼旋转变化。本示例提供的方法,采用预制角色形状生成智能虚拟角色,所述预制角色形状可进行灵活性的编辑,并且生成的智能虚拟角色可根据表情驱动指令与骨骼的旋转信息灵活的做出对应的表情变化与骨骼旋转变化,极大的提高与智能虚拟角色进行人机交互的灵活性。
可选的,图5为本申请实施例一提供的另一种智能虚拟角色互动方法的流程示意图,如图5所示,所述步骤201中,所述构建真实角色对应的点云形状包括:
步骤501、获取关于所述真实角色每个特征点在多个不同角度下对应的点云数据;
步骤502、基于关于所述真实角色每个特征点在多个不同角度下对应的点云数据,得到所述真实角色每个特征点的深度信息;
步骤503、基于所述真实角色每个特征点的深度信息构建所述真实角色对应的点云形状。
结合场景示例,由于建立的点云形状为3D的,所以需要所述真实角色每个特征点的深度信息,基于所述深度信息构建所述点云形状。具体的获取所述真实角色在各个角度下的图像,可以围绕所述真实角色进行360°的拍摄得到关于所述真实角色各个角度的视频或照片,从所述视频或照片中进行特征点提取,得到所述真实角色的每个特征点在各个角度下的点云数据,然后基于所述真实角色在各个角度下的点云数据得到每个特征点的深度信息,最后基于每个特征点的深度信息构建所述真实角色的点云形状,图6为示例的点云形状。基于本示例提供的方法,可通过拍摄关于所述真实角色各个角度的照片或视频,得到所述真实角色每个特征点的深度信息,并根据深度信息构建关于所述真实角色的点云形状。
可选的,图7为本申请实施例一提供的又一种智能虚拟角色互动方法的流程示意图,如图7所示,所述步骤202中,所述获取生成预制角色形状的源数据,并基于所述源数据生成预制角色形状包括:
步骤701、在所述编辑场景中构建预制角色模型;
步骤702、制作mesh模型的布线标准规范,基于所述mesh模型的布线标准规范得到所述mesh模型数据;
步骤703、基于所述预制角色模型的PBR规范建立多层贴图通道,基于所述多层贴图通道得到多层材质贴图数据;
步骤704、基于变形工具扫描所述真实角色的面部,获得多种面部表情变形数据;
步骤705、在所述预制角色模型内部架设树状链接的骨骼体,把所述mesh模型数据与在所述骨骼体的对应位置进行绑定得到所述骨骼绑定数据,并将mesh模型数据与在所述骨骼体的对应位置绑定完成的数据作为所述蒙皮数据;
步骤706、将所述mesh模型数据、所述多层材质贴图数据、所述多种面部表情变形数据、所述骨骼绑定数据与所述蒙皮数据应用于所述预制角色模型,得到所述预制角色形状。
结合场景示例,对于所述预制角色形状的建立可基于预制角色模型,所述预制角色形状的调整依赖于所述预制角色模型,以及得到的智能虚拟角色进行表情变化与骨骼旋转变化也依赖于所述预制角色模型。具体的,所述预制角色模型的格式可选择为webgl支持的gltf格式,其中,webgl是一种3D绘图协议,gltf用于引擎和应用程序高效传输和加载3D场景和模型。然后,制作mesh模型的布线标准规范得到mesh模型数据,并将得到的mesh模型数据存入到gltf格式的预制角色模型文件中。使用gltf的基于物理的渲染(PhysicallyBased Rendering,简称PBR)的规范创建所述多层贴图通道得到多层材质贴图数据,并按照mesh展好的uv方式贴到所述预制角色模型中,存入gltf格式的预制角色模型文件中。提前制作角色面部的多种表情变化,每一种表情变化对应一种面部表情变形数据,基于所述表情变形数据得到动画模型,所述动画模型要求布线均匀尽可能四边面没有星状点没有重面、破面,中段数模型控制面数保证流畅性,比如制作51种多种表情变化,则可得到51种动画模型。在模型内部架设树状链接的骨骼体把mesh上的顶点绑定在骨骼体上得到所述骨骼绑定数据与蒙皮数据,每个骨骼体的旋转就是动画的旋转,记录骨骼体的旋转信息与所述骨骼绑定数据用来驱动所述动画模型。
在得到用户发出的表情面部表情驱动指令后,确定对应的动画模型,根据动画模型中的面部表情变形数据驱动所述预制角色形状做出相应的变化。同理,根据得到的骨骼旋转指令,根据对应的骨骼体的旋转信息与所述骨骼绑定数据驱动所述预制角色形状做出相应的变化。
可选的,图8为本申请实施例一提供的又一种智能虚拟角色互动方法的流程示意图,如图8所示,所述步骤203中包括:
步骤801、将所述点云形状与所述预制角色形状作对比,将所述预制角色形状按照所述点云形状变形,得到所述智能虚拟角色的形状;
步骤802、获取所述真实角色每个特征点的皮肤颜色,与多层贴图通道的颜色;
步骤803、计算所述真实角色每个特征点的皮肤颜色的平均值,并于所述多层贴图通道的颜色进行叠加,得到所述智能虚拟角色的皮肤颜色。
结合场景示例,将所述点云形状与所述预制角色形状作对比,直接拾取每个特征点附近的点按照点云模型的数据直接软选择变化得到所述智能虚拟角色的形状,获取所述真实角色的真实皮肤上每个特征点对应的皮肤颜色与每个贴图通道的颜色,将每个贴图通道的颜色进行叠加,并计算所述真实角色的真实皮肤上每个特征点对应的皮肤颜色的平均值,并将所述平均值与每个贴图通道叠加后的颜色进行混合生成所述智能虚拟角色的皮肤颜色,基于所述智能虚拟角色的形状与皮肤颜色,得到所述智能虚拟角色。
可选的,所述获取用户发出的面部表情驱动指令包括:
通过语音识别技术获取用户发出的语音信息,从所述语音信息确定所述面部表情驱动指令。
结合场景示例,可以引用语音接口获取语音信息,用户可以向所述智能虚拟角色发出语音信息,所述语音信息一般为向所述智能虚拟角色发送的面部表情驱动指令,比如通过向所述智能虚拟角色发送微笑的面部表情驱动指令,通过所述语音接口获得所述面部表情驱动指令,并从所述面部表情变形数据中确定出关于微笑的面部表情变形数据,并基于所述微笑的面部表情变形数据驱动所述智能虚拟角色做出微笑的表情。类似的,可通过所述语音接口获得其他面部表情驱动指令,通过其他面部表情驱动指令的面部表情变形数据驱使所述智能虚拟角色做出其他面部表情。
可选的,所述方法还包括:
在预制角色模型中预设多种款式的发型与体型;
接收用户的选择指令,确定用户所选择的发型与体型,并将所述所选择的发型与体型叠加到所述预制角色形状中。
结合场景示例,目前得到的智能虚拟角色只包括头部,为了使得智能虚拟角色更加多样化,可在所述预制角色模型中预先制作多种不同的发型的模型,与不同的体型的模型,可通过制作的多种不同的发型的模型,与不同的体型的模型与所述预制角色形状进行随意叠加。具体的,可通过接收用户选定的发型与体型,并从所述预制角色模型中确定用户所选择的发型与体型对应的模型,并将确定出的发型与体型对应的模型叠加到所述预制角色形状上得到更加形象的智能虚拟角色。
本实施例在网页环境创建编辑场景,并在所述编辑场景中构建真实角色对应的点云形状,获取生成预制角色形状的源数据,并基于所述源数据生成预制角色形状,基于所述点云形状对所述预制角色形状进行编辑优化,得到真实角色对应的智能虚拟角色,获取用户发出的面部表情驱动指令,并基于所述面部表情驱动指令确定对应的面部表情变形数据,基于所述面部表情变形数据驱动所述智能虚拟角色做出相应的表情变化;采集骨骼的旋转信息,基于所述骨骼的旋转信息与所述骨骼绑定数据,驱动所述智能虚拟角色做出相应的骨骼旋转变化。本实施例提供的方法,采用预制角色形状生成智能虚拟角色,所述预制角色形状可进行灵活性的编辑,并且生成的智能虚拟角色可根据表情驱动指令与骨骼的旋转信息灵活的做出对应的表情变化与骨骼旋转变化,极大的提高与智能虚拟角色进行人机交互的灵活性。
实施例二
图9为本申请实施例二提供的一种智能虚拟角色互动装置的结构示意图,如图9所示,所述装置包括:
构建模块91,用于在网页环境创建编辑场景,并在所述编辑场景中构建真实角色对应的点云形状,所述点云形状包括所述真实角色每个特征点对应的点云数据;
获取模块92,用于获取生成预制角色形状的源数据,并基于所述源数据生成预制角色形状,所述源数据包括:mesh模型数据、多层材质贴图数据、多种面部表情变形数据、骨骼绑定数据与蒙皮数据;
优化模块93,用于基于所述点云形状对所述预制角色形状进行编辑优化,得到真实角色对应的智能虚拟角色;
驱动模块94,用于获取用户发出的面部表情驱动指令,并基于所述面部表情驱动指令确定对应的面部表情变形数据,基于所述面部表情变形数据驱动所述智能虚拟角色做出相应的表情变化;
驱动模块94,还用于采集骨骼的旋转信息,基于所述骨骼的旋转信息与所述骨骼绑定数据,驱动所述智能虚拟角色做出相应的骨骼旋转变化。
结合场景示例,构建模块91可基于threejs第三方库在网页环境创建一个编辑场景,基于所述编辑场景构建本申请所需的智能虚拟角色。首先,选定真实角色,所述真实角色可选取一个志愿者,以建立所述智能虚拟角色的头部为例,获取所述真实角色头部的真实数据,所述真实数据可以为所述真实角色头部上每个特征点的点云数据,比如每个五官的对应的点云数据,根据所述真实角色头部上每个特征点的点云数据在所述编辑场景中,可构成所述真实角色对应的点云形状。
但是所述点云形状是基于采集的点云数据所构建的,不能随意更改表情或做出其他动作,为了使得所构建的形状可以随着用户的指令进行相应的变化,可创建一个预制角色形状。首先,获取模块92先获取可创建所述预制角色形状的源数据,在所述源数据中,所述mesh模型数据为无线网格网络数据,用于建立所述预制角色形状上的网格形状;所述多层材质贴图数据包括5层贴图通道,包括基础贴图、法线贴图、金属度贴图、粗糙度贴图与透明贴图;所述多种面部表情变形数据用于驱动所述预制角色形状做出相应的面部表情,所述骨骼绑定数据用于驱动所述预制角色形状做出相应的骨骼动作,所述蒙皮数据主要为所述预制角色形状的皮肤数据。
创建的预制角色形状为标准的脸部形状,为了使得所述预制角色形状贴近于所述真实角色,所以优化模块93将所述预制角色形状按照所述真实角色对应的点云形状进行调整,由于所述真实角色对应的智能虚拟角色是基于所述预制角色形状调整得到的,所以,得到的所述智能虚拟角色可以根据用户的指令做出相应的修改。示例的,驱动模块94可获取用户发出的面部表情驱动指令,比如用户向所述智能虚拟角色发出闭眼的驱动指令,所述智能虚拟角色可根据闭眼对应的面部表情变形数据驱动所述智能虚拟角色做出闭眼的动作。
同理,驱动模块94获取用户发出的骨骼旋转指令,所述骨骼旋转指令可通过采集用户发出的骨骼旋转信息,记录所述骨骼旋转信息,基于所述对应的骨骼绑定数据驱动所述预制角色形状做出相应的骨骼旋转变化,图4为示例的骨骼绑定数据驱动格式的示意图,比如点头,摇头等骨骼旋转变化。
可选的,构建模块91,具体用于获取关于所述真实角色每个特征点在多个不同角度下对应的点云数据;
构建模块91,具体还用于基于关于所述真实角色每个特征点在多个不同角度下对应的点云数据,得到所述真实角色每个特征点的深度信息;
构建模块91,具体还用于基于所述真实角色每个特征点的深度信息构建所述真实角色对应的点云形状。
结合场景示例,由于建立的点云形状为3D的,所以需要所述真实角色每个特征点的深度信息,基于所述深度信息构建所述点云形状。具体的获取所述真实角色在各个角度下的图像,可以围绕所述真实角色进行360°的拍摄得到关于所述真实角色各个角度的视频或照片,从所述视频或照片中进行特征点提取,得到所述真实角色的每个特征点在各个角度下的点云数据,然后基于所述真实角色在各个角度下的点云数据得到每个特征点的深度信息,最后构建模块91基于每个特征点的深度信息构建所述真实角色的点云形状。基于本示例提供的方法,可通过拍摄关于所述真实角色各个角度的照片或视频,得到所述真实角色每个特征点的深度信息,并根据深度信息构建关于所述真实角色的点云形状。
可选的,构建模块91对于所述预制角色形状的建立可基于预制角色模型,所述预制角色形状的调整依赖于所述预制角色模型,以及得到的智能虚拟角色进行表情变化与骨骼旋转变化也依赖于所述预制角色模型。具体的,所述预制角色模型的格式可选择为webgl支持的gltf格式,其中,webgl是一种3D绘图协议,gltf用于引擎和应用程序高效传输和加载3D场景和模型。然后,制作mesh模型的布线标准规范得到mesh模型数据,并将得到的mesh模型数据存入到gltf格式的预制角色模型文件中。使用gltf的PBR规范创建所述多层贴图通道得到多层材质贴图数据,并按照mesh展好的uv方式贴到所述预制角色模型中,存入gltf格式的预制角色模型文件中。提前制作角色面部的多种表情变化,每一种表情变化对应一种面部表情变形数据,基于所述表情变形数据得到动画模型,所述动画模型要求布线均匀尽可能四边面没有星状点没有重面、破面,中段数模型控制面数保证流畅性,比如制作51种多种表情变化,则可得到51种动画模型。在模型内部架设树状链接的骨骼体把mesh上的顶点绑定在骨骼体上得到所述骨骼绑定数据与蒙皮数据,每个骨骼体的旋转就是动画的旋转,记录骨骼体的旋转信息与所述骨骼绑定数据用来驱动所述动画模型。
在得到用户发出的表情面部表情驱动指令后,确定对应的动画模型,根据动画模型中的面部表情变形数据驱动所述预制角色形状做出相应的变化。同理,根据得到的骨骼旋转指令,根据对应的骨骼体的旋转信息与所述骨骼绑定数据驱动所述预制角色形状做出相应的变化。
可选的,将所述点云形状与所述预制角色形状作对比,直接拾取每个特征点附近的点按照点云模型的数据直接软选择变化得到所述智能虚拟角色的形状,获取所述真实角色的真实皮肤上每个特征点对应的皮肤颜色与每个贴图通道的颜色,将每个贴图通道的颜色进行叠加,并计算所述真实角色的真实皮肤上每个特征点对应的皮肤颜色的平均值,并将所述平均值与每个贴图通道叠加后的颜色进行混合生成所述智能虚拟角色的皮肤颜色,基于所述智能虚拟角色的形状与皮肤颜色,得到所述智能虚拟角色。
可选的,可以引用语音接口获取语音信息,用户可以向所述智能虚拟角色发出语音信息,所述语音信息一般为向所述智能虚拟角色发送的面部表情驱动指令,比如通过向所述智能虚拟角色发送微笑的面部表情驱动指令,通过所述语音接口获得所述面部表情驱动指令,并从所述面部表情变形数据中确定出关于微笑的面部表情变形数据,并基于所述微笑的面部表情变形数据驱动所述智能虚拟角色做出微笑的表情。类似的,可通过所述语音接口获得其他面部表情驱动指令,通过其他面部表情驱动指令的面部表情变形数据驱使所述智能虚拟角色做出其他面部表情。
可选的,目前得到的智能虚拟角色只包括头部,为了使得智能虚拟角色更加多样化,可在所述预制角色模型中预先制作多种不同的发型的模型,与不同的体型的模型,可通过制作的多种不同的发型的模型,与不同的体型的模型与所述预制角色形状进行随意叠加。具体的,可通过接收用户选定的发型与体型,并从所述预制角色模型中确定用户所选择的发型与体型对应的模型,并将确定出的发型与体型对应的模型叠加到所述预制角色形状上得到更加形象的智能虚拟角色。
本实施例构建模块在网页环境创建编辑场景,并在所述编辑场景中构建真实角色对应的点云形状,获取模块获取生成预制角色形状的源数据,并基于所述源数据生成预制角色形状,优化模块基于所述点云形状对所述预制角色形状进行编辑优化,得到真实角色对应的智能虚拟角色,获取用户发出的面部表情驱动指令,驱动模块并基于所述面部表情驱动指令确定对应的面部表情变形数据,基于所述面部表情变形数据驱动所述智能虚拟角色做出相应的表情变化;驱动模块采集骨骼的旋转信息,基于所述骨骼的旋转信息与所述骨骼绑定数据,驱动所述智能虚拟角色做出相应的骨骼旋转变化。本实施例提供的方法,采用预制角色形状生成智能虚拟角色,所述预制角色形状可进行灵活性的编辑,并且生成的智能虚拟角色可根据表情驱动指令与骨骼的旋转信息灵活的做出对应的表情变化与骨骼旋转变化,极大的提高与智能虚拟角色进行人机交互的灵活性。
本实施例提供的装置,可用于执行如前所示的方法实施例,其实现原理和技术效果类似,此处不再赘述。
实施例三
图10为本申请实施例三中提供的一种电子设备的结构示意图,如图10所示,该电子设备包括:
处理器(processor)291,以及与所述处理器通信连接的存储器(memory)292;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令。还可以包括通信接口(Communication Interface)293和总线294。其中,处理器291、存储器292、通信接口293、可以通过总线294完成相互间的通信。通信接口293可以用于信息传输。处理器291可以调用存储器292中的逻辑指令,以执行上述实施例一的方法。
此外,上述的存储器292中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器292作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本申请实施例中的方法对应的程序指令/模块。处理器291通过运行存储在存储器292中的软件程序、指令以及模块,从而执行功能应用以及数据处理,即实现上述实施例一的方法。
存储器292可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器292可以包括高速随机存取存储器,还可以包括非易失性存储器。
本申请实施例提供一种非临时性计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如前述实施例所述的方法。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (10)
1.一种智能虚拟角色互动方法,其特征在于,所述方法包括:
在网页环境创建编辑场景,并在所述编辑场景中构建真实角色对应的点云形状,所述点云形状包括所述真实角色每个特征点对应的点云数据;
获取生成预制角色形状的源数据,并基于所述源数据生成预制角色形状,所述源数据包括:mesh模型数据、多层材质贴图数据、多种面部表情变形数据、骨骼绑定数据与蒙皮数据;
基于所述点云形状对所述预制角色形状进行编辑优化,得到真实角色对应的智能虚拟角色;
获取用户发出的面部表情驱动指令,并基于所述面部表情驱动指令确定对应的面部表情变形数据,基于所述面部表情变形数据驱动所述智能虚拟角色做出相应的表情变化;
采集骨骼的旋转信息,基于所述骨骼的旋转信息与所述骨骼绑定数据,驱动所述智能虚拟角色做出相应的骨骼旋转变化。
2.根据权利要求1所述的方法,其特征在于,所述构建真实角色对应的点云形状包括:
获取关于所述真实角色每个特征点在多个不同角度下对应的点云数据;
基于关于所述真实角色每个特征点在多个不同角度下对应的点云数据,得到所述真实角色每个特征点的深度信息;
基于所述真实角色每个特征点的深度信息构建所述真实角色对应的点云形状。
3.根据权利要求1所述的方法,其特征在于,所述获取生成预制角色形状的源数据,并基于所述源数据生成预制角色形状包括:
在所述编辑场景中构建预制角色模型;
制作mesh模型的布线标准规范,基于所述mesh模型的布线标准规范得到所述mesh模型数据;
基于所述预制角色模型的PBR规范建立多层贴图通道,基于所述多层贴图通道得到多层材质贴图数据;
基于变形工具扫描所述真实角色的面部,获得多种面部表情变形数据;
在所述预制角色模型内部架设树状链接的骨骼体,把所述mesh模型数据与在所述骨骼体的对应位置进行绑定得到所述骨骼绑定数据,并将mesh模型数据与在所述骨骼体的对应位置绑定完成的数据作为所述蒙皮数据;
将所述mesh模型数据、所述多层材质贴图数据、所述多种面部表情变形数据、所述骨骼绑定数据与所述蒙皮数据应用于所述预制角色模型,得到所述预制角色形状。
4.根据权利要求1所述的方法,其特征在于,所述基于所述点云形状对所述预制角色形状进行编辑优化,得到真实角色对应的智能虚拟角色包括:
将所述点云形状与所述预制角色形状作对比,将所述预制角色形状按照所述点云形状变形,得到所述智能虚拟角色的形状;
获取所述真实角色每个特征点的皮肤颜色,与多层贴图通道的颜色;
计算所述真实角色每个特征点的皮肤颜色的平均值,并于所述多层贴图通道的颜色进行叠加,得到所述智能虚拟角色的皮肤颜色。
5.根据权利要求1所述的方法,其特征在于,所述获取用户发出的面部表情驱动指令包括:
通过语音识别技术获取用户发出的语音信息,从所述语音信息确定所述面部表情驱动指令。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
在预制角色模型中预设多种款式的发型与体型;
接收用户的选择指令,确定用户所选择的发型与体型,并将所述所选择的发型与体型叠加到所述预制角色形状中。
7.一种智能虚拟角色互动装置,其特征在于,所述装置包括:
构建模块,用于在网页环境创建编辑场景,并在所述编辑场景中构建真实角色对应的点云形状,所述点云形状包括所述真实角色每个特征点对应的点云数据;
获取模块,用于获取生成预制角色形状的源数据,并基于所述源数据生成预制角色形状,所述源数据包括:mesh模型数据、多层材质贴图数据、多种面部表情变形数据、骨骼绑定数据与蒙皮数据;
优化模块,用于基于所述点云形状对所述预制角色形状进行编辑优化,得到真实角色对应的智能虚拟角色;
驱动模块,用于获取用户发出的面部表情驱动指令,并基于所述面部表情驱动指令确定对应的面部表情变形数据,基于所述面部表情变形数据驱动所述智能虚拟角色做出相应的表情变化;
驱动模块,还用于采集骨骼的旋转信息,基于所述骨骼的旋转信息与所述骨骼绑定数据,驱动所述智能虚拟角色做出相应的骨骼旋转变化。
8.根据权利要求7所述的装置,其特征在于,
所述构建模块,具体用于获取关于所述真实角色每个特征点在多个不同角度下对应的点云数据;
所述构建模块,具体还用于基于关于所述真实角色每个特征点在多个不同角度下对应的点云数据,得到所述真实角色每个特征点的深度信息;
所述构建模块,具体还用于基于所述真实角色每个特征点的深度信息构建所述真实角色对应的点云形状。
9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-6中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311684719.7A CN117671149A (zh) | 2023-12-08 | 2023-12-08 | 智能虚拟角色互动方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311684719.7A CN117671149A (zh) | 2023-12-08 | 2023-12-08 | 智能虚拟角色互动方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117671149A true CN117671149A (zh) | 2024-03-08 |
Family
ID=90080495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311684719.7A Pending CN117671149A (zh) | 2023-12-08 | 2023-12-08 | 智能虚拟角色互动方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117671149A (zh) |
-
2023
- 2023-12-08 CN CN202311684719.7A patent/CN117671149A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20210119438A (ko) | 얼굴 재연을 위한 시스템 및 방법 | |
CN106710003B (zh) | 一种基于OpenGL ES的三维拍照方法和系统 | |
US8933928B2 (en) | Multiview face content creation | |
JP3288353B2 (ja) | 顔イメージから開始して3d顔モデルを作る方法 | |
CN108335345A (zh) | 面部动画模型的控制方法及装置、计算设备 | |
JP7483301B2 (ja) | 画像処理及び画像合成方法、装置及びコンピュータプログラム | |
US11157773B2 (en) | Image editing by a generative adversarial network using keypoints or segmentation masks constraints | |
US10964083B1 (en) | Facial animation models | |
CN109151540A (zh) | 视频图像的交互处理方法及装置 | |
US11158104B1 (en) | Systems and methods for building a pseudo-muscle topology of a live actor in computer animation | |
CN115393480A (zh) | 基于动态神经纹理的说话人合成方法、装置和存储介质 | |
JP2023512129A (ja) | スキンアニメーションの微細詳細を推測する方法 | |
WO2024077791A1 (zh) | 视频生成方法、装置、设备与计算机可读存储介质 | |
CN117671149A (zh) | 智能虚拟角色互动方法、装置、设备及介质 | |
CN116958344A (zh) | 虚拟形象的动画生成方法、装置、计算机设备及存储介质 | |
US11682156B2 (en) | Method for controlling digital feather growth between two manifolds in a computer simulated creature | |
US20220076409A1 (en) | Systems and Methods for Building a Skin-to-Muscle Transformation in Computer Animation | |
CN115631516A (zh) | 人脸图像处理方法、装置、设备及计算机可读存储介质 | |
JP2000306118A (ja) | 樹木のテクスチャ生成装置 | |
CN112686990A (zh) | 一种三维模型显示方法、装置、存储介质和计算机设备 | |
US11348286B1 (en) | Method for controlling digital feather generations through a user interface in a computer modeling system | |
KR102318111B1 (ko) | 사용자의 얼굴을 캐릭터에 반영하는 스티커 제공 스토리북 생성 방법 및 장치 | |
CN111696182A (zh) | 一种虚拟主播生成系统、方法和存储介质 | |
KR20190109639A (ko) | 인공지능을 이용한 3d 어플리케이션 생성 방법 및 장치 | |
US11158103B1 (en) | Systems and methods for data bundles in computer animation |
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 |