掌桥专利:专业的专利平台
掌桥专利
首页

一种虚拟对象的控制方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 11:45:49


一种虚拟对象的控制方法、装置、电子设备及存储介质

技术领域

本公开涉及互联网技术领域,尤其涉及一种虚拟对象的控制方法、装置、电子设备及存储介质。

背景技术

随机计算机技术的发展,对身体部位的三维重建的应用也得到大力的发展。

相关技术中,通常使用选择1名健康的中年男性志愿者作为建模对象,通过薄层胸部CT连续扫描得到DICOM格式的全部图像数据。将CT图像导入Mimics 18.0软件,进行图像分割、三维模型计算,在PC机上快速构建胸部整体的三维数字可视化模型。这种方式虽然实现了二维图像到三维对象的转化,但是一种基于CT二维投影的三维重建方式,成本较高,输入限制较大。

发明内容

本公开提供一种虚拟对象的控制方法、装置、电子设备及存储介质,以至少解决相关技术中由二维图像到三维对象的转化出现的成本较大的问题。本公开的技术方案如下:

根据本公开实施例的第一方面,提供一种虚拟对象的控制方法,包括:

获取包含第一对象的第一图像;

获取第一对象对应的三维模型的初始UV贴图;

根据第一对象的轮廓和尺寸,将第一图像映射到初始UV贴图上,得到第一对象的UV贴图;

在三维模型上显示第一对象的UV贴图,得到三维虚拟对象;

获取三维虚拟对象的调整参数,调整参数包括形变参数、呼吸频率参数和晃动参数中的至少一种;

根据调整参数对三维虚拟对象进行调整。

在一个可选的实施例中,上述获取三维虚拟对象的调整参数包括:

获取三维虚拟对象的形变参数;

根据调整参数对三维虚拟对象进行调整包括:

根据形变参数确定三维虚拟对象中骨骼的移动距离;

根据移动距离、三维虚拟对象的初始骨骼信息和三维虚拟对象的初始蒙皮信息,对三维虚拟对象的形状进行调整。

在一个可选的实施例中,上述获取三维虚拟对象的调整参数包括:

获取三维虚拟对象的呼吸频率参数;

根据调整参数对三维虚拟对象进行调整包括:

根据呼吸频率参数确定三维虚拟对象中骨骼在竖直方向上的相对位移变化频率;

根据在竖直方向上的相对位移变化频率、预设位移循环函数和三维虚拟对象的初始蒙皮信息,对三维虚拟对象在竖直方向上的周期性运动进行调整。

在一个可选的实施例中,上述获取三维虚拟对象的调整参数包括:

响应于对三维虚拟对象的晃动操作,获取三维虚拟对象的晃动参数;晃动参数包括晃动幅度和晃动速度;

根据调整参数对三维虚拟对象进行调整包括:

获取三维虚拟对象的填充材质信息和轮廓大小信息;

根据填充材质信息和轮廓大小信息确定三维虚拟对象的可变形程度信息;

根据弹簧形变模型、晃动幅度、晃动速度和可变形程度信息确定三维虚拟对象中骨骼的相对角度变化信息;

根据相对角度变化信息、三维虚拟对象的初始骨骼信息和三维虚拟对象的初始蒙皮信息,对三维虚拟对象的相对晃动角度进行调整。

在一个可选的实施例中,上述将第一图像映射于初始UV贴图上,得到第一对象的UV贴图包括:

获取初始UV贴图上的预设区域;预设区域为第一对象在初始UV贴图上对应的区域;

根据预设区域的尺寸对第一图像进行缩放处理,得到处理后的第一图像;

将处理后的第一图像映射到初始UV贴图上,得到第一对象的UV贴图。

在一个可选的实施例中,上述在三维模型上显示UV贴图,得到三维虚拟对象包括:

获取第二图像,第二图像包含第二对象;第一对象和第二对象属于同一目标对象的不同部位;

根据第一图像和第二图像确定第一对象和第二对象的相对位置信息和相对大小信息;

获取第二对象对应的三维虚拟对象;

根据相对位置信息、相对大小信息和第二对象对应的三维虚拟对象对三维模型进行位置调整和/或缩放调整,得到调整后的三维模型;

在调整后的三维模型上显示UV贴图,得到三维虚拟对象。

根据本公开实施例的第二方面,提供一种虚拟对象的控制装置,包括:

第一图像获取模块,被配置为执行获取包含第一对象的第一图像;

贴图获取模块,被配置为执行获取第一对象对应的三维模型的初始UV贴图;

贴图确定模块,被配置为执行根据第一对象的轮廓和尺寸,将第一图像映射到初始UV贴图上,得到第一对象的UV贴图;

虚拟对象确定模块,被配置为执行在三维模型上显示第一对象的UV贴图,得到三维虚拟对象;

参数获取模块,被配置为执行获取三维虚拟对象的调整参数,调整参数包括形变参数、呼吸频率参数和晃动参数中的至少一种;

虚拟对象调整模块,被配置为执行根据调整参数对三维虚拟对象进行调整。

在一个可选的实施例中,

参数获取模块,被配置为执行获取三维虚拟对象的形变参数;

虚拟对象调整模块,被配置为执行:

根据形变参数确定三维虚拟对象中骨骼的移动距离;

根据移动距离、三维虚拟对象的初始骨骼信息和三维虚拟对象的初始蒙皮信息,对三维虚拟对象的形状进行调整。

在一个可选的实施例中,

参数获取模块,被配置为执行获取三维虚拟对象的呼吸频率参数;

虚拟对象调整模块,被配置为执行:

根据呼吸频率参数确定三维虚拟对象中骨骼在竖直方向上的相对位移变化频率;

根据在竖直方向上的相对位移变化频率、预设位移循环函数和三维虚拟对象的初始蒙皮信息,对三维虚拟对象在竖直方向上的周期性运动进行调整。

在一个可选的实施例中,

参数获取模块,被配置为执行响应于对三维虚拟对象的晃动操作,获取三维虚拟对象的晃动参数;晃动参数包括晃动幅度和晃动速度;

虚拟对象调整模块,被配置为执行:

获取三维虚拟对象的填充材质信息和轮廓大小信息;

根据填充材质信息和轮廓大小信息确定三维虚拟对象的可变形程度信息;

根据弹簧形变模型、晃动幅度、晃动速度和可变形程度信息确定三维虚拟对象中骨骼的相对角度变化信息;

根据相对角度变化信息、三维虚拟对象的初始骨骼信息和三维虚拟对象的初始蒙皮信息,对三维虚拟对象的相对晃动角度进行调整。

在一个可选的实施例中,贴图确定模块,包括:

预设区域获取子模块,被配置为执行获取初始UV贴图上的预设区域;预设区域为第一对象在初始UV贴图上对应的区域;

第一图像处理子模块,被配置为执行根据预设区域的尺寸对第一图像进行缩放处理,得到处理后的第一图像;

贴图确定子模块,被配置为执行将处理后的第一图像映射到初始UV贴图上,得到第一对象的UV贴图。

在一个可选的实施例中,虚拟对象确定模块,包括:

第二图像获取子模块,被配置为执行获取第二图像,第二图像包含第二对象,第一对象和第二对象属于同一目标对象的不同部位;

信息确定获取子模块,被配置为执行根据第一图像和第二图像确定第一对象和第二对象的相对位置信息和相对大小信息;

对象获取子模块,被配置为执行获取第二对象对应的三维虚拟对象;

模型调整子模块,被配置为执行根据相对位置信息、相对大小信息和第二对象对应的三维虚拟对象对三维模型进行位置调整和/或缩放调整,得到调整后的三维模型;

虚拟对象确定子模块,被配置为执行在调整后的三维模型上显示UV贴图,得到三维虚拟对象。

根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令,以实现如上述第一方面中任一项的方法。

根据本公开实施例的第四方面,提供一种计算机可读存储介质,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本公开实施例的第一方面中任一项的方法。

根据本公开实施例的第五方面,提供一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序存储在可读存储介质中,计算机设备的至少一个处理器从可读存储介质读取并执行计算机程序,使得计算机设备执行本公开实施例的第一方面中任一项的方法。

本公开的实施例提供的技术方案至少带来以下有益效果:

获取包含第一对象的第一图像,获取第一对象对应的三维模型的初始UV贴图,根据第一对象的轮廓和尺寸,将第一图像映射到初始UV贴图上,得到第一对象的UV贴图,在三维模型上显示第一对象的UV贴图,得到三维虚拟对象,获取三维虚拟对象的调整参数,调整参数包括形变参数、呼吸频率参数和晃动参数中的至少一种,根据调整参数对三维虚拟对象进行调整。本公开通过UV贴图的方式实现了包含对象的二维图像到三维虚拟对象的重建,操作简单,且方便拓展;并可以根据获取的调整参数实现对三维虚拟对象的调整,提高真实度和用户体验。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是根据一示例性实施例示出的一种应用环境的示意图;

图2是根据一示例性实施例示出的一种虚拟对象的控制方法的流程图;

图3是根据一示例性实施例示出的一种UV贴图的示意图;

图4是根据一示例性实施例示出的一种虚拟对象的控制方法的流程图;

图5是根据一示例性实施例示出的一种胸部的UV贴图的示意图;

图6是根据一示例性实施例示出的一种三维虚拟对象生成方法的流程图;

图7是根据一示例性实施例示出的一种三维模型的示意图;

图8是根据一示例性实施例示出的一种三维模型的示意图;

图9是根据一示例性实施例示出的一种三维虚拟对象的示意图;

图10是根据一示例性实施例示出的一种形变参数输入界面图;

图11是根据一示例性实施例示出的一种蒙皮分布情况的示意图;

图12是根据一示例性实施例示出的一种虚拟对象的控制装置的框图;

图13是根据一示例性实施例示出的一种用于虚拟对象的控制的电子设备的框图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的第一对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

请参阅图1,图1是根据一示例性实施例示出的一种虚拟对象的控制方法的应用环境的示意图,如图1所示,该应用环境可以包括客户端01和服务器02。

在一个可选的实施例中,上述的客户端01可以是为服务器02提供包含第一对象的第一图像的客户端,且在服务器02得到三维虚拟对象的时候,可以将该三维虚拟对象发送给客户端01,并显示在客户端01的界面上。其中,上述的客户端01可以包括但不限于智能手机、台式计算机、平板电脑、笔记本电脑、智能音箱、数字助理、增强现实(augmentedreality,AR)/虚拟现实(virtual reality,VR)设备、智能可穿戴设备等类型的电子设备。也可以为运行于上述电子设备的软体,例如应用程序、小程序等。可选的,电子设备上运行的操作系统可以包括但不限于安卓系统、IOS系统、linux、windows、Unix等。

在一个可选的实施例中,服务器02可以是基于第一图像以及三维模型得到三维虚拟对象的服务器。可选的,服务器02可以包括是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content DeliveryNetwork,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。

此外,需要说明的是,图1所示的仅仅是本公开提供的虚拟对象的控制方法的一种应用环境,在实际应用中,还可以包括其他应用环境,例如,在实际应用中,可以指存在客户端,这是因为该实施例可以是客户端上的应用程序实施的。当客户端下载特定的应用程序,在上传第一图像后,客户端就可以对其进行处理,得到三维虚拟对象,并在获取调整参数后,对三维虚拟对象进行调整。

图2是根据一示例性实施例示出的一种虚拟对象的控制方法的流程图,如图2所示,虚拟对象的控制方法可以应用于服务器,也可以应用于客户端,包括以下步骤:

在步骤S21中,获取包含第一对象的第一图像。

本公开实施例将以客户端为执行主语对整个实施步骤进行阐述,由于本公开实施例的目的是获取某个对象的二维图像,基于该二维图像建立三维虚拟对象,并对该三维虚拟对象进行调整,因此,客户端可以获取包含第一对象的第一图像。

在一个可选的实施例中,第一对象可以是任意对象。举个例子,可以是静态的事物,比如说静态的食物,家具;可以是拟人的事物,比如拟人的家具(沙发)、家电(扫地机器人)和植物(大树);还可以是本身可以运动的动物,包括宠物(猫和狗),人类,甚至是人类身上的部位(胸部,头部)等等。但是由于下文中还包括对建立得到的三维虚拟对象进行运动调整的步骤,因此,可以认定第一对象是能够活动的,比如拟人的家具(沙发)、家电(扫地机器人)、植物(大树)、宠物(猫和狗),人类,甚至是人类身上的部位(胸部,头部)。为了清楚明晰的阐述本公开实施例,下面将以人类身上的部位,胸部进行描述。

在一个可选的实施例中,上述的第一图像是通过设备拍摄得到的。以人的胸部为例,可以通过照相机拍摄得到胸部照片,并将该胸部照片传输至客户端,由客户端输入应用程序。

在另一个可选的实施例中,上述的第一图像可以是用户画的,比如用户的职业是画师。可选的,用户可以是纸上画图得到胸部图片,使用设备拍摄得到后,将该胸部照片传输至客户端,由客户端输入应用程序。可选的,用户可以在画图应用上画画得到胸部图片,保存该胸部图片后,可以将该胸部图片输入应用程序。其中,该第一图像是二维的。

在步骤S22中,获取第一对象对应的三维模型的初始UV贴图。

本公开实施例中,步骤S22中第一对象对应的三维模型可以是提前准备的通用的三维模型,该通用的三维模型有对应的初始UV贴图。

本公开实施例中,UV贴图是用于包装纹理的三维模型表面的平面表示,创建UV贴图的过程称为UV展开。U和V指的是二维空间的水平轴和垂直轴。一旦创建了多边形网格,下一步就是将其展为UV贴图。如果要赋予网格生命并使它看起来更逼真可以添加纹理。然而,当前是没有3D纹理之类的东西,因为它们始终基于2D图像。举个例子,可以将纸组成的一个立方体展开成六个平面,这就是UV展开的过程,展开后的六个平面就可以理解为是UV贴图。

图3是根据一示例性实施例示出的一种UV贴图的示意图,该UV贴图是胸部对应的三维模型的初始UV贴图,为了使得其看起来更逼真,可以在上面添加纹理。

在步骤S23中,根据第一对象的轮廓和尺寸,将第一图像映射到初始UV贴图上,得到第一对象的UV贴图。

在一个可选的实施例中,若上述的初始UV贴图中只包含胸部的区域,且第一图像中只包含胸部,则客户端可以直接根据第一对象的轮廓和尺寸,将第一图像映射到该初始UV贴图上,得到第一对象的UV贴图。或者,根据第一图像的轮廓和尺寸,以及根据初始UV贴图的尺寸进行缩放处理,并将处理后的第一图像映射于初始UV贴图上,得到第一对象的UV贴图。

在另一个可选的实施例中,第一图像中可能不止包括第一对象。以第一对象为胸部继续进行阐述,第一图像可能还包括其他部位,比如说锁骨部位。因此,初始UV贴图中不仅要包括胸部区域,还要包括其他区域。

图4是根据一示例性实施例示出的一种虚拟对象的控制方法的流程图,如图4所示,包括:

在步骤S231中,获取初始UV贴图上的预设区域,该预设区域为第一对象在初始UV贴图上对应的区域。

基于上述图3和第一对象为胸部继续阐述,图3所示的中间区域,也就是“茧型”区域301为三维模型的胸部的预设区域,该预设区域对应了胸部的实际凸起部分,当客户端获取胸部对应的初始UV贴图后,可以确定初始UV贴图上的预设区域。

在步骤S232中,根据预设区域的尺寸对第一图像进行缩放处理,得到处理后的第一图像。

本公开实施例中,客户端可以根据预设区域的尺寸对第一图像进行缩放处理,以适应有效区域的大小,得到处理后的第一图像。

在步骤S233中,将处理后的第一图像映射到初始UV贴图上,得到第一对象的UV贴图。

在一个可选的实施例中,客户端可以将处理后的第一图像映射到初始UV贴图上,得到第一对象的UV贴图。如此,通过前期获得的对应于第一对象的预设区域保证了精细化操作,使得后续的步骤在精细化的操作上进行,简单且方便拓展。

在另一个可选的实施例中,上述直接将处理后的第一图像映射于初始UV贴图上,得到的第一对象的UV贴图可能不仅包括胸部的UV贴图,还可能包括其他部位(比如锁骨)的UV贴图,然而,本公开实施例为了精细化操作,可能只对一个部位进行三维虚拟图像的重建,因此,客户端可以在将处理后的第一图像映射于初始UV贴图上后,对其他部分的UV贴图部分进行删除,只得到胸部的UV贴图。或者,客户端可以将处理后的第一图像进行删除处理,只留下包含胸部的第一图像,随后将其映射于初始UV贴图上后,得到胸部的UV贴图。这种情况下,就可以得到图5所示的到第一对象的UV贴图。图5是根据一示例性实施例示出的一种胸部的UV贴图的示意图。

步骤S231-S233中的作用是使得处理后的第一图像中的胸部尺寸和有效区域的尺寸是一致的,具体为胸部的边缘正好贴合“茧型”区域301的内边缘302。如此,就可以避免因为第一图像和初始UV图像的有效区域不对齐导致得到的三维虚拟对象过度变形的后果,这是因为,三维虚拟对象是空间态的,平面上的不贴合在空间上体现得会更明显,最终体现了三维虚拟对象的变形。

在步骤S24中,在三维模型上显示第一对象的UV贴图,得到三维虚拟对象。

本公开实施例中,由于上述的第一对象的UV贴图未进行映射前的初始UV贴图就是第一对象对应的三维模型展开得到的,因此,客户端可以直接基于第一对象的的UV贴图和三维模型之间的关系在三维模型上显示第一对象的UV贴图,得到三维虚拟对象。以第一对象为胸部来说,就可以得到三维虚拟胸部了。

在一个可选的实施例中,当第一对象是身体的局部部位(胸部),本公开实施例除了考虑到如何获取三维虚拟胸部之外,还需要考虑得到的三维虚拟胸部和身体其他部位是否匹配。因此,本公开实施例还提供得到和其他部位适配的三维虚拟对象的方案。

图6是根据一示例性实施例示出的一种三维虚拟对象生成方法的流程图,如图6所示,包括:

在步骤S241中,获取第二图像,第二图像包含与第一对象相关联的第二对象,第一对象和第二对象属于同一目标对象的不同部位。

继续以第一对象为胸部为例进行阐述,第一对象为胸部时,第二对象可以是身体的其他部分(比如头,肩膀,手臂,腰等等)。在这个例子中,第一对象和第二对象的相关联是指第一对象和第二对象是同一个人的不同部位。

在另一个例子中,假设第一对象是一个完整的人,第二对象可以是一张图像中人旁边的背景(比如花花草草,家具摆设等等)。此时,第一对象和第二对象的相关联是指同在一张图像中。

在一个可选的实施例中,第二图像可以是包括第一对象和第二对象的图像。

在另一个可选的实施例中,第一图像和第二图像都可以是画师画的人物的图层,在画师画图时,通常是先画一些部位在一张图层上,再画另一些部分在另一张图层上,随后将所有的图层进行叠加得到一个完整的人。在此种场景中,可以将第一图像定义为只包含胸部的图层,其他的部位可以在其他一张图层上,也可以在其他多张图层上,每一张其他图层可以被定义为第二图像。

在一个可选的实施例中,客户端可以获取所有的第二图像(非胸部部位的图层),也可以只获取一些和第一图像关系比较紧密的第二图像,比如和胸部比较近的头部,腰部,锁骨部位的图层。

在步骤S242中,根据第一图像和第二图像确定第一对象和第二对象的相对位置信息和相对大小信息。

在一个可选的实施例中,客户端可以根据胸部图层和其他部位图层确定胸部和其他部位的相对位置信息和相对大小信息。

在步骤S243中,获取第二对象对应的三维虚拟对象。

在一个可选的实施例中,客户端可以获取第二对象(头部,腰部和/或锁骨部位)对应的三维虚拟对象(三维虚拟头部、三维虚拟腰部和/或三维虚拟锁骨)。

在步骤S244中,根据相对位置信息、相对大小信息和第二对象对应的三维虚拟对象对三维模型进行位置调整和/或缩放调整,得到调整后的三维模型。

在一个可选的实施例中,客户端可以根据相对位置信息、相对大小信息和第二对象对应的三维虚拟对象对三维模型进行位置调整,或者进行缩放调整,或者进行位置调整和缩放调整,也就是对三维虚拟对象进行位置和/或大小的调整,得到调整后的三维模型。图7和图8是根据一示例性实施例示出的一种三维模型的示意图。图7为调整前的通用的胸部的三维模型,图8为调整后的胸部的三维模型。

在步骤S245中,在调整后的三维模型上显示UV贴图,得到三维虚拟对象。

图9是根据一示例性实施例示出的一种三维虚拟对象的示意图。图9为在调整后的胸部的三维模型显示UV贴图,最终得到的三维虚拟胸部。当确定好三维虚拟胸部后,可以通过获取到的左旋转指令和右旋转指令显示旋转后图。

在步骤S25中,获取三维虚拟对象的调整参数,调整参数包括形变参数、呼吸频率参数和晃动参数中的至少一种。

在步骤S26中,根据调整参数对三维虚拟对象进行调整。

本公开实施例中,上述的调整参数可以包括形变参数、呼吸频率参数和晃动参数中的至少一种,其中,形变参数可以用于对三维虚拟对象的形状进行调整,呼吸频率参数和晃动参数可以用于对三维虚拟对象的运动进行调整。

在一个可选的实施例中,客户端可以获取三维虚拟对象的形变参数,根据形变参数确定三维虚拟对象中骨骼的移动距离,根据移动距离、三维虚拟对象的初始骨骼信息和三维虚拟对象的初始蒙皮信息,对三维虚拟对象的形状进行调整。

具体地,客户端可以响应于形变参数的输入操作,获取形变参数。可选的,当用户想要调节三维虚拟对象的形状时,可以点开形变参数的输入界面,在该界面的形变参数的输入框输入形变参数。可选的,上述的界面可以是如图10所示的形变参数输入界面图,包括三维虚拟对象展示区域1001,可以展示步骤S24所示的三维虚拟胸部,该界面还包括形变参数输入区域1002。该形变参数输入区域可以通过用户在滑竿上滑动向客户端输入形变参数。

由于上文已经说明三维模型是一个第一对象的通用三维模型,该三维模型中的骨骼点和初始蒙皮信息可以是预搭建好的,因此,得到的三维虚拟对象的初始骨骼信息和初始蒙皮信息可以是预搭建好的。举个例子,该三维虚拟胸部包括2根骨骼,第一根骨骼的一个关节点和脊柱存在绑定关系,也就是搭建在脊柱上,另一个关节点和胸椎存在绑定关系,也就是搭建在胸椎上。第二根骨骼的一个关节点可以和第一根骨骼搭建在胸椎上的关节点存在绑定关系,另一个关节点和如图11所示的胸部的中心点1101存在绑定关系。上述包括2根骨骼的三维虚拟胸部是一个可选的实施例,具体包括几根骨骼,以及每根骨骼和其他地方的绑定关系可以是根据用户需求设置的。

图11是根据一示例性实施例示出的一种蒙皮分布情况的示意图,其中,蒙皮分布情况可以是初始蒙皮信息的体现,初始蒙皮信息是指权重信息,也就是说,三维虚拟胸部的某个点的初始蒙皮信息(权要)的数值越大,则当骨骼关节点移动距离越多时,相应该点的移动距离越多。举个例子,若某个点的权重为0.5时,若骨骼的关节点向前移动1厘米,则该点也会向前移动0.5厘米。可选的,上述的关节点移动距离可以是三维虚拟胸部中整体骨骼的关节点移动距离,也可以是某个骨骼的关节点的移动距离,比如说第二根骨骼的另一个关节点的移动距离,这些都可以根据需求结合骨骼来设置。在一个可选的实施例中,图11中白色部分可以看作是和三维虚拟胸部骨骼比较正相关的地方,其中,某个点距离中心点1101绑定的关节点越近,其初始蒙皮信息(权重)的数据越大。可选的,权重通常在0-1之间。

结合图10和图11,客户端获取形变参数后,根据形变参数确定三维虚拟对象中骨骼的移动距离,根据移动距离、三维虚拟对象的初始骨骼信息和三维虚拟对象的蒙皮信息对三维虚拟对象的形状进行调整。上述的初始蒙皮信息是可以被调整的。如此,用户就可以通过客户端上应用程序提供的开放接口,自由调整三维虚拟对象的形状,比如胸部的高度和下坠程度,满足用户需求。

在另一个可选的实施例中,客户端可以获取三维虚拟对象的呼吸频率参数,根据呼吸频率参数确定三维虚拟对象中骨骼在竖直方向上的相对位移变化频率,并根据所述骨骼在竖直方向轴上的相对位移变化频率、预设位移循环函数和该初始蒙皮信息对三维虚拟对象在竖直方向轴上的周期性运动进行调整。

该实施例中,获取呼吸频率参数的方法可以参考上述获取变形参数的方法,通过界面上的呼吸频率参数的输入框输入该呼吸频率参数,或者通过界面上滑竿上滑动输入呼吸频率参数。客户端在获取呼吸频率参数后,可以确定出三维虚拟对象中骨骼在竖直方向上的相对位移变化频率,竖直方向是上下方向上的坐标轴,也就是说,客户端可以确定出骨骼在竖直方向上的一分钟内呼吸的次数,在界面上,可以通过三维虚拟胸部在一分钟内上下移动的回合次数来表现呼吸频率。实际编程过程中,可以以预设位移循环函数的方式来模拟骨骼点在竖直方向上的运动,以此不断更新骨骼点的竖直方向上运动的运动周期。

本申请通过利用呼吸频率参数,通过客户端上应用程序提供的开放接口,自由调整三维虚拟对象的运动信息,满足用户的个性化需求,也使得三维虚拟模型更真实。

在另一个可选的实施例中,客户端可以响应于对三维虚拟对象的晃动操作,获取三维虚拟对象的晃动参数,晃动参数包括晃动幅度和晃动速度,获取三维虚拟对象的填充材质信息和轮廓大小信息,根据填充材质信息和轮廓大小信息确定三维虚拟对象的可变形程度信息,根据弹簧形变模型、晃动幅度、晃动速度和可变形程度信息确定三维虚拟对象中骨骼的相对角度变化信息,根据相对角度变化信息、三维虚拟对象的初始骨骼信息和三维虚拟对象的初始蒙皮信息对三维虚拟对象的相对晃动角度进行调整。

可选的,当用户通过手指或者鼠标触碰客户端界面上的三维虚拟对象并进行晃动时,客户端可以收集三维虚拟对象的晃动参数,晃动参数包括晃动幅度和晃动速度。然后,客户端可以获取三维虚拟对象的填充材质信息和轮廓大小信息,根据填充材质信息和轮廓大小信息确定三维虚拟对象的可变形程度信息。其中,上述的填充材质可以预设的,比如某个级别的硅胶,还可以是用户自己选择的其他填充材质。在确定三维虚拟对象的填充材质后,就可以收集到填充材质信息,一般来说,填充材质信息可以表示该三维虚拟对象的软硬参数。举个例子,当三维虚拟胸部的填充材质信息表现为越软,且轮廓大小信息表现为越大的时候,其三维虚拟胸部的可变形程度信息表现为越容易发生变形。随后,客户端可以根据弹簧形变模型、晃动幅度、晃动速度和可变形程度信息确定三维虚拟对象中骨骼的来回变化角度,根据来回变化角度、三维虚拟对象的初始骨骼信息和三维虚拟对象的蒙皮信息(权重)对三维虚拟对象的来回晃动角度进行调整。

本申请实施例中,通过客户端应用程序上提供的开放接口,可以获取用户自己设置的晃动参数,使其能够结合三维虚拟对象本身的属性信息(填充材质信息和轮廓大小信息)灵活的调整三维虚拟对象的相对晃动角度,满足用户的个性化需求,也使得三维虚拟模型更真实。本公开实施例中,上述所有的调整过程都可以在界面上的三维虚拟对象展示区域1001实时体现。

综上,本公开通过UV贴图的方式实现了包含对象的二维图像到三维虚拟对象的重建,操作简单,且方便拓展;并可以根据获取的调整参数实现对三维虚拟对象的调整,提高真实度和用户体验。

此外,本公开通过UV贴图的方式实现了包含对象的二维图像到三维虚拟对象的重建,直接有效,且方便拓展。其次,生成的三维虚拟胸部不仅可以包含晃动模拟,还包含呼吸模拟,真实有效。同时,晃动和呼吸,都开放接口,可以供用户自由调整,提高用户体验。

图12是根据一示例性实施例示出的一种虚拟对象的控制装置框图。参照图12,该装置包括第一图像获取模块1201、贴图获取模块1202、贴图确定模块1203、虚拟对象确定模块1204、参数获取模块1205和虚拟对象调整模块1206。

第一图像获取模块1201,被配置为执行获取包含第一对象的第一图像;

贴图获取模块1202,被配置为执行获取第一对象对应的三维模型的初始UV贴图;

贴图确定模块1203,被配置为执行根据第一对象的轮廓和尺寸,将第一图像映射到初始UV贴图上,得到第一对象的UV贴图;

虚拟对象确定模块1204,被配置为执行在三维模型上显示第一对象的UV贴图,得到三维虚拟对象;

参数获取模块1205,被配置为执行获取三维虚拟对象的调整参数,调整参数包括形变参数、呼吸频率参数和晃动参数中的至少一种;

虚拟对象调整模块1206,被配置为执行根据调整参数对三维虚拟对象进行调整。

在一个可选的实施例中,

参数获取模块,被配置为执行获取三维虚拟对象的形变参数;

虚拟对象调整模块,被配置为执行:

根据形变参数确定三维虚拟对象中骨骼的移动距离;

根据移动距离、三维虚拟对象的初始骨骼信息和三维虚拟对象的初始蒙皮信息,对三维虚拟对象的形状进行调整。

在一个可选的实施例中,

参数获取模块,被配置为执行获取三维虚拟对象的呼吸频率参数;

虚拟对象调整模块,被配置为执行:

根据呼吸频率参数确定三维虚拟对象中骨骼在竖直方向上的相对位移变化频率;

根据在竖直方向上的相对位移变化频率、预设位移循环函数和三维虚拟对象的初始蒙皮信息,对三维虚拟对象在竖直方向上的周期性运动进行调整。

在一个可选的实施例中,

参数获取模块,被配置为执行响应于对三维虚拟对象的晃动操作,获取三维虚拟对象的晃动参数;晃动参数包括晃动幅度和晃动速度;

虚拟对象调整模块,被配置为执行:

获取三维虚拟对象的填充材质信息和轮廓大小信息;

根据填充材质信息和轮廓大小信息确定三维虚拟对象的可变形程度信息;

根据弹簧形变模型、晃动幅度、晃动速度和可变形程度信息确定三维虚拟对象中骨骼的相对角度变化信息;

根据相对角度变化信息、三维虚拟对象的初始骨骼信息和三维虚拟对象的初始蒙皮信息,对三维虚拟对象的相对晃动角度进行调整。

在一个可选的实施例中,贴图确定模块,包括:

预设区域获取子模块,被配置为执行获取初始UV贴图上的预设区域;预设区域为第一对象在初始UV贴图上对应的区域;

第一图像处理子模块,被配置为执行根据预设区域的尺寸对第一图像进行缩放处理,得到处理后的第一图像;

贴图确定子模块,被配置为执行将处理后的第一图像映射到初始UV贴图上,得到第一对象的UV贴图。

在一个可选的实施例中,虚拟对象确定模块,包括:

第二图像获取子模块,被配置为执行获取第二图像,第二图像包含第二对象;第一对象和第二对象属于同一目标对象的不同部位;

信息确定获取子模块,被配置为执行根据第一图像和第二图像确定第一对象和第二对象的相对位置信息和相对大小信息;

对象获取子模块,被配置为执行获取第二对象对应的三维虚拟对象;

模型调整子模块,被配置为执行根据相对位置信息、相对大小信息和第二对象对应的三维虚拟对象对三维模型进行位置调整和/或缩放调整,得到调整后的三维模型;

虚拟对象确定子模块,被配置为执行在调整后的三维模型上显示UV贴图,得到三维虚拟对象。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图13是根据一示例性实施例示出的一种用于虚拟对象的控制的电子设备1300的框图。

该电子设备可以是服务器,还可以是终端设备,其内部结构图可以如图13所示。该电子设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种虚拟对象的控制方法。

本领域技术人员可以理解,图13中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在示例性实施例中,还提供了一种电子设备,包括:处理器;用于存储该处理器可执行指令的存储器;其中,该处理器被配置为执行该指令,以实现如本公开实施例中的虚拟对象的控制方法。

在示例性实施例中,还提供了一种计算机可读存储介质,当该计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本公开实施例中的虚拟对象的控制方法。

在示例性实施例中,还提供了一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序存储在可读存储介质中,计算机设备的至少一个处理器从可读存储介质读取并执行计算机程序,使得计算机设备执行本公开实施例的虚拟对象的控制方法。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

相关技术
  • 一种虚拟对象的控制方法、装置、电子设备及存储介质
  • 一种虚拟对象的控制方法、装置、电子设备及存储介质
技术分类

06120113045788