本发明涉及3D模型处理领域,尤其涉及一种在线3D模型的获取方法、提供方法、装置及管理系统。
背景技术:
设计人员在设计过程中,通常需要在互联网上寻找已有的3D模型(本申请称作在线3D模型),在已有的3D模型上做进一步的设计。在现有技术中,设计人员从互联网上下载在线3D模型时,需要在大量的在线信息中进行搜索,并且搜索到的在线3D模型的信息也不直观,例如,是否符合已安装的3dsMAX应用程序的版本,在线3D模型的效果图是否满足预期目标,等等,需要根据实际需求反复筛选,因而现有技术中在线3D模型的获取方法需要的操作复杂,显示的信息分散不直观,影响工作效率,用户体验差。
现有技术中存在的上述技术问题,目前尚未提出有效的解决方案。
技术实现要素:
为了实现上述目的,本发明提供了一种在线3D模型的获取方法。
该在线3D模型的获取方法包括:显示与在线3D模型的多个分类一一对应的多个第一级实体控件;响应于用户对一个分类对应的第一级实体控件所执行的第一预定操作,发送第一模型信息请求至服务器,其中,第一模型信息请求中携带有分类的标识信息;接收服务器下发的分类下的多个3D模型的模型描述参数,其中,模型描述参数包括标识信息、缩略图地址和版本信息;针对服务器下发的每个3D模型,通过其缩略图地址加载3D模型的缩略图,并将其标识信息、缩略图和版本信息转化为与其对应的第二级实体控件;显示与服务器下发的3D模型对应的第二级实体控件;响应于用户对第二级第一实体控件所执行的第二预定操作,发送模型地址请求至服务器,其中,第二级第一实体控件为服务器下发的3D模型对应的第二级实体控件,模型地址请求中携带有3D模型的标识信息;接收服务器下发的3D模型的文件压缩包的下载地址;以及根据下载地址下载文件压缩包。
进一步地,在根据下载地址下载文件压缩包时,该方法还包括:从下载文件压缩包开始至结束,控制第二级第一实体控件由第一颜色逐渐过渡到第二颜色。
进一步地,在根据下载地址下载文件压缩包之后,该方法还包括:调用解压缩工具对文件压缩包进行解压以得到3D模型的文件包;存储3D模型的文件包至本地磁盘,其中,3D模型的文件包中包括3D模型的MAX文件;获取3D模型的MAX文件的存储路径;以及发送获取到的MAX文件的存储路径至3dsMAX应用程序。
进一步地,在获取3D模型的MAX文件的存储路径之后,该方法还包括:解析3D模型的文件包以得到3D模型的模型描述参数;以及存储解析3D模型的文件包得到的模型描述参数和MAX文件的存储路径至本地数据库中3D模型所属的分类下,在显示与在线3D模型的多个分类一一对应的多个第一级实体控件之后,方法还包括:响应于用户对一个分类对应的第一级实体控件所执行的第一预定操作,根据分类的标识信息查询本地数据库以得到本地数据库中分类下的3D模型的模型描述参数;针对本地数据中查询到的每个3D模型,通过其缩略图地址加载3D模型的缩略图,并将其标识信息、缩略图、版本信息和MAX文件的存储路径转化为与其对应的第二级实体控件;显示与本地数据库中查询到的3D模型对应的第二级实体控件;响应于用户对第二级第二实体控件所执行的第二预定操作,解析第二级第二实体控件以得到MAX文件的存储路径,其中,第二级第二实体控件为本地数据库中查询到的3D模型对应的第二级实体控件;发送解析到的MAX文件的存储路径至3dsMAX应用程序,服务器下发的分类下的3D模型与本地数据库中分类下的3D模型不同。
进一步地,该方法还包括:响应于用户在搜索内容框中输入搜索信息的操作,发送第二模型信息请求至服务器,根据搜索信息查询本地数据库以得到本地数据库中与搜索信息相匹配的3D模型的模型描述参数,其中,第二模型信息请求中携带有搜索信息;以及接收服务器下发的与搜索信息相匹配的多个3D模型的模型描述参数,其中,服务器下发的与搜索信息相匹配的3D模型与本地数据库中与搜索信息相匹配的3D模型不同。
进一步地,显示与在线3D模型的多个分类一一对应的多个第一级实体控件的步骤包括:响应于预定的触发条件被满足,发送模型分类请求至服务器;接收服务器下发的在线3D模型的多个分类的类别信息;以及并将3D模型多个分类的类别信息转换为与多个分类一一对应的多个第一级实体控件并显示。
进一步地,通过POST方法向服务器发送第一模型信息请求,每个3D模型的模型描述参数均被封装为JSON数据。
为了实现上述目的,本发明提供了一种在线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为本申请提供的实施例的客户端的显示效果图;
图3为本申请提供的第二实施例的在线3D模型的获取方法的流程图;
图4为本申请提供的第三实施例的在线3D模型的获取方法的流程图;
图5为本申请提供的第四实施例的在线3D模型的获取方法的流程图;
图6为本申请提供的第五实施例的在线3D模型的提供方法的流程图;
图7为本申请提供的第六实施例的在线3D模型的提供方法的流程图;
图8为本申请提供的第七实施例的在线3D模型的获取装置的框图;
图9为本申请提供的第八实施例的在线3D模型的提供装置的框图;以及
图10为本申请提供的第九实施例的在线3D模型的管理系统的框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,在下面的具体实施方式中,将对本发明作进一步详细的说明。
第一实施例
该实施例提供了一种在线3D模型的获取方法,该方法的执行主体为客户端,具体可以为安装于客户端操作系统的第三方应用程序(APP),或者为应用于3dsMAX的插件程序,通过在客户端与远程服务器的交互,实现在线3D模型的获取。参见图1所示,该方法具体包括如下的步骤S102至步骤S116。
步骤S102:显示与在线3D模型的多个分类一一对应的多个第一级实体控件。
将资源库中的在线3D模型分为多个类,例如设置两级分类,一级分类为动物、植物、人物、户外建筑、交通工具等分类,二级分类是在一级分类下进一步的分类,如动物分类下又分为爬行类、水生类、飞行类、其它等分类。其中,如图2所示,一级分类显示在第一级窗体,二级分类显示在第二级窗体,具体的3D模型的缩略图显示在第三级窗体。每个一级分类下的所有二级分类所在的第二级窗体均隶属于该一级分类所在的窗体,例如,动物分类下的爬行类、水生类、飞行类、其它共四个二级分类显示的窗体均隶属于动物分类所在的窗体。每个二级分类下的所有3D模型的缩略图所在的第三级窗体均隶属于该二级分类所在的窗体,例如,爬行类下的两个3D模型的缩略图显示的窗体均隶属于爬行类所在的窗体。
最底层的分类,例如上述的第二级分类,对应的实体控件为第一级实体控件,在该步骤中,将最底层的分类所对应的第一级实体控件显示给用户。
显示上述第一级实体控件所需的数据,可以随下载APP或插件安装包时一并下载,安装后第一次打开时调用该数据显示如图2所示的界面。
总之,当用户通过该实施例提供的方法获取在线3D模型时,客户端可向用户显示与在线3D模型各个分类所对应的第一级实体控件,该第一级实体控件可接收用户的操作,获取该第一级实体控件对应的分类下的3D模型的信息。
步骤S104:响应于用户对一个分类对应的第一级实体控件所执行的第一预定操作,发送第一模型信息请求至服务器。
用户确定要获取的在线3D模型所属的分类后,可点击该分类所对应的第一级实体控件,点击后显示可针对该第一级实体控件所进行的操作,例如显示一个下拉菜单,菜单中包括“获取”选项,用户点击该“获取”选项时,也即对该第一级实体控件执行了第一预定操作,此时,客户端响应于该操作,向服务器发送第一模型信息请求。
其中,第一模型信息请求中携带有分类的标识信息,例如分类名称,分类ID号等,服务器解析该第一模型信息请求获取到标识信息,然后将对应于标识信息的分类下的所有3D模型的模型描述参数下发至客户端。
优选地,客户端通过POST方法向服务器发送第一模型信息请求,方便参数传递,第一模型信息请求通过MD5方式进行加密,提高数据安全性。
步骤S106:接收服务器下发的分类下的多个3D模型的模型描述参数。
服务器响应上述步骤S104中的第一模型信息请求后,客户端会接收到用户执行的第一预定操作所对应的分类下的多个3D模型的模型描述参数。
模型描述参数包括3D模型的标识信息,例如3D模型的ID号、名称等,还包括3D模型的缩略图地址和版本信息,进一步,还可包括3D模型的点面数信息、贴图信息、关键字描述和压缩包大小等。
优选地,每个3D模型的模型描述参数均被封装为JSON数据,例如一个鸵鸟3d模型的模型描述参数如下:
步骤S108:针对服务器下发的每个3D模型,通过其缩略图地址加载3D模型的缩略图,并将其标识信息、缩略图和版本信息转化为与其对应的第二级实体控件。
通过该步骤,对于每个3D模型,均能够得到一个对应的第二级实体控件。
步骤S110:显示与服务器下发的3D模型一一对应的第二级实体控件。
将转换后得到的各个第二级实体控件显示给用户,如图2所示,第二级实体控件上显示3D模型的名称为“游戏马车3d模型”、“河马3d模型”,显示3D模型的缩略图,显示3D模型的版本信息为“2011”,每页可显示60个第二级实体控件,也即60个缩略图,右侧以滑块形式拖动查看缩略图,从而用户能够直观的看到一个分类下所有在线3D模型的情况。
步骤S112:响应于用户对第二级第一实体控件所执行的第二预定操作,发送模型地址请求至服务器。
该处的第二级第一实体控件是服务器下发的3D模型所对应的第二级实体控件。
需要说明的是,“第二级第一实体控件”、“第二级第二实体控件”(见下文)以及“第二级实体控件”中的“第二级”并没有实际的次序指代意义,在该专利中仅用于与“第一级实体控件”中的“第一级”进行区分;“第二级第一实体控件”中的“第一”与“第二级第二实体控件”中的“第二”也没有实际的次序指代意义,仅用于相互区分。
用户从显示的第二级第一实体控件中找到要获取的在线3D模型后,将鼠标放在该第二级第一实体控件上,显示可针对该第二级第一实体控件所进行的操作菜单,其中,菜单中包括“下载”选项,用户点击该“下载”选项时,也即对该第二级实体控件执行了第二预定操作,此时,客户端响应于该操作,向服务器发送模型地址请求。
其中,模型地址请求中携带有3D模型的标识信息,例如3D模型名称,3D模型ID号等,服务器解析该模型地址请求获取到标识信息,然后将对应于标识信息的3D模型的下载地址下发至客户端。
步骤S114:接收服务器下发的3D模型的文件压缩包的下载地址。
服务器响应上述步骤S112中的模型地址请求后,客户端会接收到用户执行的第二预定操作所对应的3D模型的下载地址。
步骤S116:根据下载地址下载文件压缩包。
客户端请求该下载地址,可获得3D模型的文件压缩包,完成在线3D模型的获取。
第二实施例
该实施例为在上述第一实施例基础上提供的一种在线3D模型的获取方法的优选实施例,该优选实施例中获取方法的执行主体与上述第一实施例的获取方法的执行主体相同,具体参见图3所示,该方法包括如下的步骤S202至步骤S226。
步骤S202:响应于预定的触发条件被满足,发送模型分类请求至服务器。
在该实施例中,触发条件可以设置为“APP或插件安装完成后首次打开且当前客户端处于联网状态”,或者可以设置为“接收到服务器下发的更新分类信号”,或者设置为其他条件,总之,当该触发条件被满足时,客户端响应于这一情况,向服务器发送模型分类请求。
服务器接收到模型分类请求后,下发在线3D模型的多个分类的类别信息。对在线3D模型具体分类时,可以分为同一级别的多个类别,也可以分为多个级别,如上述第一实施例中指出的,对在线3D模型设置两级分类。
步骤S204:接收服务器下发的在线3D模型的多个分类的类别信息。
服务器响应上述步骤S202中的模型分类请求后,客户端会接收到在线3D模型的多个分类的类别信息。
步骤S206:将3D模型多个分类的类别信息转换为与多个分类一一对应的多个第一级实体控件并显示。
具体地,对在线3D模型设置多级分类时,最底层的分类对应的实体控件为第一级实体控件,属于同一层分类的两个最底层的分类对应的第一级实体控件可显示在同一级窗体内。
步骤S208:响应于用户对一个分类对应的第一级实体控件所执行的第一预定操作,发送第一模型信息请求至服务器。
步骤S210:接收服务器下发的分类下的多个3D模型的模型描述参数。
优选地,模型描述参数包括3D模型ID、名称、缩略图地址、版本信息、点面数信息、贴图信息、关键字描述和压缩包大小等。
步骤S212:解析3D模型的模型描述参数获得3D模型的名称、缩略图地址和版本信息。
步骤S214:根据缩略图地址加载缩略图。
通过加载的方式将缩略图的信息加载至当前内存。
步骤S216:将解析获得的3D模型的名称和版本信息以及加载的缩略图转换为第二级实体控件。
采用该步骤,第二级实体控件上显示3D模型的名称、版本信息和缩略图,可以使用户在未开启3DsMax的情况下获得在线3D模型的模型版本信息,可以使用户在使用前得知当前模型是否对应3DsMax版本以选择是否要使用。如图2,用户在查看某一分类下的3D模型时,就很直观看到模型为3DsMax2011版。同时,用户可从缩略图初步看到3D模型的样式。
步骤S218:显示与多个3D模型一一对应的多个第二级实体控件。
步骤S220:响应于用户对一个3D模型对应的第二级实体控件所执行的第二预定操作,发送模型地址请求至服务器。
步骤S222:接收服务器下发的3D模型的文件压缩包的下载地址。
步骤S224:根据下载地址下载文件压缩包。
优选地,在下载文件压缩包至本地的同时,还根据缩略图地址下载缩略图至本地。
步骤S226:从下载文件压缩包开始至结束,控制第二级实体控件由第一颜色逐渐过渡到第二颜色。
采用该步骤S226,在下载过程中沟通过颜色的逐渐过渡能够体现下载进度,方便用户了解当前下载情况;同时,过渡前后的颜色可代表是否完成下载,从而方便用户了解历史下载情况。如图2所示,未下载的“游戏马车3d模型”采用一种颜色显示,已下载完成的“河马3d模型”采用另一种颜色显示。
第三实施例
该实施例为在上述第一实施例基础上提供的一种在线3D模型的获取方法的优选实施例,该优选实施例中获取方法的执行主体与上述第一实施例的获取方法的执行主体相同,具体参见图4所示,该方法包括如下的步骤S302至步骤S328。
步骤S302:显示与在线3D模型的多个分类一一对应的多个第一级实体控件;
步骤S304:响应于用户对一个分类对应的第一级实体控件所执行的第一预定操作,发送第一模型信息请求至服务器,根据分类的标识信息查询本地数据库。
其中,第一模型信息请求中携带有分类的标识信息。
步骤S306:接收服务器下发的分类下的多个3D模型的模型描述参数,通过查询本地数据库得到该分类下的3D模型的模型描述参数。
其中,在请求服务器时,将服务器中该分类下的3D模型与本地数据库中的3D模型进行比对,仅从服务器中获取本地数据库中不存在的3D模型的模型描述参数,因而,服务器下发的该分类下的3D模型与本地数据库中该分类下的3D模型不同。
步骤S308:根据服务器下发的3D模型的模型描述参数和本地数据库中查询到的3D模型的模型描述参数,得到与各个3D模型一一对应的多个第二级实体控件。
其中,针对服务器下发的每个3D模型,通过其缩略图地址加载3D模型的缩略图,并将其标识信息、缩略图和版本信息转化为与其对应的第二级实体控件,在该处将其称作第二级第一实体控件;针对本地数据中查询到的每个3D模型,也通过其缩略图地址加载3D模型的缩略图,并将其标识信息、缩略图、版本信息和MAX文件的存储路径转化为与其对应的第二级实体控件,在该处将其称作第二级第二实体控件。
步骤S310:显示与多个3D模型一一对应的多个第二级实体控件。
步骤S312:响应于用户对第二级第一实体控件所执行的第二预定操作,发送模型地址请求至服务器。
其中,模型地址请求中携带有3D模型的标识信息。当用户执行第二预定操作的是还未下载到本地的3D模型所对应的第二级实体控件时,需要从服务器进行下载。
步骤S314:接收服务器下发的3D模型的文件压缩包的下载地址。
步骤S316:根据下载地址下载文件压缩包。
步骤S318:调用解压缩工具对文件压缩包进行解压以得到3D模型的文件包。
在下载文件压缩包之后,自动调用解压缩工具对文件压缩包进行解压,例如调用ICSharpCode.SharpZipLib实现对zip文件压缩包的解压缩。例如,将解压缩工具的安装包一并放入APP或插件的安装包内提供给客户端,并且在安装APP或插件时,自动安装该解压缩工具;或者,在需要调用解压缩工具时,自动搜索操作系统中已经安装的解压缩工具并进行调用。
步骤S320:存储3D模型的文件包至本地磁盘。
在解压完成后,将解压得到的文件包按照预定路径存储至本地磁盘,也即本地预设资源库目录下。其中,3D模型的文件包中包括3D模型的MAX文件,还可包括3D模型贴图、灯光等文件。该MAX文件可以为后缀是.max的模型文件,也可以为MaxScript脚本文件。
步骤S321:获取所述3D模型的MAX文件的存储路径。
步骤S322:解析3D模型的文件包以得到3D模型的模型描述参数。
通过该步骤能够获得下载3D模型的准确的模型描述参数。
步骤S324:对应存储模型描述参数和MAX文件的存储路径至本地数据库。
将3D模型的模型描述参数和MAX文件的存储路径对应存储在本地数据库内,方便3dsMAX应用程序或3dsMAX应用程序的插件程序从本地数据库中获取到MAX文件的存储路径,进而获取到MAX文件,实现3D模型导入3dsMAX应用程序。
本地数据库可采用SQLite数据库,用户可添加自定义分类,将不同模型资源储存在相应分类下,从而在本地数据库中不仅实现对下载至本地的在线3D模型的管理,还可实现对通过其他方式(例如远程存储设备下载、本地存储设备导入以及3dsMAX应用程序生成等方式)获得的3D模型的管理。
步骤S326:发送MAX文件的存储路径至3dsMAX应用程序。
无论是实时下载到的在线3D模型,还是通过本地数据库中获取到的本地3D模型,在得到MAX文件的存储路径后,发送至3dsMAX应用程序,从而3dsMAX应用程序可由存储路径直接调用3D模型。
步骤S328:响应于用户对第二级第二实体控件所执行的第二预定操作,解析第二级第二实体控件以得到MAX文件的存储路径。
当用户执行第二预定操作的是已经下载到本地的3D模型所对应的第二级实体控件时,可直接解析第二级实体控件而得到MAX文件的存储路径,再由上述步骤S326发送至3dsMAX应用程序。
第四实施例
该实施例为在上述第三实施例的基础上提供的一种在线3D模型的获取方法的优选实施例,该优选实施例中获取方法的执行主体与上述第一实施例的获取方法的执行主体相同,具体参见图5所示,该方法包括如下的步骤S902至步骤S906。
步骤S902:显示搜索内容框。
优选地,在APP或插件打开后,实时显示搜索内容框,用户可通过搜索内容框输入要搜索的信息,可采用文字、语音等多种方式进行输入。
步骤S904:响应于用户在搜索内容框中输入搜索信息的操作,发送第二模型信息请求至服务器,根据搜索信息查询本地数据库以得到本地数据库中与搜索信息相匹配的3D模型的模型描述参数。
其中,第二模型信息请求中携带有搜索信息。
步骤S906:接收服务器下发的与搜索信息相匹配的多个3D模型的模型描述参数。
其中,在请求服务器时,将服务器中与搜索信息相匹配的3D模型与本地数据库中与搜索信息相匹配的3D模型进行比对,仅从服务器中获取本地数据库中不存在的3D模型的模型描述参数,因而,服务器下发的与搜索信息相匹配的3D模型与本地数据库中与搜索信息相匹配的3D模型不同。
在执行步骤S906之后,执行上述步骤S310至步骤S326,具体过程此处不再赘述。
第五实施例
该实施例提供了一种在线3D模型的提供方法,该方法的执行主体为服务器一端,能够与安装于客户端操作系统的第三方应用程序(APP),或者与应用于3dsMAX的插件程序进行交互,以实现将在线3D模型提供至客户端。参见图6所示,该方法具体包括如下的步骤S402至步骤S408。
步骤S402:接收客户端发送的第一模型信息请求。
客户端发送第一模型信息请求携带有一个分类的标识信息。该服务器的数据库中整合有在线3D模型的资源,并且将在线3D模型分为多个类别,每个分类下的多个3D模型的模型描述参数作为一组数据,与该分类的标识信息相对应。当接收到客户端发送的第一模型信息请求时,解析该第一模型信息请求得到一个分类的标识信息,然后根据该分类的标识信息可获取到该分类下的多个3D模型的模型描述参数。
其中,结合上述在线3D模型的获取方法的实施例,第一模型信息请求为客户端响应用户对一个分类对应的第一级实体控件所执行的第一预定操作而发出的请求,在线3D模型的每个分类均对应显示一个第一级实际控件,关于客户端的具体情况参见上述各个获取方法的实施例,该处不再赘述。
步骤S404:下发分类下的多个3D模型的模型描述参数。
将各个3D模型的模型描述参数封装为一个JSON数据,下发至客户端,其中,模型描述参数包括标识信息、缩略图地址和版本信息。
步骤S406:接收客户端发送的模型地址请求。
客户端发送模型地址请求携带有一个3D模型的标识信息。在服务器一端,每个3D模型的文件压缩包的下载地址与该3D模型的标识信息相对应。当接收到客户端发送的模型地址请求时,解析该模模型地址请求能够得到一个3D模型的标识信息,然后根据该3D模型标识信息可获取到该3D模型的模型描述参数。
其中,结合上述在线3D模型的获取方法的实施例,模型地址请求为客户端响应用户对一个3D模型对应的第二级第一实体控件所执行的第二预定操作而发出的请求,一个分类的每个在线3D模型均对应显示一个第二级第一实体控件。
步骤S408:下发3D模型的文件压缩包的下载地址至客户端,以使客户端根据下载地址下载文件压缩包。
服务器将该3D模型的文件压缩包的下载地址下发给客户端,客户端通过请求该下载地址可获得文件压缩包,实现在线3D模型的提供。
第六实施例
该实施例为在上述第五实施例基础上提供的一种在线3D模型的提供方法的优选实施例,该优选实施例中提供方法的执行主体为服务器,与安装于客户端的3dsMAX的插件相交互,实现向客户端提供在线3D模型的过程。具体参见图7所示,该方法包括如下的步骤S502至步骤S518。
服务器接收到登陆请求后,首先对登陆请求中携带的登陆信息进行验证,验证通过后获取与登陆信息相对应的用户数据下发至客户端。
步骤S504:下发用户数据至客户端。
服务器下发用户数据至客户端,客户端接收到用户数据后,转化为实体控件显示给用户。
步骤S506:接收客户端发送的模型分类请求。
插件安装完成后首次启动且当前客户端处于联网状态,或者插件当前满足分类更新条件时,客户端向服务器发送模型分类请求。服务器接收到模型分类请求后,获取在线3D模型的多个分类的类别信息,并将其下发至客户端。
步骤S508:下发在线3D模型的多个分类的类别信息至客户端。
客户端接收到类别信息后,将类别信息转换为与各个分类一一对应的多个第一级实体控件并显示,当用户点击某分类对应的第一级实体控件时,客户端向服务器发送第一模型信息请求,该第一模型信息请求中携带有该分类的标识信息。
步骤S510:接收客户端发送的第一模型信息请求,获取一组模型描述参数。
服务器接收到第一模型信息请求后,对第一模型信息请求进行解析,以得到第一模型信息请求携带的分类的标识信息,再根据解析到的分类的标识信息获取一组模型描述参数。
步骤S512:下发获取到的一组模型描述参数至客户端。
一组模型描述参数中包括多个3D模型的模型描述参数,每个3D模型的模型描述参数包括3D模型的名称、缩略图地址和版本信息。
客户端对接收到的模型描述参数进行解析,针对每个3D模型,根据解析到的缩略图地址加载缩略图,创建并显示与该3D模型对应的第二级实体控件。
当用户点击某3D模型对应的第二级实体控件时,客户端向服务器发送模型地址请求,该模型地址请求中携带有用户信息和该3D模型的标识信息。
步骤S514:接收客户端发送的模型地址请求。
服务器接收到模型地址请求后,对模型地址请求进行解析,以得到模型地址请求携带的用户信息和3D模型的标识信息。
步骤S516:校验模型地址请求携带的用户信息是否满足下载权限。
在服务器设置3D模型的用户下载权限,对接收到的模型地址请求中携带的用户信息进行下载权限的校验,以确定是否向客户端下发下载地址。
步骤S518:若用户信息满足下载权限,向客户端下发3D模型的下载地址,若用户信息不满足下载权限,向客户端回应不满足下载权限,无法下载。
以上为本申请提供的在线3D模型的获取方法、在线3D模型的提供方法的实施例,本申请还提供了在线3D模型的获取装置、在线3D模型的提供装置,该在线3D模型的获取装置用于执行上述任意一种在线3D模型的获取方法,该在线3D模型的提供装置用于执行上述任意一种在线3D模型的提供方法。
第七实施例
该实施例提供了一种在线3D模型的获取装置,该装置位于客户端,可以为安装于客户端操作系统的第三方应用程序(APP),或者为应用于3dsMAX的插件程序,通过在客户端与远程服务器的交互,实现在线3D模型的获取。参见图8所示,该装置具体包括第一级实体控件显示模块61、第一预定操作响应模块62、模型描述参数接收模块63、第二级实体控件显示模块64、第二级实体控件转化模块68、第二预定操作响应模块65、下载地址接收模块66和下载模块67。
其中,第一级实体控件显示模块61用于显示与在线3D模型的多个分类一一对应的多个第一级实体控件。第一预定操作响应模块62用于响应于用户对一个分类对应的第一级实体控件所执行的第一预定操作,发送第一模型信息请求至服务器,其中,第一模型信息请求中携带有分类的标识信息。模型描述参数接收模块63用于接收服务器下发的分类下的多个3D模型的模型描述参数,其中,模型描述参数包括标识信息、缩略图地址和版本信息。第二级实体控件转化模块68用于针对服务器下发的每个3D模型,通过其缩略图地址加载3D模型的缩略图,并将其标识信息、缩略图和版本信息转化为与其对应的第二级实体控件。第二级实体控件显示模块64用于显示与服务器下发的3D模型对应的第二级实体控件。第二预定操作响应模块65用于响应于用户对第二级第一实体控件所执行的第二预定操作,发送模型地址请求至服务器,其中,第二级第一实体控件为服务器下发的3D模型对应的第二级实体控件,模型地址请求中携带有3D模型的标识信息。下载地址接收模块66用于接收服务器下发的3D模型的文件压缩包的下载地址。下载模块67用于根据下载地址下载文件压缩包。
优选地,该装置还包括控制模块,用于从下载文件压缩包开始至结束,控制第二级实体控件由第一颜色逐渐过渡到第二颜色。
优选地,该装置还包括解压缩模块、存储模块、获取模块和发送模块,其中,解压缩模块用于在根据下载地址下载文件压缩包之后,调用解压缩工具对文件压缩包进行解压以得到3D模型的文件包;存储模块用于存储3D模型的文件包至本地磁盘;获取模块用于获取3D模型的MAX文件的存储路径;发送模块用于发送获取到的MAX文件的存储路径至3dsMAX应用程序。
优选地,该装置还包括解析模块,该解析模块用于解析3D模型的文件包以得到3D模型的模型描述参数,上述存储模块还用于存储解析3D模型的文件包得到的模型描述参数和MAX文件的存储路径至本地数据库中该3D模型所属的分类下,其中,3D模型的文件包中包括3D模型的MAX文件。第一预定操作响应模块62还用于响应于用户对一个分类对应的第一级实体控件所执行的第一预定操作,根据分类的标识信息查询本地数据库以得到本地数据库中分类下的3D模型的模型描述参数;第二级实体控件转化模块68还用于针对本地数据中查询到的每个3D模型,通过其缩略图地址加载3D模型的缩略图,并将其标识信息、缩略图、版本信息和MAX文件的存储路径转化为与其对应的第二级实体控件;第二级实体控件显示模块64还用于显示与本地数据库中查询到的3D模型对应的第二级实体控件;第二预定操作响应模块65还用于响应于用户对第二级第二实体控件所执行的第二预定操作,解析第二级第二实体控件以得到MAX文件的存储路径,其中,第二级第二实体控件为本地数据库中查询到的3D模型对应的第二级实体控件;发送模块还用于发送解析到的MAX文件的存储路径至3dsMAX应用程序。
优选地,第一级实体控件显示模块61在显示与在线3D模型的多个分类一一对应的多个第一级实体控件时,执行的步骤包括:响应于预定的触发条件被满足,发送模型分类请求至服务器;接收服务器下发的在线3D模型的多个分类的类别信息;以及并将3D模型多个分类的类别信息转换为与多个分类一一对应的多个第一级实体控件并显示。
优选地,第一预定操作响应模块62通过POST方法向服务器发送第一模型信息请求,模型描述参数接收模块63接收到的每个3D模型的模型描述参数均被封装为JSON数据。
优选地,该装置还包括搜索响应模块,用于响应于用户在搜索内容框中输入搜索信息的操作,发送第二模型信息请求至服务器,根据搜索信息查询本地数据库以得到本地数据库中与搜索信息相匹配的3D模型的模型描述参数,其中,第二模型信息请求中携带有搜索信息,接收服务器下发的与搜索信息相匹配的多个3D模型的模型描述参数,其中,服务器下发的与搜索信息相匹配的3D模型与本地数据库中与搜索信息相匹配的3D模型不同。
第八实施例
该实施例提供了一种在线3D模型的提供装置,该装置位于服务器一端,能够与安装于客户端操作系统的第三方应用程序(APP),或者与应用于3dsMAX的插件程序进行交互,以实现将在线3D模型提供至客户端。参见图9所示,该装置具体包括第一模型信息请求接收模块71、模型描述参数发送模块72、模型地址请求接收模块73和下载地址发送模块74。
第一模型信息请求接收模块71用于接收客户端发送的第一模型信息请求,其中,所述第一模型信息请求中携带有在线3D模型的一个分类的标识信息。模型描述参数发送模块72用于下发分类下的多个3D模型的模型描述参数。模型地址请求接收模块73用于接收客户端发送的模型地址请求,其中,所述模型地址请求中携带有一个3D模型的标识信息。下载地址发送模块74用于下发3D模型的文件压缩包的下载地址至客户端,以使客户端根据下载地址下载文件压缩包。
其中,模型描述参数包括3D模型的标识信息、缩略图地址和版本信息。
优选地,该提供装置还包括模型分类请求接收模块和类别信息发送模块,其中,模型分类请求接收模块用于接收客户端发送的模型分类请求;类别信息发送模块用于下发在线3D模型的多个分类的类别信息至客户端。
优选地,第一模型信息请求接收模块71通过POST方法接收客户端发送的第一模型信息请求,模型描述参数发送模块72发送的每个3D模型的模型描述参数均被封装为JSON数据。
优选地,该装置还包括第二模型信息请求接收模块,用于接收客户端发送的第二模型信息请求,其中,该第二模型信息请求中携带有搜索信息;搜索模块,用于搜索与搜索信息相匹配的多个3D模型的模型描述参数,其中,在进行匹配时,可采用预定的匹配算法。模型描述参数发送模块72还用于发送与所述搜索信息相匹配的多个3D模型的模型描述参数。
第九实施例
该实施例提供了一种在线3D模型的管理系统,用于实现在线3D模型由互联网至本地的过程,如图10所示,该管理系统包括服务器81和客户端82,其中,该管理系统中的服务器81可以为单个服务器,也可以为多个服务器组成的服务器组,该管理系统中包括多个客户端82。
具体地,客户端82用于显示与在线3D模型的多个分类一一对应的多个第一级实体控件,响应于用户对一个分类对应的第一级实体控件所执行的第一预定操作,发送第一模型信息请求至服务器,其中,第一模型信息请求中携带有分类的标识信息,接收服务器下发的分类下的多个3D模型的模型描述参数,其中,所述模型描述参数包括标识信息、缩略图地址和版本信息,针对所述服务器下发的每个3D模型,通过其缩略图地址加载3D模型的缩略图,并将其标识信息、缩略图和版本信息转化为与其对应的第二级实体控件,显示服务器下发的3D模型对应的第二级实体控件,响应于用户对第二级第一实体控件所执行的第二预定操作,发送模型地址请求至服务器,其中,第二级第一实体控件为服务器下发的3D模型对应的第二级实体控件,模型地址请求中携带有3D模型的标识信息,接收服务器下发的3D模型的文件压缩包的下载地址,根据下载地址下载文件压缩包。
服务器81用于接收客户端发送的第一模型信息请求,下发分类下的多个3D模型的模型描述参数,接收客户端发送的模型地址请求,下发3D模型的文件压缩包的下载地址至客户端。
其中,优选地,客户端82为执行上述第一实施例至第四实施例中任一实施例提供的在线3D模型的获取方法的客户端,服务器82相应为与客户端81相交互的服务器。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域的技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为根据本发明,某些步骤可以采用其他顺去或同时执行;其次,本领域技术人员也应该知悉,上述方法实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
对于前述的各装置实施例,为了简单描述,故将其都表述为一系列的模块组合,但是本领域的技术人员应该知悉,本发明并不受所描述的模块组合的限制,因为根据本发明,某些模块可以采用其他模块执行;其次,本领域技术人员也应该知悉,上述装置实施例均属于优选实施例,所涉及的模块并不一定是本发明所必须的。
以上对本发明所提供的一种在线3D模型的获取方法、提供方法、装置及管理系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。