一种三维模型构建方法、装置及系统与流程

文档序号:14873657发布日期:2018-07-07 03:13阅读:1847来源:国知局

本申请实施例涉及三维模型构建领域,具体涉及一种三维模型构建方法、装置及电子设备。本申请实施例同时涉及又一种三维模型构建方法、装置及电子设备,以及一种三维模型构建系统。



背景技术:

在虚拟现实应用技术领域中,频繁地使用三维场景模型构造虚拟世界,以便营造出具有真实感的虚拟世界。对于一个场景而言,不同的使用方会有各自的再加工需要,因此,同一场景通常存在多个模型数据,这些模型数据都要存储在场景模型库中,以便不同使用方能够对场景模型进行分享和再创造。

目前,搭建场景模型主要采用单方搭建技术,即:模型制作人员使用三维建模工具(如:3dstudiomax等建模工具),对已有场景模型数据(以下简称为原始模型数据)进行修改,然后,将修改后形成的新模型的完整场景模型数据存储在场景模型库中。这种模型搭建技术,使得不同模型的数据完全分离,对一个场景模型的小改动就要另外存储一份完整的修改后场景模型数据,因而,采用这种技术将消耗较大的存储空间。此外,原始模型数据还可以被各个使用方任意编辑,原始模型的制作人员无法控制后续使用方对模型修改时应受到的修改限制,如某些部分不可修改等。

因此,如何研究和开发出一种新的三维模型构建方式,其能够减缓对场景模型库的存储压力、控制场景模型的修改方式是本领域解决的技术问题。



技术实现要素:

本申请实施例提供一种三维模型构建方法、装置及电子设备,以解决现有技术场景模型库存储压力大的问题。本申请实施例另外提供又一种三维模型构建方法、装置及电子设备,以及一种三维模型构建系统。

本申请实施例提供一种三维模型构建方法,包括:

接收第一用户客户端发送的针对新建三维模型的第一模型提交请求,所述新建三维模型基于原始三维模型构建,所述第一模型提交请求携带所述新建三维模型相对所述原始三维模型的修改信息;

将所述原始三维模型的模型标识和所述修改信息作为所述新建三维模型的模型数据进行存储。

可选的,在所述接收第一用户客户端发送的针对新建三维模型的第一模型提交请求之前,还包括:

接收所述第一用户客户端发送的针对所述原始三维模型的模型获取请求;

获取所述原始三维模型的模型数据;

向所述第一用户客户端回送所述原始三维模型的模型数据。

可选的,所述获取所述原始三维模型的模型数据,包括:

根据所述原始三维模型的模型标识,获取构建所述原始三维模型所基于的三维模型的模型标识、及所述原始三维模型相对所述所基于的三维模型的修改信息;

根据所述所基于的三维模型的模型标识,获取所述所基于的三维模型的模型数据;

根据所述所基于的三维模型的模型数据和所述相对所述所基于的三维模型的修改信息,生成所述原始三维模型的模型数据。

可选的,在所述接收所述第一用户客户端发送的针对所述原始三维模型的模型获取请求之后,以及在所述向所述第一用户客户端回送所述原始三维模型的模型数据之前,还包括:

获取所述原始三维模型的修改限制信息;

所述向所述第一用户客户端回送所述原始三维模型的模型数据,采用如下方式:

向所述第一用户客户端回送所述述原始三维模型的模型数据和所述原始三维模型的修改限制信息。

可选的,所述原始三维模型的模型数据,采用如下步骤采集:

接收第二用户客户端发送的针对所述原始三维模型的第二模型提交请求,所述第二模型提交请求包括所述原始三维模型的模型数据;

生成所述原始三维模型的模型标识;

存储所述原始三维模型的模型标识与所述原始三维模型的模型数据之间的对应记录。

可选的,所述第二模型提交请求还携带所述原始三维模型的修改限制信息;

所述方法还包括:

存储所述原始三维模型的修改限制信息。

可选的,所述第一模型提交请求还携带所述新建三维模型的修改限制信息;

所述方法还包括:

存储所述新建三维模型的修改限制信息。

可选的,所述修改限制信息包括:至少一个不可修改的模型部件的信息。

可选的,所述修改信息包括以下修改信息的至少一者:新增部件对应的模型数据及位置信息,删除部件的部件标识,修改部件的部件标识及修改后的模型数据。

可选的,所述第一模型提交请求还携带所述原始三维模型的模型标识。

可选的,所述第一模型提交请求还携带所述原始三维模型的模型数据;

在所述将所述原始三维模型的模型标识和所述修改信息作为所述新建三维模型的模型数据进行存储之前,还包括:

生成所述原始三维模型的模型标识;

存储所述原始三维模型的模型标识与所述原始三维模型的模型数据之间的对应记录。

相应的,本申请还提供一种三维模型构建装置一,包括:

接收单元,用于接收第一用户客户端发送的针对新建三维模型的第一模型提交请求,所述新建三维模型基于原始三维模型构建,所述第一模型提交请求携带所述新建三维模型相对所述原始三维模型的修改信息;

存储单元,用于将所述原始三维模型的模型标识和所述修改信息作为所述新建三维模型的模型数据进行存储。

相应的,本申请还提供一种电子设备,包括:

处理器;以及

存储器,用于存储实现三维模型构建方法的程序,该设备通电并通过所述处理器运行该三维模型构建方法的程序后,执行下述步骤:

接收第一用户客户端发送的针对新建三维模型的第一模型提交请求,所述新建三维模型基于原始三维模型构建,所述第一模型提交请求携带所述新建三维模型相对所述原始三维模型的修改信息;

将所述原始三维模型的模型标识和所述修改信息作为所述新建三维模型的模型数据进行存储。

此外,本申请还提供一种三维模型构建方法,包括:

接收用户提交的针对新建三维模型的模型提交指令,所述新建三维模型基于原始三维模型构建;

获取所述新建三维模型相对所述原始三维模型的修改信息;

向所述服务器发送针对新建三维模型的模型提交请求,所述第一模型提交请求携带所述新建三维模型相对所述原始三维模型的修改信息。

可选的,在所述接收用户提交的针对新建三维模型的模型提交请求之前,还包括:

向所述服务器发送针对所述原始三维模型的模型获取请求;

接收所述服务器回送的所述原始三维模型的模型数据;

根据接收到的模型数据,展示所述原始三维模型。

可选的,所述接收所述服务器回送的所述原始三维模型的模型数据,采用如下方式:

接收所述服务器回送的所述原始三维模型的模型数据和所述原始三维模型的修改限制信息。

可选的,所述根据接收到的模型数据,并展示所述原始三维模型,包括:

根据所述修改限制信息,获取所述原始三维模型中不可修改的模型部件的部件标识;

根据所述接收到的模型数据展示所述原始三维模型,并在展示所述原始三维模型时,将所述不可修改的模型部件设置为不可修改的状态。

可选的,在所述接收用户提交的针对新建三维模型的模型提交指令之后,还包括:

根据所述修改限制信息,判断是否对所述原始三维模型中不可修改的模型部件进行了修改;若是,则向用户提供修改超限制的提示信息。

可选的,所述接收到的模型数据包括模型引用式的模型数据;

所述根据接收到的模型数据,并展示所述原始三维模型,包括:

对所述接收到的模型数据进行解析,获得解析后的模型数据;

根据所述解析后的模型数据,展示所述原始三维模型。

可选的,所述根据接收到的模型数据,并展示所述原始三维模型,采用如下方式:

根据接收到的模型数据,展示虚拟现实的原始三维模型。

可选的,在所述向所述服务器发送针对新建三维模型的模型提交请求之前,还包括:

获取所述新建三维模型的修改限制信息;

相应的,所述模型提交请求还携带所述新建三维模型的修改限制信息。

可选的,所述修改限制信息包括:至少一个不可修改的模型部件的信息。

可选的,所述修改信息包括以下修改信息的至少一者:新增部件对应的模型数据及位置信息,删除部件的部件标识,修改部件的部件标识及修改后的模型数据。

相应的,本申请还提供一种三维模型构建装置二,包括:

模型数据编辑单元,用于在原始三维模型基础上构建所述新建三维模型;

模型提交指令接收单元,用于接收用户提交的针对所述新建三维模型的模型提交指令;

修改信息获取单元,用于获取所述新建三维模型相对所述原始三维模型的修改信息;

模型提交请求发送单元,用于向所述服务器发送针对新建三维模型的模型提交请求,所述第一模型提交请求携带所述新建三维模型相对所述原始三维模型的修改信息。

可选的,还包括:

模型获取请求发送单元,用于向所述服务器发送针对所述原始三维模型的模型获取请求;

模型数据接收单元,用于接收所述服务器回送的所述原始三维模型的模型数据;

原始三维模型展示单元,用于根据接收到的模型数据,展示所述原始三维模型。

可选的,所述模型数据接收单元,具体用于接收所述服务器回送的所述原始三维模型的模型数据和所述原始三维模型的修改限制信息;

所述装置还包括:

检测提示单元,用于根据所述修改限制信息,判断是否对所述原始三维模型中不可修改的模型部件进行了修改;若是,则向用户提供修改超限制的提示信息。

相应的,本申请还提供一种电子设备,包括:

处理器;以及

存储器,用于存储实现三维模型构建方法的程序,该设备通电并通过所述处理器运行该三维模型构建方法的程序后,执行下述步骤:

接收用户提交的针对新建三维模型的模型提交指令,所述新建三维模型基于原始三维模型构建;

获取所述新建三维模型相对所述原始三维模型的修改信息;

向所述服务器发送针对新建三维模型的模型提交请求,所述第一模型提交请求携带所述新建三维模型相对所述原始三维模型的修改信息。

此外,本申请还提供一种三维模型构建系统,包括:所述的三维模型构建装置一,以及所述的三维模型构建装置二。

与现有技术相比,本申请实施例具有以下优点:

本申请实施例提供的三维模型构建方法,接收用户客户端发送的针对新建三维模型的模型提交请求,该新建三维模型基于原始三维模型构建,并将该请求携带的该新建三维模型相对该原始三维模型的修改信息、以及该原始三维模型的模型标识,作为新建三维模型的模型数据进行存储;这种处理方式,采用引用式的存储方式分层存储三维模型数据;因此,可以有效减缓对三维模型库的存储压力。

使用本申请实施例提供的三维模型构建方法,客户端发送的模型提交请求还可携带新建三维模型的修改限制信息,该修改限制信息将被存储;这种处理方式,使得在基于该模型构建新模型时用户无法任意编辑该模型;因此,可以有效控制三维模型的修改方式。

附图说明

图1是本申请实施例提供的一种三维模型构建方法的实施例的流程图;

图2是本申请实施例提供的一种三维模型构建方法的实施例的具体流程图;

图3是本申请实施例提供的一种三维模型构建方法的实施例的数据存储示意图;

图4是本申请实施例提供的一种三维模型构建装置的实施例的示意图;

图5是本申请实施例提供的一种电子设备的实施例的示意图。

图6是本申请实施例提供的又一种三维模型构建方法的实施例的流程图;

图7是本申请实施例提供的又一种三维模型构建装置的实施例的示意图;

图8是本申请实施例提供的又一种三维模型构建装置的实施例的具体示意图;

图9是本申请实施例提供的又一种电子设备的实施例的示意图

图10是本申请实施例提供的一种三维模型构建系统的实施例的示意图。

具体实施方式

在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。

在本申请实施例中,提供了一种三维模型构建方法、装置及电子设备,又一种三维模型构建方法、装置及电子设备,以及一种三维模型构建系统。在下面的实施例中逐一进行详细说明。

本申请实施例提供的三维模型构建方法,其核心的基本思想为:接收用户客户端发送的针对新建三维模型的模型提交请求,该新建三维模型基于原始三维模型构建,并将该请求携带的该新建三维模型相对该原始三维模型的修改信息、以及该原始三维模型的模型标识,作为新建三维模型的模型数据进行存储。由于采用引用式的存储方式分层存储三维模型数据,因而,能够达到减缓对三维模型库的存储压力的效果。

请参考图1,其为本申请实施例的三维模型构建方法实施例的流程图。所述方法包括如下步骤:

步骤s101:接收第一用户客户端发送的针对新建三维模型的第一模型提交请求。

所述第一用户客户端可以是能够运行三维建模工具的任意一种设备,例如,个人电脑、笔记本电脑等终端设备。应用本申请实施例提供的三维模型构建方法构建的三维模型,不仅仅局限于虚拟现实世界的场景模型,例如,房子结构的三维模型;也可以是非虚拟现实世界的一般物体的三维模型,例如,汽车发动机部件的三维模型。

所述新建三维模型基于原始三维模型构建,也就是说,原始三维模型是新建三维模型的基础模型。所述新建三维模型又可以作为基础模型,在其基础上构建新的三维模型。

所述第一模型提交请求至少要携带所述新建三维模型相对所述原始三维模型的修改信息。由于完整的三维模型数据可由多个模型部件的数据构成,因此,所述修改信息包括但不限于以下修改信息的至少一者:所述新建三维模型相对所述原始三维模型的新增部件对应的模型数据,以及新增部件在新建三维模型中的位置信息;所述新建三维模型相对所述原始三维模型已删除的部件的部件标识;所述新建三维模型相对所述原始三维模型发生数据变更的部件的部件标识及变更后的模型数据。

此外,所述第一模型提交请求还需携带所述新建三维模型是基于原始三维模型构建的依赖关系信息,例如,所述第一模型提交请求携带所述原始三维模型的模型标识,或者,直接携带所述原始三维模型的模型数据,并指出该模型数据为原始三维模型的模型数据。

所述第一用户在所述第一用户客户端中构建新建三维模型时所基于的原始三维模型,可以是运行本申请实施例提供的方法的设备提供的来源于三维模型库的原始三维模型,也可以是第一用户在第一用户客户端中构建的一个新的原始三维模型,还可以是第一用户从其它设备中导入到第一用户客户端的原始三维模型。由于后两种原始三维模型并未存储在三维模型库中,因此,可将这两种原始三维模型称为新建的原始三维模型。

在本实施例中,第一用户在所述第一用户客户端中基于三维模型库中的三维模型构建新的模型,形成所述新建三维模型。要基于三维模型库中的三维模型构建新的模型,所述第一用户客户端首先需要获取三维模型库中的已有三维模型数据。

所述第一用户客户端要获取三维模型库中的三维模型,可采用如下具体步骤实现:1)向运行本申请实施例提供的方法的设备(由于该设备可向用户客户端提供已有三维模型数据,因此,可称为服务器)发送针对所述原始三维模型的模型获取请求;2)接收所述服务器回送的所述原始三维模型的模型数据;3)根据接收到的模型数据,展示所述原始三维模型。相应的,本申请实施例的三维模型构建方法需要根据所述第一用户客户端发送的模型获取请求,向所述第一用户客户端回送所述原始三维模型的模型数据。

请参考图2,其为本申请实施例的三维模型构建方法实施例的具体流程图。在本实施例中,在步骤s101之前,还包括如下步骤:

步骤s201:接收所述第一用户客户端发送的针对所述原始三维模型的模型获取请求。

所述模型获取请求携带有所述原始三维模型的模型标识信息。

步骤s203:获取所述原始三维模型的模型数据。

根据所述原始三维模型的模型标识,在三维模型库中进行检索,获得所述原始三维模型的模型数据。

需要注意的是,第一用户需要通过三维建模工具(如:3dstudiomax,或maya等)构建新的模型,三维建模工具只能识别预设格式的模型数据,而三维模型库中的三维模型数据的格式是模型引用式的格式(即:一个三维模型数据包括模型引用信息和修改信息两个部分),因此,这两种数据格式并不一致,从而导致三维建模工具无法识别三维模型库中的三维模型数据。为了能够在三维建模工具中打开三维模型库中的已有三维模型,以便在其基础上构建新的模型,就需要预先对获取到的原始三维模型数据进行数据格式转换,将三维模型库中的原始三维模型数据的数据格式转换为三维建模工具能够识别的数据格式。

所述将三维模型库中的原始三维模型数据的数据格式转换为三维建模工具能够识别的数据格式的处理步骤,可以在运行本申请实施例提供的方法的设备端实现,也可以在第一用户客户端实现。

在本实施例中,所述将三维模型库中的原始三维模型数据的数据格式转换为三维建模工具能够识别的数据格式的处理步骤,在运行本申请实施例提供的方法的设备端实现。因此,本申请实施例提供的方法,步骤s203可包括如下具体步骤:1)根据所述模型获取请求携带的所述原始三维模型的模型标识,获取构建所述原始三维模型所基于的三维模型的模型标识、及所述原始三维模型相对所述所基于的三维模型的修改信息;2)根据所述所基于的三维模型的模型标识,获取所述所基于的三维模型的模型数据;3)根据所述所基于的三维模型的模型数据和所述相对所述所基于的三维模型的修改信息,生成所述原始三维模型的模型数据。采用这种处理方式,向客户端回送的原始三维模型的模型数据为三维建模工具可识别的模型数据。

步骤s205:向所述第一用户客户端回送所述原始三维模型的模型数据。

通过步骤s201和步骤s203获取到所述原始三维模型的模型数据之后,就可以将模型数据回送至第一用户客户端,供第一用户客户端加载展示用,进而使得第一用户能够在该原始三维模型的基础上构建新的模型。

作为一种优选的方案,三维模型库还可存储三维模型的修改限制信息,以便对原始三维模型的修改方式进行控制。所述修改限制信息包括但不限于:至少一个不可修改的模型部件的信息,例如,将房子结构的三维模型中承重墙部分标记为不可修改;也可以是直接指定的不可修改的模型数据的信息,例如,将房子结构的三维模型中承重墙部分的数据标记为不可修改。所述修改限制信息,还可以包括对如何修改模型部件进行限定的信息,例如,限定承重墙部分只能修改颜色而不能删除等。

这种情况下,在步骤s205之前,还可包括如下步骤:获取所述原始三维模型的修改限制信息;相应的,步骤s205采用如下方式实现:向所述第一用户客户端回送所述述原始三维模型的模型数据和所述原始三维模型的修改限制信息。第一用户客户端将根据原始三维模型的修改限制信息,展示原始三维模型,将标记为不可修改的模型部件或模型数据对应的三维模型设置为不可修改的状态,或者以醒目的方式显示(如:红色)不可修改的模型部件,以提醒用户这些部位不能修改。

通过上述步骤s201至步骤s205,完成根据所述模型获取请求向所述第一用户客户端回送所述原始三维模型的模型数据的功能。

此外,要基于三维模型库中的三维模型构建新的模型,还需要预先采集作为原始三维模型的模型数据。因此,本申请实施例提供的三维模型构建方法,还可包括如下步骤:采集所述原始三维模型的模型数据。

具体实施时,所述原始三维模型的模型数据,可采用如下步骤采集:1)接收第二用户客户端发送的针对所述原始三维模型的第二模型提交请求,所述第二模型提交请求包括所述原始三维模型的模型数据;2)生成所述原始三维模型的模型标识;2)存储所述原始三维模型的模型标识与所述原始三维模型的模型数据之间的对应记录。

所述第二用户与所述第一用户通常为不同的用户,第二用户为原始三维模型的制作方,第一用户为原始三维模型的使用方,可对原始三维模型进行再创造的处理。例如,第二用户为房产商,该用户通过三维建模工具构建出房子结构的三维模型数据,并通过第二用户客户端向运行本申请实施例提供的方法的设备发送的针对该房子结构三维模型的模型提交请求,本申请实施例提供的方法在接收到该请求后,首先为该模型生成模型标识,然后,将该模型标识与该模型数据之间的对应记录存储在三维模型库中,供其它用户分享和再创作,如,装修公司作为第一用户可根据该原始模型创建装修后的模型,房主作为第一用户可在装修后的模型中添加商品卖家提供的商品模型信息等。

作为一种优选的方案,所述第二模型提交请求也可携带所述原始三维模型的修改限制信息,相应的,本申请实施例提供的三维模型构建方法,还需包括如下步骤:存储所述原始三维模型的修改限制信息。

通过步骤s101接收到第一用户客户端发送的针对新建三维模型的第一模型提交请求后,就可以进入下一步骤,采用模型引用式的格式存储新建三维模型的模型数据。

步骤s103:将所述原始三维模型的模型标识和所述修改信息作为所述新建三维模型的模型数据进行存储。

如果所述第一模型提交请求携带的是所述原始三维模型的模型标识,则步骤s103可直接将所述第一模型提交携带的所述原始三维模型的模型标识和所述修改信息,作为所述新建三维模型的模型数据进行存储。

如果所述第一模型提交请求携带的是所述原始三维模型的模型数据,并携带了该模型数据为原始三维模型的模型数据的信息,那么,在步骤s103之前,还可包括如下步骤:1)生成所述原始三维模型的模型标识;2)存储所述原始三维模型的模型标识与所述原始三维模型的模型数据之间的对应记录。

请参考图3,其为本申请实施例的三维模型构建方法实施例的数据存储格式的示意图。由图3可见,每一个模型数据均包括两个部分:对基础模型(原始模型)的引用信息(如:基础模型的模型标识)和在基础模型上进行的修改信息,即:模型引用式的格式。

此外,所述第一模型提交请求还可携带所述新建三维模型的修改限制信息,在这种情况下,本申请实施例提供的三维模型构建方法,还可包括如下步骤:存储所述新建三维模型的修改限制信息。通过存储新建三维模型的修改限制信息,使得后续在该新建三维模型基础上构建新模型时,能够对该新建三维模型的修改方式进行控制。

在上述的实施例中,提供了一种三维模型构建方法,与之相对应的,本申请实施例还提供一种三维模型构建装置。该装置是与上述方法的实施例相对应。

请参看图4,其为本申请实施例的三维模型构建装置实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。

本实施例的一种三维模型构建装置,包括:

接收单元,用于接收第一用户客户端发送的针对新建三维模型的第一模型提交请求,所述新建三维模型基于原始三维模型构建,所述第一模型提交请求携带所述新建三维模型相对所述原始三维模型的修改信息;

存储单元,用于将所述原始三维模型的模型标识和所述修改信息作为所述新建三维模型的模型数据进行存储。

请参考图5,其为本申请实施例的电子设备实施例的示意图。由于设备实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的设备实施例仅仅是示意性的。

本实施例的一种电子设备,该电子设备包括:处理器102;以及存储器103,

所述存储器103用于存储实现三维模型构建方法的程序,该设备通电并通过所述处理器运行该三维模型构建方法的程序后,执行下述步骤:

接收第一用户客户端发送的针对新建三维模型的第一模型提交请求,所述新建三维模型基于原始三维模型构建,所述第一模型提交请求携带所述新建三维模型相对所述原始三维模型的修改信息;

将所述原始三维模型的模型标识和所述修改信息作为所述新建三维模型的模型数据进行存储。

与上述的三维模型构建方法相对应,本申请实施例还提供又一种三维模型构建方法。请参考图6,其为本申请实施例提供的又一种三维模型构建方法实施例的流程图,本实施例与第一实施例内容相同的部分不再赘述,请参见实施例一中的相应部分。本申请实施例提供的又一种三维模型构建方法包括:

步骤s101:接收用户提交的针对新建三维模型的模型提交指令。

所述新建三维模型基于原始三维模型构建。在所述用户提交所述模型提交指令之前,首先需要通过三维模型工具,基于原始三维模型构建新的模型,形成所述新建三维模型。

具体实施时,可以采用现有的三维建模工具构建模型,例如,3dstudiomax或maya等三维建模工具,这两个工具是当前主流的三维建模工具,各有优劣,要视实际需要合理选择使用。

构建所述新建三维模型所基于的所述原始三维模型,可以是来源于三维模型库的原始三维模型,也可以是用户通过三维建模工具构建的一个新的原始三维模型,也可以是用户从其它设备中导入到用户客户端的原始三维模型。由于后两种原始三维模型并未存储在三维模型库中,因此,将这两种原始三维模型称为新建的原始三维模型。

在本实施例中,用户在其客户端中基于三维模型库中的三维模型构建新的模型,形成所述新建三维模型。要基于三维模型库中的三维模型构建新的模型,所述用户的客户端首先需要获取三维模型库中的三维模型数据。

所述用户的客户端要获取三维模型库中的三维模型数据,可采用如下具体步骤实现:1)向服务器发送针对所述原始三维模型的模型获取请求;2)接收所述服务器回送的所述原始三维模型的模型数据;3)根据接收到的模型数据,展示所述原始三维模型。

如果服务器端还存储有所述原始三维模型的修改限制信息,则所述接收所述服务器回送的所述原始三维模型的模型数据,可采用如下方式实现:接收所述服务器回送的所述原始三维模型的模型数据和所述原始三维模型的修改限制信息。在这种情况下,所述根据接收到的模型数据,并展示所述原始三维模型,可包括如下具体步骤:1)根据所述修改限制信息,获取所述原始三维模型中不可修改的模型部件的部件标识或不可修改的模型数据;2)根据所述接收到的模型数据展示所述原始三维模型,并在展示所述原始三维模型时,将所述不可修改的模型部件设置为不可修改的状态。

如果服务器端没有将三维模型库中的原始三维模型数据的数据格式转换为三维建模工具能够识别的数据格式,那么,用户客户端接收到模型数据将是模型引用式的模型数据,即该模型数据包括构建所述原始三维模型所基于的三维模型的模型标识、及所述原始三维模型相对所述所基于的三维模型的修改信息。这种情况下,用户客户端根据接收到的模型数据,并展示所述原始三维模型,可包括如下具体步骤:1)对所述接收到的模型数据进行解析,获得解析后的模型数据;2)根据所述解析后的模型数据,展示所述原始三维模型。

所述对所述接收到的模型数据进行解析,并获得解析后的模型数据的处理,可采用如下方式实现:首先,根据所述所基于的三维模型的模型标识,获取所述所基于的三维模型的模型数据;然后,再根据所述所基于的三维模型的模型数据和所述原始三维模型相对所述所基于的三维模型的修改信息,生成所述原始三维模型的模型数据。将原始三维模型数据的数据格式转换为三维建模工具能够识别的数据格式后,就可以在三维建模工具中展示该原始三维模型,进而用户可以在该模型基础上搭建新的模型。

作为一种优选的方案,所述根据接收到的模型数据,并展示所述原始三维模型,可采用如下方式实现:根据接收到的模型数据,展示虚拟现实的原始三维模型。

在实际应用中,无论原始三维模型的数据来源如何,均可以向用户展示虚拟现实的原始三维模型。具体实施时,可以同屏展示原始三维模型的单场图模型和偶场图模型,用户通过虚拟现实显示设备观看该原始三维模型,即可体验到具有空间感的立体原始三维模型,并可以通过虚拟现实输入设备对该原始三维模型进行修改,以构建新的模型。此外,还可以通过虚拟现实输入设备对新建模型的修改方式进行限制。

所述虚拟现实显示设备,可以为vr头显(vr眼镜、vr头盔)等虚拟现实头戴式显示设备。以vr头显为例,该设备利用头戴式显示设备将人的对外界的视觉、听觉封闭,引导用户产生一种身在虚拟环境中的感觉。其显示原理是左右眼屏幕分别显示左右眼的图像,人眼获取这种带有差异的信息后在脑海中产生立体感。

所述虚拟现实输入设备,是一种能把真实世界的环境数据映射到虚拟世界的设备,也就是说,输入用户指令到vr(virtualreality,虚拟现实)系统的设备。和键盘鼠标不一样,虚拟现实输入设备强调沉浸感。所述虚拟现实输入设备,包括但不限于手套、手柄、双手柄以及全身套装等虚拟现实输入设备。随着虚拟显示技术的发展,可以供用户使用的虚拟现实输入设备也会越来越多。例如,将结合了惯性传感器、震动马达的传统手柄作为虚拟现实输入设备,这类输入设备一般是使用传统的按钮/摇杆/触板进行操作,并通过震动感交互。

当用户使用虚拟现实输入设备对原始三维模型进行修改时,本申请实施例提供的方法,还需要对接收到的用户指令信息进行解析处理,获得解析后的用户指令,例如,对原始三维模型进行颜色修改、添加新的模型数据等用户指令。

通过步骤s101接收到用户提交的针对新建三维模型的模型提交指令后,就可以进入下一步,获取所述新建三维模型相对所述原始三维模型的修改信息。

步骤s103:获取所述新建三维模型相对所述原始三维模型的修改信息。

具体实施时,要获取所述新建三维模型相对所述原始三维模型的修改信息,可采用如下方式:首先获取所述新建三维模型的模型数据,以及所述原始三维模型的模型数据;然后,将这两种模型数据进行对比,获得所述新建三维模型相对所述原始三维模型的修改信息。

如果所述原始三维模型具体所述修改限制信息,那么,作为一种优选的方案,在步骤s101之后,还可包括如下步骤:根据所述原始三维模型的修改限制信息,判断是否对所述原始三维模型中不可修改的模型部件进行了修改;若是,则向用户提供修改超限制的提示信息。采用这种处理方式,可以有效避免对原始三维模型超限制修改的情况出现。

步骤s105:向所述服务器发送所述模型提交请求。

所述模型提交请求至少携带所述新建三维模型相对所述原始三维模型的修改信息。所述修改信息包括但不限于以下修改信息的至少一者:所述新建三维模型相对所述原始三维模型的新增部件对应的模型数据,以及新增部件在新建三维模型中的位置信息;所述新建三维模型相对所述原始三维模型已删除的部件的部件标识;所述新建三维模型相对所述原始三维模型发生数据变更的部件的部件标识及变更后的模型数据。

所述模型提交请求还需携带所述新建三维模型是基于原始三维模型构建的依赖关系信息,例如,所述模型提交请求携带所述原始三维模型的模型标识,或者,直接携带所述原始三维模型的模型数据,并指出该模型数据为原始三维模型的模型数据。

此外,用户构建所述新建三维模型时,可能对各个模型部件是否可以修改进行标记,甚至对如何修改模型部件(如:只能改动位置,不能删除等)进行了限定,这些信息作为所述新建三维模型的修改限制信息也需要存储。所述修改限制信息包括:至少一个不可修改的模型部件的信息。因此,本申请实施例提供的方法,在步骤s105之前,还可包括如下步骤:获取所述新建三维模型的修改限制信息;相应的,所述模型提交请求还携带所述新建三维模型的修改限制信息。

下面以一个完整的例子说明用户基于原始三维模型构建新模型的过程,以及用户客户端向模型存储服务器发送模型提交请求的过程。假设原始三维模型是房产商通过三维建模工具构建出的房子结构的三维模型数据,装修公司在该原始三维模型的基础上构建了装修后的房子模型,这两个模型数据均存储在模型存储服务器的三维模型库中,且数据格式为模型引用式的数据格式;现在,房主要在电商网站上购买家具,这种情况下,房主就可以通过部署在其个人电脑中的定制的三维建模工具(该工具在传统三维建模工具基础上加入了模型导入功能及模型提交功能),首先导入模型存储服务器预先存储的装修后的房子模型,以及导入电商服务器端预先存储的该房主指定家具的三维模型,并通过该三维建模工具将家具的三维模型添加到装修后的房子模型中,并指定该家具模型可以修改,至此,用户构建新模型的行为结束,该新建模型基于装修后的房子模型进行构建,并引入了新的模型部件“家具模型”,此时,用户就可以向该三维建模工具发出提交该新建三维模型的模型提交指令,该三维建模工具接收到模型提交指令后,首先获取该新建三维模型相对“装修后的房子模型”的修改信息,该修改信息包括“家具模型”的模型数据、及“家具模型”在新建三维模型中的位置信息,然后,该三维建模工具就可以向模型存储服务器发送针对新建三维模型的模型提交请求;模型存储服务器接收到该请求后,将“装修后的房子模型”的模型标识和该修改信息作为该新建三维模型的模型数据进行存储。在此之后,如果房主的家人要观看房主构建的三维模型,则可以应用本申请实施例提供的方法首先观看该房主构建的三维模型,并在此基础上进行修改,以构建新的模型,需要注意的是,该房主家人只能对家具进行修改操作,例如,将房主选定的沙发a修改为沙发b。上述操作过程,用户均可以通过虚拟现实显示设备观看模型,并通过虚拟现实输入设备构建新模型。

在上述的实施例中,提供了又一种三维模型构建方法,与之相对应的,本申请实施例还提供又一种三维模型构建装置。该装置是与上述方法的实施例相对应。

请参看图7,其为本申请实施例的又一种三维模型构建装置实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。

本实施例的又一种三维模型构建装置,包括:模型数据编辑单元101,用于在原始三维模型基础上构建所述新建三维模型;模型提交指令接收单元103,用于接收用户提交的针对所述新建三维模型的模型提交指令;修改信息获取单元105,用于获取所述新建三维模型相对所述原始三维模型的修改信息;模型提交请求发送单元107,用于向所述服务器发送针对新建三维模型的模型提交请求,所述第一模型提交请求携带所述新建三维模型相对所述原始三维模型的修改信息。

本申请实施例提供的三维模型构建装置,可基于现有的三维建模工具(如:3dstudiomax,或者游戏引擎编辑器等)进行构建,例如,将游戏引擎编辑器(如:unity等)作为所述模型数据编辑单元101,并单独构建所述模型提交指令接收单元103、所述修改信息获取单元105、及所述模型提交请求发送单元107,然后,将所述模型提交指令接收单元103、所述修改信息获取单元105、及所述模型提交请求发送单元107作为插件融合到游戏引擎编辑器中,从而构建成本申请实施例提供的三维模型构建装置。

请参看图8,其为本申请实施例的又一种三维模型构建装置实施例的具体示意图。可选的,所述装置还包括:

模型获取请求发送单元201,用于向所述服务器发送针对所述原始三维模型的模型获取请求;

模型数据接收单元203,用于接收所述服务器回送的所述原始三维模型的模型数据;

原始三维模型展示单元205,用于根据接收到的模型数据,展示所述原始三维模型。

所述模型获取请求发送单元201、所述模型数据接收单元203、及所述原始三维模型展示单元205,仍可以作为插件融合到游戏引擎编辑器中,使得用户客户端能够从服务器中导入原始三维模型,进而使得用户可以在原始三维模型的基础上构建新的模型。

可选的,所述模型数据接收单元203,具体用于接收所述服务器回送的所述原始三维模型的模型数据和所述原始三维模型的修改限制信息。

可选的,所述原始三维模型展示单元205包括:

信息获取子单元,用于根据所述修改限制信息,获取所述原始三维模型中不可修改的模型部件的部件标识;

模型展示子单元,用于根据所述接收到的模型数据展示所述原始三维模型,并在展示所述原始三维模型时,将所述不可修改的模型部件设置为不可修改的状态。

可选的,所述装置还包括:

检测提示单元,用于根据所述修改限制信息,判断是否对所述原始三维模型中不可修改的模型部件进行了修改;若是,则向用户提供修改超限制的提示信息。

可选的,所述接收到的模型数据包括模型引用式的模型数据;

所述原始三维模型展示单元205包括:

数据解析子单元,用于对所述接收到的模型数据进行解析,获得解析后的模型数据;

模型展示子单元,用于根据所述解析后的模型数据,展示所述原始三维模型。

可选的,所述原始三维模型展示单元205,具体用于根据接收到的模型数据,展示虚拟现实的原始三维模型。

可选的,所述装置还包括:

修改限制信息获取单元,用于获取所述新建三维模型的修改限制信息;

相应的,所述模型提交请求还携带所述新建三维模型的修改限制信息。

可选的,所述修改限制信息包括:至少一个不可修改的模型部件的信息。

可选的,所述修改信息包括以下修改信息的至少一者:新增部件对应的模型数据及位置信息,删除部件的部件标识,修改部件的部件标识及修改后的模型数据。

请参考图9,其为本申请实施例的电子设备实施例的示意图。由于设备实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的设备实施例仅仅是示意性的。

本实施例的一种电子设备,该电子设备包括:处理器102;以及存储器103,

所述存储器103用于存储实现三维模型构建方法的程序,该设备通电并通过所述处理器运行该三维模型构建方法的程序后,执行下述步骤:

接收用户提交的针对新建三维模型的模型提交指令,所述新建三维模型基于原始三维模型构建;

获取所述新建三维模型相对所述原始三维模型的修改信息;

向所述服务器发送针对新建三维模型的模型提交请求,所述第一模型提交请求携带所述新建三维模型相对所述原始三维模型的修改信息。

本申请实施例还提供了一种三维模型构建系统,如图10所示,该系统包括上述实施例所述的第一种三维模型构建装置101和第二种三维模型构建装置102。所述第一种三维模型构建装置101通常部署于服务器,但并不局限于服务器,也可以是能够实现所述第一种三维模型构建方法的任何设备;所述第二种三维模型构建装置102通常部署于个人电脑、笔记本电脑等终端设备。

例如,第二种三维模型构建装置102部署在个人电脑上,用户在该设备上首先通过三维建模软件基于原始三维模型构建新的三维模型,当新的三维模型构建完成后,用户将向所述第二种三维模型构建装置102提交针对新建三维模型的模型提交指令,所述第二种三维模型构建装置102接收到模型提交指令后,将获取该新建三维模型相对该原始三维模型的修改信息,并向服务器发送针对新建三维模型的模型提交请求,该请求携带新建三维模型相对原始三维模型的修改信息;所述第一种三维模型构建装置101部署在服务器上,通过接收用户客户端发送的针对新建三维模型的模型提交请求,并将该原始三维模型的模型标识和该修改信息作为该新建三维模型的模型数据进行存储。

本申请实施例提供的三维模型构建方法、装置及系统,接收用户客户端发送的针对新建三维模型的模型提交请求,该新建三维模型基于原始三维模型构建,并将该请求携带的该新建三维模型相对该原始三维模型的修改信息、以及该原始三维模型的模型标识,作为新建三维模型的模型数据进行存储。采用本申请实施例提供的三维模型构建方法、装置及系统,采用引用式的存储方式分层存储三维模型数据,从而砸到有效减缓对三维模型库的存储压力的效果。此外,用户客户端发送的模型提交请求还可携带新建三维模型的修改限制信息,该修改限制信息将被存储;这种处理方式,使得在基于该模型构建新模型时用户无法任意编辑该模型;因此,可以有效控制三维模型的修改方式。

本申请实施例虽然以较佳实施例公开如上,但其并不是用来限定本申请实施例,任何本领域技术人员在不脱离本申请实施例的精神和范围内,都可以做出可能的变动和修改,因此本申请实施例的保护范围应当以本申请实施例权利要求所界定的范围为准。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

2、本领域技术人员应明白,本申请实施例的实施例可提供为方法、系统或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

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