3D模型数据处理方法、装置及系统与流程

文档序号:17150446发布日期:2019-03-19 23:22阅读:159来源:国知局
3D模型数据处理方法、装置及系统与流程

本申请涉及3d模型技术领域,特别是涉及3d模型数据处理方法、装置及系统。



背景技术:

在3d/ar/vr应用场景中,3d模型是重要的素材。以如今发展势头迅猛的网络销售系统为例,海量的商品需要在互联网上展示,在传统的方式下,通常只能以二维照片的方式对商品进行展示,但是,这种方式传递给消费者的商品或物体信息不够全面、详实、逼真,很难起到提高消费者的购买欲望和购买准确度等作用。因此,进行特殊化、个性化、真实化的3d展示显得尤为重要。

但在现有技术中,这些需求往往很难得到满足,这主要体现在:在现有技术中存在非常多的技术可以用于创建3d模型,另外,也有非常多的技术用于对3d模型进行渲染,而这些技术之间通常是互相不通用的。这就意味着,如果使用一种技术去创建3d模型,则必须使用对应的渲染引擎去进行渲染,否则无法完成对3d模型的渲染。应用到网络销售系统中时,就会出现以下情况:如果客户端中使用了某种渲染引擎(通常只能在客户端中设定一种渲染引擎),则在创建3d模型时,就必须使用该渲染引擎能够支持的技术去建立3d模型,否则无法进行正常的渲染。然而,网络销售系统中的商品数量众多,而且这些商品通常又可能会来自于多个不同的商家或者卖家,如果指定每个需要进行3d展示的商品都按照同一种技术去建立3d模型,则无疑会限制应用的推广,会造成用户数量少,3d模型数量不够丰富等问题。

也正是因为上述原因,现有技术中,通常是要求商家或者卖家用户将商品的样品寄送给系统的后台技术人员,然后由后台技术人员按照统一的技术为各个商品创建3d模型,然后再用对应的渲染引擎进行渲染。但是,不同的商品在结构等方面可能具有不同的特点,可能会需要通过不同的技术去创建3d模型,才能够更好的展示出3d效果;另外,这些商品可能来自于不同的商家或者卖家用户,商家或者卖家用户可能还会希望在3d模型中体现出一些个性化的设计,而这种现有技术显然无法满足在创建3d模型方面的上述各种个性化需求。



技术实现要素:

本申请提供了3d模型数据处理方法、装置及系统,便于推广应用,可以获得更多的用户量,提高3d模型数量及丰富性。

本申请提供了如下方案:

一种3d模型处理系统,包括:

3d模型创建端,用于按照第一渲染引擎所需的数据格式创建第一3d模型,并获得所述第一3d模型对应的渲染结果的特征信息,将所述特征信息提交到服务端;

服务端,用于根据所述特征信息进行3d重建,得到具有第二渲染引擎所需数据格式的第二3d模型;

客户端,其中部署有所述第二渲染引擎,用于从所述服务端获得所述第二3d模型,并对所述第二3d模型进行渲染。

一种3d模型数据处理方法,包括:

按照第一渲染引擎所需的数据格式创建第一3d模型;

获得所述第一3d模型对应渲染结果的特征信息;

将所述特征信息提交到服务端,由所述服务端根据所述特征信息进行3d重建,得到具有第二渲染引擎所需数据格式的第二3d模型。

一种3d模型数据处理方法,包括:

服务端接收对第一3d模型对应渲染结果的特征信息,所述第一3d模型是按照第一渲染引擎所需的数据格式创建的;

根据所述特征信息进行3d重建,得到具有第二渲染引擎所需数据格式的第二3d模型;

保存所述第二3d模型,以用于提供给部署有所述第二渲染引擎的客户端对所述第二3d模型进行渲染。

一种数据对象信息展示方法,包括:

客户端向服务端发送获得目标数据对象的3d模型的请求;其中,所述客户端中部署有第二渲染引擎;

接收所述服务端返回的第二3d模型,其中,所述第二3d模型是根据第一3d模型对应渲染结果的特征信息,按照所述第二渲染引擎所需的数据格式重建的3d模型,所述第一3d模型是按照第一渲染引擎所需的数据格式重建的3d模型;

利用所述第二渲染引擎对所述第二3d模型进行渲染。

一种3d模型数据处理装置,包括:

第一模型创建单元,用于按照第一渲染引擎所需的数据格式创建第一3d模型;

特征信息获得单元,用于获得所述第一3d模型对应渲染结果的特征信息;

特征信息提交单元,用于将所述特征信息提交到服务端,由所述服务端根据所述特征信息进行3d重建,得到具有第二渲染引擎所需数据格式的第二3d模型。

一种3d模型数据处理装置,应用于服务端,包括:

特征信息接收单元,用于接收对第一3d模型对应渲染结果的特征信息,所述第一3d模型是按照第一渲染引擎所需的数据格式创建的;

3d重建单元,用于根据所述特征信息进行3d重建,得到具有第二渲染引擎所需数据格式的第二3d模型;

保存单元,用于保存所述第二3d模型,以用于提供给部署有所述第二渲染引擎的客户端对所述第二3d模型进行渲染。

一种数据对象信息展示装置,应用于客户端,包括:

请求发送单元,用于向服务端发送获得目标数据对象的3d模型的请求;其中,所述客户端中部署有第二渲染引擎;

3d模型接收单元,用于接收所述服务端返回的第二3d模型,其中,所述第二3d模型是根据第一3d模型对应渲染结果的特征信息,按照所述第二渲染引擎所需的数据格式重建的3d模型,所述第一3d模型是按照第一渲染引擎所需的数据格式重建的3d模型;

渲染单元,用于利用所述第二渲染引擎对所述第二3d模型进行渲染。

一种数据对象的3d模型处理系统,包括:

3d模型创建端,用于按照第一渲染引擎所需的数据格式为指定的数据对象创建第一3d模型,并获得所述第一3d模型对应的渲染结果的特征信息,将所述特征信息提交到服务端;

服务端,用于根据所述特征信息进行3d重建,得到具有第二渲染引擎所需数据格式的第二3d模型,保存所述数据对象的标识信息与所述第二3d模型之间的关联关系;

客户端,其中部署有所述第二渲染引擎,用于在接收到对数据对象的3d访问请求时,从所述服务端获得所述第二3d模型,并对所述第二3d模型进行渲染。

一种计算机系统,包括:

一个或多个处理器;以及

与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:

接收对第一3d模型对应渲染结果的特征信息,所述第一3d模型是按照第一渲染引擎所需的数据格式创建的;

根据所述特征信息进行3d重建,得到具有第二渲染引擎所需数据格式的第二3d模型;

保存所述第二3d模型,以用于提供给部署有所述第二渲染引擎的客户端对所述第二3d模型进行渲染。

根据本申请提供的具体实施例,本申请公开了以下技术效果:

在本申请实施例中,3d模型的创建端可以采用任意的技术进行第一3d模型的创建,但是,并不是直接将这种第一3d模型提交到服务端,而是首先对第一3d模型的渲染结果进行特征信息的获取,将特征信息提交到服务端。在服务端,可以根据这种特征信息,实现对3d模型的重建,使得重建得到的第二3d模型具有第二渲染引擎所需的数据格式。通过这种方式,可以实现将各种技术创建的3d模型的数据格式转换为某一种特定渲染引擎所需的数据格式。这种,使得第一3d模型的创建者在创建3d模型所使用的技术方面不再受到限制,创建者可以根据自身的需求,或者物体的特点等,选择合适的技术来创建第一3d模型,只要在提交之前进行特征信息的获取操作,即可接入到系统中,并通过服务端的数据格式转换,重建成能够被客户端中所部署的渲染引擎所识别以及渲染的数据格式。因此,该方案更便于推广应用,可以获得更多的用户量,提高3d模型数量及丰富性。

当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的3d重建方式示意图;

图2是本申请实施例提供的3d重建过程中的背景图设置方式示意图;

图3是本申请实施例提供的系统的示意图;

图4是本申请实施例提供的第一方法的流程图;

图5是本申请实施例提供的第二方法的流程图;

图6是本申请实施例提供的第三方法的流程图;

图7是本申请实施例提供的第一装置的示意图;

图8是本申请实施例提供的第二装置的示意图;

图9是本申请实施例提供的第三装置的示意图;

图10是本申请实施例提供的计算机系统的示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。

在本申请实施例中,提供了一种间接表达3d模型的数据格式,通过这种方式,在客户端中已经部署某一种固定的渲染引擎的情况下,也可以通过任意的技术来创建3d模型,并均能够通过该客户端中固定部署的渲染引擎完成渲染操作。具体的,在为某物品创建3d模型时,可以使用任意的技术进行3d模型的创建,之后,可以对该3d模型进行数据格式转换,转换为某种指定渲染引擎所需的数据格式。其中,具体在进行数据格式转换时,可以是在使用任意的技术创建了3d模型之后,获得该3d模型对应渲染结果的特征信息,然后由服务端根据这种特征信息,按照一定的算法,对3d模型进行重建,使得重建后的3d模型具有客户端中部署的渲染引擎所需的数据格式,这样,重建后的3d模型就可以通过客户端中已部署的渲染引擎进行渲染。也就是说,本申请实施例可以将使用其他各种技术创建的3d模型转换为统一的数据格式,并重建为任意一种渲染引擎所需格式的3d模型。

本申请实施例提供的技术方案在实际应用中的意义在于,具体创建3d模型时使用的技术不再受到限制。例如,在网络销售系统中,针对海量的数据对象(商品对象、店铺对象等),如果需要提供3d的展示效果,则可以采用任意的技术为各个数据对象创建3d模型。这样,对于具有不同空间结构的数据对象,可以采用适合的技术进行3d模型的创建;在数据对象对应于多个不同的第一用户(卖家用户或者商家用户等)的情况下,还可以由各个第一用户分别为按照各自的需求,或者各自的想法,对其数据对象进行3d模型的创建,并且,由于在创建3d模型的过程中,可以使用任意的3d模型创建技术来实现,因此,可以使得第一用户更自由的将自己的个性化设计体现在3d模型中。之后,通过对这种3d模型进行数据格式的转换,可以进行3d模型的重建,使其能够被特定的渲染引擎所识别并渲染。也即,在第二用户(消费者用户或者买家用户等)客户端中已经固定配置了一种渲染引擎的情况下,可以通过数据格式的转换对3d模型进行重建等一系列的处理,将使用各种不同技术创建的3d模型,都能够被该客户端中配置的渲染引擎进行正常的识别以及渲染。

具体实现时,如前文所述,3d模型的创建操作可以是在数据对象的所有者或者发布者一侧进行,当然,也可以是由系统中的技术人员来进行,另外,在创建了3d模型之后,还可以在创建者的一侧完成对3d模型对应渲染结果的特征信息获取工作。具体的,为了完成该特征信息获取工作,可以是在现有的各种3d模型的渲染引擎中加入插件程序(该插件可以由本申请实施例提供),通过该插件程序完成具体的处理。其中,为便于与本申请实施例中在第二用户客户端中部署的渲染引擎相区分,可以将这种3d模型创建时使用的技术对应的渲染引擎称为“第一渲染引擎”,将第二用户客户端中部署的渲染引擎称为“第二引擎”。也就是说,假设第一用户自己作为创建者或者委托其他设计方作为创建者为其数据对象创建3d模型,或者,系统的后台技术人员为第一用户指定的数据对象创建了3d模型,都可以在使用任意一种技术完成了3d模型的创建后,在该技术对应的第一渲染引擎中,通过预先安装的插件完成对3d模型对应渲染结果的特征信息获取操作。

在一种具体的实现方式下,具体的操作过程可以是,首先,通过第一渲染引擎对第一3d模型进行渲染,将其展示为具有三维立体结构的渲染结果。之后,可以通过对该渲染结果进行多角度图像采集,得到多个图片组成的图片序列,这些图片序列就可以作为用于重建3d模型的特征信息。具体的,为了进行上述多角度图像采集操作,可以通过一个预先建立的模型对所述渲染结果进行全方位的拍摄。具体的,如图1所示,可以以所述第一3d模型对应的渲染结果的中心点为球心,创建球形模型,在该模型上可以按照一定的角度间隔绘制经线及纬线,例如,可以是每隔20度绘制一条经线及纬线,当然,也可以选择其他的角度间隔值。每条经线与纬线的交叉点,都可以作为一个拍摄点,并在拍摄点向球心方向进行拍摄。这样,在每个拍摄点都可以得到关于渲染结果的一张图片,各个拍摄点得到的图片则可以组成图片序列。需要说明的是,这里所述的在各个拍摄点执行的拍摄操作,可以是由虚拟的相机组件来完成的,并且,为了更完整更真实的重建该3d模型,还可以采用双目相机组件(具有左右错开瞳距的两个镜头)在各个拍摄点完成,使得每个拍摄点的图片都有3d视差的查看效果,也更方便3d的重建。

具体在获得所述各个拍摄点进行拍摄获取图片序列时,根据3d模型对应渲染结果的具体情况,在光源、背景等方面还可以进行不同的设置。例如,一种基础的设置可以构造全亮光源,使得从每个拍摄点看上去,3d模型的渲染结果都是全部被照亮的状态。通过这种方式获得的图片序列,可以作为一种基本信息,也即,所有的3d模型基本都需要这种全亮光源环境下的图片序列,用于还原其基本的物体结构等方面的信息。

另外,还可能有些物体具有特殊的纹理等信息,在这种情况下,仅仅通过上述基本信息来进行还原时,可能会无法将纹理信息很好的还原。针对这种情况,在完成上述全亮光源状态下照片序列的生成后,还可以通过构造结构光源的方式,重新在各个拍摄点对该渲染结果进行拍摄,重新生成另一组图片序列。这样,可以将这组图片序列作为一种附加信息,与基本信息一起组成转换后的数据,共同用于后续对3d模型的重建。其中,所谓的结构光是指将光结构化,简单的结构化包括点结构光,线结构光以及简单的面结构光等。例如,在本申请实施例中,可以使用条纹投影技术实现一种面结构光,例如,可以过计算机编程产生正弦等形状的条纹,将该条纹通过投影设备投影至被测物上,使得被测物体呈现出条状的明暗交替的现象。通过这种结构光得到的拍摄结果,可以更好的还原物体的纹理等信息。另外,还可以在拍摄的过程中通过改变条纹的宽度、形状等,得到信息量更大的图片序列,以实现更高还原度的3d模型重建。

再者,还有些物体可能需要凸显其材质信息,而前述全亮光源下的拍摄主要用于还原物体的结构形状等,而结构光源下的拍摄主要用于还原物体的纹理等信息,因此,为了能够更好的还原材质信息,还可以通过其他方式获得其他的附加信息。例如,可以在全亮光源环境下,构建一些特定的背景。具体的,如图2所示,四个顶点颜色可以为rgb黑,通过相邻颜色关系不同的组合获得不同的背景图,这种背景图有明显的边界,可以用于辅助位置确定。在获得了这种带有特殊背景信息的图片序列的情况下,通过机器学习等算法,有希望计算出物品的材质等该物理特性,并用于更好的进行3d模型的重建。

需要说明的是,在实际应用中,关于基本信息,通常是各个3d模型都需要的,而关于附加信息,则可以根据具体情况来确定是否需求。例如,如果某物品不需要体现纹理、材质等信息,则直接用全亮光源下拍摄获得的图片序列作为基本信息即可。而如果某物体需要重点突出纹理信息,则可以采用基本信息加前述第一种附加信息的方式来实现;如果某物体需要重点突出材质信息,则可以采用基本信息加前述第二种附加信息的方式来实现;如果某物体需要突出纹理以及材质信息,则可以采用基本信息加前述两种附加信息的方式来实现,等等。另外,在实际应用中,还可以通过其他方式构造其他的附加信息,用于更好的还原物体在其他方面的特征。

在实际应用中,在进行特征信息获取的过程中,还可以提供预览功能,例如,在使用全亮光源对某3d模型的渲染结果进行拍摄获得基本信息后,就可以提交到服务端,由服务端进行3d模型的重建并由第二渲染引擎进行渲染后,将渲染结果信息可以作为预览信息返回给创建者,创建者可以通过观察等方式,来确定重建的结果是否符合其要求。如果符合,则可以直接将该基本信息作为特征信息导出为文件等格式进行确认提交。否则,创建者如果对纹理方面的展示效果不满意,则还可以进一步添加前述第一种附加信息,如果对材质方面的展示效果不满意,则还可以进一步添加前述第二种附加信息,等等。

在创建者对转换得到的信息进行确认后,就可以导出为文件等形式,并将这种文件提交到服务端。然后,就可以由服务端按照独立的算法,根据这种文件进行3d模型的重建,将3d模型重建为第二渲染引擎所需要的数据格式。这样,在服务端保存的就是各个数据对象与重建后的第二3d模型之间的对应关系。在第二用户客户端需要对某数据对象进行3d的展示时,服务端就可以将该重建后的第二3d模型提供给第二用户客户端,由于该重新后的第二3d模型具有第二渲染引擎所需要的数据格式,因此,就可以由该第二用户客户端可以使用其中部署的第二渲染引擎完成对该3d模型的渲染。

其中,从系统架构角度而言,参见图3,本申请实施例可以包括3d模型创建端、服务端以及客户端三个组成部分。其中,创建端的用户可以对应于数据对象所属的第一用户,或者第一用户委托的设计方,或者,也可以是服务端的后台技术人员,等等。在创建端,可以使用不同的技术创建3d模型,不同的技术创建的3d模型在初始状态下,需要使用不同的第一渲染引擎进行渲染。例如,图3中所示,三个创建端分别对应第一渲染引擎a、b、c,也即,意味着这三个创建端在创建3d模型时,分别使用了不同的技术。而在本申请实施例中,还可以分别在第一渲染引擎a、b、c中通过插件等形式提供对渲染结果特征信息的获取功能,将各种不同技术创建的3d模型对应的渲染结果进行特征信息获取,之后,再提交到服务端。服务端则主要用于3d模型的重建,将其重建为客户端中部署的第二渲染引擎d所需要的数据格式。客户端则用于在需要进行3d展示时,从服务端获得重建后的3d模型,然后直接进行渲染即可。需要说明的是,本申请实施例中所述的客户端,可以包括以独立的app等形式运行在终端设备中的客户端程序,或者,也可以包括web页面等。

下面分别从多种不同角度,对本申请实施例提供的具体技术方案进行介绍。

实施例一

首先,如图3所示,该实施例一提供了一种3d模型处理系统,该系统可以包括:

3d模型创建端301,用于按照第一渲染引擎所需的数据格式创建第一3d模型,并获得所述第一3d模型对应的渲染结果的特征信息,将所述特征信息提交到服务端;

服务端302,用于根据所述特征信息进行3d重建,得到具有第二渲染引擎所需数据格式的第二3d模型;

客户端303,其中部署有所述第二渲染引擎,用于从所述服务端获得所述第二3d模型,并对所述第二3d模型进行渲染。

具体实现时,所述3d模型创建端具体可以用于:通过所述第一渲染引擎对所述第一3d模型进行渲染,并通过在渲染结果周围部署的多个拍摄点分别对所述渲染结果进行拍摄,实现对所述渲染结果的全角度拍摄,并获得图片序列,根据所述图片序列确定所述特征信息。例如,在一种更具体的实现方式下,可以以所述渲染结果的中心点为球心,创建球形模型,然后在所述球形模型上按照预置的间隔绘制多条经线以及纬线,并将每条经线与纬线的交叉点作为一个拍摄点。在具体进行拍摄时,还可以通过构造不同的光源和/或拍摄背景,来分别获得多组图片序列,每一组图片序列可以用于承载不同维度上的特征,例如,可以是结构特征、纹理特征、材质特征,等等。例如,可以通过构造全亮光源、白背景,获得主要用于携带渲染结果的结构信息的第一图片序列,或者,还可以通过构造结构光源,获得主要用于携带渲染结果的纹理信息的第二图片序列,或者,还可以通过构造某种特殊的背景,获得主要用于携带渲染结果的材质信息的第三图片序列,等等。

在实际应用中,所述第一3d模型可以是与数据对象(包括商品对象或者店铺对象等等)相对应,此时,所述3d模型创建端在将所述特征提交到服务端时,还可以提交对应的数据对象标识信息;相应的,所述服务端还用于保存所述第二3d模型与所述数据对象标识之间的对应关系,并在收到客户端访问指定数据对象的3d信息的请求时,提供对应的第二3d模型。

其中,所述数据对象为多个,不同的数据对象对应的用于创建第一3d模型的技术存在不同时,可以是在不同的第一渲染引擎中获得所述第一3d模型对应渲染结果的特征信息。也就是说,假设在为某数据对象a创建第一3d模型时,使用的是技术a,该技术a需要用第一渲染引擎m来进行识别以及渲染,则具体就可以在该第一渲染引擎m中获得对应渲染结果的特征信息。而如果某数据对象b创建第一3d模型时,使用的是技术b,该技术b需要用第一渲染引擎n来进行识别以及渲染,则具体就可以在该第一渲染引擎n中获得对应渲染结果的特征信息,等等。因此,在具体实现时,可以分别在各种不同的第一渲染引擎中实现对应的特征信息获取功能,为了便于实现,避免对第一渲染引擎自身的代码进行大的改造,可以将这种功能以插件的形式来实现,各个第一渲染引擎只要在安装对应的插件程序即可实现对渲染结果进行特征获取的功能。

总之,在本申请实施例中,3d模型的创建端可以采用任意的技术进行第一3d模型的创建,但是,并不是直接将这种第一3d模型提交到服务端,而是首先对第一3d模型的渲染结果进行特征信息的获取,将特征信息提交到服务端。在服务端,可以根据这种特征信息,实现对3d模型的重建,使得重建得到的第二3d模型具有第二渲染引擎所需的数据格式。通过这种方式,可以实现将各种技术创建的3d模型的数据格式转换为某一种特定渲染引擎所需的数据格式。这种,使得第一3d模型的创建者在创建3d模型所使用的技术方面不再受到限制,创建者可以根据自身的需求,或者物体的特点等,选择合适的技术来创建第一3d模型,只要在提交之前进行特征信息的获取操作,即可接入到系统中,并通过服务端的数据格式转换,重建成能够被客户端中所部署的渲染引擎所识别以及渲染的数据格式。因此,该方案更便于推广应用,可以获得更多的用户量,提高3d模型数量及丰富性。

实施例二

该实施例二是与实施例一相对应的,从创建端的角度,提供了一种3d模型数据处理方法,参见图4,该方法可以包括:

s401:按照第一渲染引擎所需的数据格式创建第一3d模型;

创建第一3d模型所使用的技术没有限制,也即并不需要限定为使用第二渲染引擎所能够识别的数据格式。其中,第一渲染引擎具体可以是多种,不同的创建者,或者同一创建者针对不同的数据对象,都可以使用不同的技术进行3d模型的创建,分别对应不同的第一渲染引擎。

s402:获得所述第一3d模型对应渲染结果的特征信息;

创建完成的第一3d模型并不是直接提交到服务端,而是首先对其渲染结果进行特征获取。其中,具体在获得所述第一3d模型对应渲染结果的特征信息时,首先可以利用所述第一渲染引擎对第一3d模型进行渲染,获得渲染结果。然后,通过在渲染结果周围部署的多个拍摄点分别对所述渲染结果进行拍摄,实现对所述渲染结果的全角度拍摄,并获得所述多个拍摄点分别拍摄得到的图片组成的图片序列,将所述图片序列确定为所述特征信息。其中,在一种更为具体的实现方式下,可以以所述渲染结果的中心点为球心,创建球形模型,然后,在所述球形模型上按照预置的间隔绘制多条经线以及纬线,并将每条经线与纬线的交叉点作为一个拍摄点。这样,可以从各个拍摄点向球心方向进行拍摄,得到多张图片。当然,在实际应用中,还可以通过其中方式部署多个拍摄点。其中,在每个拍摄点进行拍摄时,可以是在第一渲染引擎内构造相机组件,通过这种相机组件完成拍摄的操作。并且,这种相机组件还可以是具有瞳距的双目相机组件,以便在各个摄像点得到具有3d视差信息的图片。

具体在各个摄像点进行拍摄时,还可以通过构造不同的光源和/或拍摄背景,来分别获得多组图片序列,每一组图片序列可以用于承载不同维度上的特征,例如,可以是结构特征、纹理特征、材质特征,等等。具体的,首先可以在全亮光源的环境下,分别在所述多个拍摄点对所述渲染结果进行拍摄,并将所述多个拍摄点分别拍摄得到的图片组成第一图片序列,以用于通过所述第一图片序列携带所述第一3d模型对应的渲染结果的结构特征。如果所述渲染结果中包括需凸显的纹理特征,则还可以在结构光源的环境下,分别在所述多个拍摄点对所述渲染结果进行拍摄,并将所述多个拍摄点分别拍摄得到的图片组成第二图片序列,以用于通过所述第二图片序列携带所述第一3d模型对应的渲染结果的纹理特征。如果所述渲染结果中包括需凸显的材质特征,则还可以在全亮光源下,构建相邻颜色关系不同且具有边界信息的图片,然后,以所述图片为配置背景,分别在所述多个拍摄点对所述渲染结果进行拍摄,并将所述多个拍摄点分别拍摄得到的图片组成第三图片序列,以用于通过所述第三图片序列携带所述第一3d模型对应的渲染结果的材质特征。另外,如前文所述,还可以提供预览功能,使得创建者可以直观的感受到重建后的3d模型对应的渲染效果,如果在某方面不符合要求,则还可以通过重新调整光源、背景等方式,来获得更多的附加信息,等等。

s403:将所述特征信息提交到服务端,由所述服务端根据所述特征信息进行3d重建,得到具有第二渲染引擎所需数据格式的第二3d模型。

在获得了特征信息后,就可以导出为文件等形式并提交到服务端,然后,由服务端根据这种特征信息进行3d模型的重建,并得到具有第二渲染引擎所需数据格式的第二3d模型。

在具体实现时,具体在进行第一3d模型的创建时,可以是为指定数据对象创建第一3d模型。在这种情况下,在将所述特征信息提交到服务端时,还可以将所述数据对象的标识信息提交到服务端,以便所述服务端在重建得到所述第二3d模型后,保存所述第二3d模型与所述数据对象标识之间的对应关系。这样,客户端在提供数据对象信息的过程中,还可以通过从服务端获得这种第二3d模型的方式,向用户提供对应数据对象的3d展示效果。

实施例三

该实施例三也是与实施例一相对应的,从服务端的角度提供了一种3d模型数据处理方法,参见图5,该方法可以包括:

s501:服务端接收对第一3d模型对应渲染结果的特征信息,所述第一3d模型是按照第一渲染引擎所需的数据格式创建的;

s502:根据所述特征信息进行3d重建,得到具有第二渲染引擎所需数据格式的第二3d模型;

s503:保存所述第二3d模型,以用于提供给部署有所述第二渲染引擎的客户端对所述第二3d模型进行渲染。

其中,如果服务端是网络销售等系统的服务端,则具体的3d模型通常是为具体数据对象创建的3d模型,因此,还可以接收由创建者提供的所述第一3d模型对应的数据对象的标识信息。这样,具体在保存所述第二3d模型时,可以保存所述第二3d模型与所述数据对象标识之间的对应关系,以用于在收到客户端访问指定数据对象的3d信息的请求时,返回对应的第二3d模型。

实施例四

该实施例四是与实施例三相对应的,从客户端的角度提供了一种数据对象信息展示方法,参见图6,该方法具体可以包括:

s601:客户端向服务端发送获得目标数据对象的3d模型的请求;其中,所述客户端中部署有第二渲染引擎;

具体实现时,客户端可以向用户提供数据对象信息界面,并且,如果服务端为该数据对象保存了对应的3d模型,则还可以在数据对象信息界面中提供用于查看数据对象的3d展示效果的操作选项,如果用户需要,则可以通过该操作选项发起具体的请求。相应的,客户端就可以向服务端请求获得该数据对象的3d模型数据。当然,在实际应用中,还可以在从服务端获得数据对象的界面数据时,就一同获得该数据对象的3d模型数据,等等。

s602:接收所述服务端返回的第二3d模型,其中,所述第二3d模型是根据第一3d模型对应渲染结果的特征信息,按照所述第二渲染引擎所需的数据格式重建的3d模型,所述第一3d模型是按照第一渲染引擎所需的数据格式重建的3d模型;

s603:利用所述第二渲染引擎对所述第二3d模型进行渲染。

其中,关于上述各个实施例,未详述部分可以参见其他实施例或者本申请说明书中其他部分的记载,这里不再赘述。

实施例五

该实施例五是将前述实施例一应用到具体的数据对象信息处理系统中,具体的,同样可以如图3所示,该实施例五提供了一种数据对象的3d模型处理系统,该系统可以包括:

3d模型创建端,用于按照第一渲染引擎所需的数据格式为指定的数据对象创建第一3d模型,并获得所述第一3d模型对应的渲染结果的特征信息,将所述特征信息提交到服务端;

服务端,用于根据所述特征信息进行3d重建,得到具有第二渲染引擎所需数据格式的第二3d模型,保存所述数据对象的标识信息与所述第二3d模型之间的关联关系;

客户端,其中部署有所述第二渲染引擎,用于在接收到对数据对象的3d访问请求时,从所述服务端获得所述第二3d模型,并对所述第二3d模型进行渲染。

也就是说,在本申请实施例五中,可以将具体的方案应用到数据对象信息处理过程中,例如,当第一用户在发布了数据对象之后,或者在发布数据对象的同时,需要为第二用户提供3d展示效果,则可以利用本申请实施例的方法,通过任意的3d模型创建端,对数据对象进行3d模型的创建,之后可以由服务端进行3d模型的重建,统一表达为预置的某种数据格式,这样,在第二用户的客户端就可以使用统一的引擎对3d模型进行渲染。也就是说,第二用户可以在其客户端浏览数据对象信息的过程中,发起浏览3d模型的请求,之后,服务端就可以向客户端返回对应的3d模型,该3d模型是服务端预先根据第一用户提交的第一3d模型的特征信息进行重建的。这样可以实现由具体数据对象的发布者自行创建数据对象的3d模型,并且还可以由统一的3d渲染引擎对各个不同第一用户通过不同3d模型创建端创建的3d模型进行渲染。

也就是说,具体实现时,所述3d模型创建端位于第一用户侧,所述第一用户为数据对象的发布者用户。其中,不同第一用户对应的3d模型创建端所创建的第一3d模型可以包括对应不同数据格式的第一3d模型。也就是说,第一用户在创建第一3d模型时,所选用的3d渲染引擎可以不受限制,可以采用任意的引擎进行第一3d模型的创建。

其中,关于该实施例五中其他的实现细节,可以参见前述实施例中的记载,这里不再赘述。

与实施例二相对应,本申请实施例还提供了一种3d模型数据处理装置,参见图7,该装置可以包括:

第一模型创建单元701,用于按照第一渲染引擎所需的数据格式创建第一3d模型;

特征信息获得单元702,用于获得所述第一3d模型对应渲染结果的特征信息;

特征信息提交单元703,用于将所述特征信息提交到服务端,由所述服务端根据所述特征信息进行3d重建,得到具有第二渲染引擎所需数据格式的第二3d模型。

其中,所述特征信息获得单元具体可以包括:

渲染结果获得子单元,用于利用所述第一渲染引擎对第一3d模型进行渲染,获得渲染结果;

图片序列获得子单元,用于通过在渲染结果周围部署的多个拍摄点分别对所述渲染结果进行拍摄,实现对所述渲染结果的全角度拍摄,并获得所述多个拍摄点分别拍摄得到的图片组成的图片序列;

特征信息确定子单元,用于将所述图片序列确定为所述特征信息。

具体实现时,所述图片序列获得子单元具体可以用于:

以所述渲染结果的中心点为球心,创建球形模型;

在所述球形模型上按照预置的间隔绘制多条经线以及纬线,并将每条经线与纬线的交叉点作为一个拍摄点。

其中,在一种情况下,所述图片序列获得子单元具体可以用于:

在全亮光源的环境下,分别在所述多个拍摄点对所述渲染结果进行拍摄,并将所述多个拍摄点分别拍摄得到的图片组成第一图片序列,以用于通过所述第一图片序列携带所述第一3d模型对应的渲染结果的结构特征。

其中,如果所述渲染结果中包括需凸显的纹理特征,则所述图片序列获得子单元具体可以用于还可以用于:

在结构光源的环境下,分别在所述多个拍摄点对所述渲染结果进行拍摄,并将所述多个拍摄点分别拍摄得到的图片组成第二图片序列,以用于通过所述第二图片序列携带所述第一3d模型对应的渲染结果的纹理特征。

如果所述渲染结果中包括需凸显的材质特征,则所述图片序列获得子单元具体还可以用于:

在全亮光源下,构建相邻颜色关系不同且具有边界信息的图片;

以所述图片为配置背景,分别在所述多个拍摄点对所述渲染结果进行拍摄,并将所述多个拍摄点分别拍摄得到的图片组成第三图片序列,以用于通过所述第三图片序列携带所述第一3d模型对应的渲染结果的材质特征。

另外,所述图片序列获得子单元具体可以用于:

构造相机组件,通过所述相机组件在所述多个拍摄点分别对所述渲染结果进行拍摄。

其中,所述相机组件包括双目相机组件。

具体实现时,所述第一模型创建单元具体可以用于:

按照第一渲染引擎所需的数据格式,为指定数据对象创建第一3d模型;

所述特征信息提交单元具体还可以用于:

将所述数据对象的标识信息提交到服务端,以便所述服务端在重建得到所述第二3d模型后,保存所述第二3d模型与所述数据对象标识之间的对应关系。

与实施例三相对应,本申请实施例还提供了一种3d模型数据处理装置,参见图8,该装置应用于服务端,包括:

特征信息接收单元801,用于接收对第一3d模型对应渲染结果的特征信息,所述第一3d模型是按照第一渲染引擎所需的数据格式创建的;

3d重建单元802,用于根据所述特征信息进行3d重建,得到具有第二渲染引擎所需数据格式的第二3d模型;

保存单元803,用于保存所述第二3d模型,以用于提供给部署有所述第二渲染引擎的客户端对所述第二3d模型进行渲染。

具体实现时,所述特征信息接收单元还可以用于:

接收所述第一3d模型对应的数据对象的标识信息;

所述保存单元具体用于:

保存所述第二3d模型与所述数据对象标识之间的对应关系,以用于在收到客户端访问指定数据对象的3d信息的请求时,返回对应的第二3d模型。

与实施例四相对应,本申请实施例还提供了一种数据对象信息展示装置,参见图9,该装置应用于客户端,包括:

请求发送单元901,用于向服务端发送获得目标数据对象的3d模型的请求;其中,所述客户端中部署有第二渲染引擎;

3d模型接收单元902,用于接收所述服务端返回的第二3d模型,其中,所述第二3d模型是根据第一3d模型对应渲染结果的特征信息,按照所述第二渲染引擎所需的数据格式重建的3d模型,所述第一3d模型是按照第一渲染引擎所需的数据格式重建的3d模型;

渲染单元903,用于利用所述第二渲染引擎对所述第二3d模型进行渲染。

另外,本申请实施例还提供了一种计算机系统,包括:

一个或多个处理器;以及

与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:

接收对第一3d模型对应渲染结果的特征信息,所述第一3d模型是按照第一渲染引擎所需的数据格式创建的;

根据所述特征信息进行3d重建,得到具有第二渲染引擎所需数据格式的第二3d模型;

保存所述第二3d模型,以用于提供给部署有所述第二渲染引擎的客户端对所述第二3d模型进行渲染。

其中,其中,图10示例性的展示出了计算机系统的架构,具体可以包括处理器1010,视频显示适配器1011,磁盘驱动器1012,输入/输出接口1013,网络接口1014,以及存储器1020。上述处理器1010、视频显示适配器1011、磁盘驱动器1012、输入/输出接口1013、网络接口1014,与存储器1020之间可以通过通信总线1030进行通信连接。

其中,处理器1010可以采用通用的cpu(centralprocessingunit,中央处理器)、微处理器、应用专用集成电路(applicationspecificintegratedcircuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请所提供的技术方案。

存储器1020可以采用rom(readonlymemory,只读存储器)、ram(randomaccessmemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储用于控制计算机系统1000运行的操作系统1021,用于控制计算机系统1000的低级别操作的基本输入输出系统(bios)。另外,还可以存储网页浏览器1023,数据存储管理系统1024,以及3d模型数据处理系统1025等等。上述3d模型数据处理系统1025就可以是本申请实施例中具体实现前述各步骤操作的应用程序。总之,在通过软件或者固件来实现本申请所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。

输入/输出接口1013用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。

网络接口1014用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。

总线1030包括一通路,在设备的各个组件(例如处理器1010、视频显示适配器1011、磁盘驱动器1012、输入/输出接口1013、网络接口1014,与存储器1020)之间传输信息。

另外,该计算机系统1000还可以从虚拟资源对象领取条件信息数据库1041中获得具体领取条件的信息,以用于进行条件判断,等等。

需要说明的是,尽管上述设备仅示出了处理器1010、视频显示适配器1011、磁盘驱动器1012、输入/输出接口1013、网络接口1014,存储器1020,总线1030等,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上对本申请所提供的3d模型数据处理方法、装置及系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1