一种网页3D目标的加载方法及装置与流程

文档序号:13446383阅读:189来源:国知局
一种网页3D目标的加载方法及装置与流程

本发明涉及计算机技术领域,特别涉及一种网页3d目标的加载方法及装置。



背景技术:

随着3d技术的快速发展,3d技术的应用也越来越广泛。以3d虚拟展馆为例,3d虚拟展馆就是利用计算机图形学的技术构建的数字化展览馆,是一种三维互动体验方式,以传统展馆为基础,利用三维虚拟技术将展馆及其陈列品移植到互联网上进行展示宣传与科普活动。

在现有技术中,3d目标的加载主要是整体加载的方式,也就是,将整个3d目标的程序整体打包,当用户需要加载3d目标时,需要从服务器将整个3d目标的程序下载到本地,然后,才能从网页上查看到3d目标。

由于3d目标的数据量一般较大,通过现有技术的加载方式进行加载,需要较长的加载时间。



技术实现要素:

本发明实施例提供了一种网页3d目标的加载方法及装置,能够降低加载时间。

一方面,本发明实施例提供了一种网页3d目标的加载方法,包括:

预先将3d目标设置为至少两个子目标;

实时确定需要后台下载的至少一个子目标,从保存所述3d目标的服务器上后台下载所述需要后台下载的至少一个子目标,并保存到浏览器缓存中;

确定需要在展示网页上显示的至少一个待显示子目标;

针对每个所述待显示子目标,判断当前待显示子目标是否保存在所述浏览器缓存中,如果是,则从所述浏览器缓存中将所述当前待显示子目标加载到所述展示网页上,否则,从所述服务器上下载所述当前待显示子目标,将所述当前待显示子目标加载到所述展示网页上。

进一步地,

所述至少两个子目标,包括:至少一个3d展馆的三维场景和所述至少一个3d展馆内部的至少一个内部三维模型;

所述实时确定需要后台下载的至少一个子目标,从保存所述3d目标的服务器上后台下载所述需要后台下载的至少一个子目标,并保存到浏览器缓存中,包括:

a1:判断所述至少一个3d展馆的三维场景中是否存在未保存到所述浏览器缓存中的三维场景,如果是,则执行a2,否则,执行a3;

a2:从所述未保存到所述浏览器缓存中的三维场景中,确定需要后台下载的至少一个三维场景,从所述服务器上后台下载所述需要后台下载的至少一个三维场景,并保存到所述浏览器缓存中,返回a1;

a3:判断所述至少一个3d展馆中的至少一个内部三维模型中是否存在未保存到所述浏览器缓存中的内部三维模型,如果是,则执行a4;

a4:从所述未保存到所述浏览器缓存中的内部三维模型中,确定需要后台下载的至少一个内部三维模型,从所述服务器上后台下载所述需要后台下载的至少一个内部三维模型,并保存到所述浏览器缓存中,返回a3。

进一步地,

所述至少两个子目标,还包括:所述至少一个3d展馆的目录地图,其中,所述目录地图中包括所述至少一个3d展馆的入口,以使用户能够从所述目录地图上选择需要查看的目标3d展馆的入口;

所述实时确定需要后台下载的至少一个子目标,从保存所述3d目标的服务器上后台下载所述需要后台下载的至少一个子目标,并保存到浏览器缓存中,包括:

在a1之前,进一步包括:

判断所述目录地图是否保存在所述浏览器缓存中,如果是,则执行a1,否则,确定需要后台下载所述目录地图,从所述服务器上后台下载所述目录地图,并将下载后的所述目录地图保存到所述浏览器缓存中,执行a1;

所述确定需要在展示网页上显示的至少一个待显示子目标,包括:

当所述用户在所述目录地图上选择需要查看的所述目标3d展馆的入口时,确定需要在所述展示网页上显示所述目标3d展馆的三维场景以及所述目标3d展馆中的至少一个内部三维模型。

进一步地,

所述至少一个内部三维模型,包括:低品质的展品三维模型;

所述3d目标中包括:每个所述低品质的展品三维模型对应的高品质的展品三维模型;

其中,所述低品质的展品三维模型的数据量小于对应的所述高品质的展品三维模型;

进一步包括:

当需要在所述展示网页上显示至少一个待显示高品质的展品三维模型时,

针对每个所述待显示高品质的展品三维模型,判断当前待显示高品质的展品三维模型是否保存在所述浏览器缓存中,如果是,从所述浏览器缓存中将所述当前待显示高品质的展品三维模型加载到所述展示网页上,否则,从所述服务器上下载所述当前待显示高品质的展品三维模型,将所述当前待显示高品质的展品三维模型保存到所述浏览器缓存中,并将所述当前待显示高品质的展品三维模型加载到所述展示网页上。

进一步地,

当所述当前待显示子目标没有保存在所述浏览器缓存中时,

在所述从所述服务器上下载所述当前待显示子目标之后,进一步包括:

将所述当前待显示子目标保存到所述浏览器缓存中。

进一步地,

在判断出所述当前待显示子目标没有保存在所述浏览器缓存中时,

在所述从所述服务器上下载所述当前待显示子目标之前,进一步包括:

根据预设比例和运行的线程的总数,确定目标数量;

所述从所述服务器上下载所述当前待显示子目标,包括:

利用所述目标数量个线程从所述服务器上下载所述当前待显示子目标。

进一步地,

所述3d目标中包括:至少一个平面信息;

进一步包括:

当需要在所述展示网页上显示至少一个待显示平面信息时,

针对每个所述待显示平面信息,判断当前待显示平面信息是否保存在所述浏览器缓存中,如果是,从所述浏览器缓存中将所述当前待显示平面信息加载到所述展示网页上,否则,从所述服务器上下载所述当前待显示平面信息,将所述当前待显示平面信息保存到所述浏览器缓存中,并将所述当前待显示平面信息加载到所述展示网页上。

另一方面,本发明实施例提供了一种网页3d目标的加载装置,包括:

目标设置单元,用于将3d目标设置为至少两个子目标;

子目标缓存单元,用于实时确定需要后台下载的至少一个子目标,从保存所述3d目标的服务器上后台下载所述需要后台下载的至少一个子目标,并保存到浏览器缓存中;

确定单元,用于确定需要在展示网页上显示的至少一个待显示子目标;

展示单元,用于针对每个所述待显示子目标,判断当前待显示子目标是否保存在所述浏览器缓存中,如果是,则从所述浏览器缓存中将所述当前待显示子目标加载到所述展示网页上,否则,从所述服务器上下载所述当前待显示子目标,将所述当前待显示子目标加载到所述展示网页上。

进一步地,

所述至少两个子目标,包括:至少一个3d展馆的三维场景和所述至少一个3d展馆内部的至少一个内部三维模型;

所述子目标缓存单元,用于执行:

a1:判断所述至少一个3d展馆的三维场景中是否存在未保存到所述浏览器缓存中的三维场景,如果是,则执行a2,否则,执行a3;

a2:从所述未保存到所述浏览器缓存中的三维场景中,确定需要后台下载的至少一个三维场景,从所述服务器上后台下载所述需要后台下载的至少一个三维场景,并保存到所述浏览器缓存中,返回a1;

a3:判断所述至少一个3d展馆中的至少一个内部三维模型中是否存在未保存到所述浏览器缓存中的内部三维模型,如果是,则执行a4;

a4:从所述未保存到所述浏览器缓存中的内部三维模型中,确定需要后台下载的至少一个内部三维模型,从所述服务器上后台下载所述需要后台下载的至少一个内部三维模型,并保存到所述浏览器缓存中,返回a3。

进一步地,

所述至少两个子目标,还包括:所述至少一个3d展馆的目录地图,其中,所述目录地图中包括所述至少一个3d展馆的入口,以使用户能够从所述目录地图上选择需要查看的目标3d展馆的入口;

所述子目标缓存单元,用于执行:

在a1之前,判断所述目录地图是否保存在所述浏览器缓存中,如果是,则执行a1,否则,确定需要后台下载所述目录地图,从所述服务器上后台下载所述目录地图,并将下载后的所述目录地图保存到所述浏览器缓存中,执行a1;

所述确定单元,用于当所述用户在所述目录地图上选择需要查看的所述目标3d展馆的入口时,确定需要在所述展示网页上显示所述目标3d展馆的三维场景以及所述目标3d展馆中的至少一个内部三维模型。

进一步地,

所述至少一个内部三维模型,包括:低品质的展品三维模型;

所述3d目标中包括:每个所述低品质的展品三维模型对应的高品质的展品三维模型;

其中,所述低品质的展品三维模型的数据量小于对应的所述高品质的展品三维模型;

进一步包括:

展品加载单元,用于当需要在所述展示网页上显示至少一个待显示高品质的展品三维模型时,针对每个所述待显示高品质的展品三维模型,判断当前待显示高品质的展品三维模型是否保存在所述浏览器缓存中,如果是,从所述浏览器缓存中将所述当前待显示高品质的展品三维模型加载到所述展示网页上,否则,从所述服务器上下载所述当前待显示高品质的展品三维模型,将所述当前待显示高品质的展品三维模型保存到所述浏览器缓存中,并将所述当前待显示高品质的展品三维模型加载到所述展示网页上。

进一步地,

所述展示单元,用于当所述当前待显示子目标没有保存在所述浏览器缓存中时,在所述从所述服务器上下载所述当前待显示子目标之后,将所述当前待显示子目标保存到所述浏览器缓存中。

进一步地,

所述展示单元,用于在判断出所述当前待显示子目标没有保存在所述浏览器缓存中时,根据预设比例和运行的线程的总数,确定目标数量,利用所述目标数量个线程从所述服务器上下载所述当前待显示子目标。

进一步地,

所述3d目标中包括:至少一个平面信息;

进一步包括:

平面信息展示单元,用于当需要在所述展示网页上显示至少一个待显示平面信息时,针对每个所述待显示平面信息,判断当前待显示平面信息是否保存在所述浏览器缓存中,如果是,从所述浏览器缓存中将所述当前待显示平面信息加载到所述展示网页上,否则,从所述服务器上下载所述当前待显示平面信息,将所述当前待显示平面信息保存到所述浏览器缓存中,并将所述当前待显示平面信息加载到所述展示网页上。

在本发明实施例中,将3d目标设置为至少两个子目标,在前台为用户提供相应的服务时,在后台可以下载需要后台下载的子目标,当用户需要显示已经保存在浏览器缓存中的子目标时,可以直接从浏览器缓存中加载该子目标,由于下载的过程已经在后台完成,降低了加载时间,当需要在展示网页上显示的子目标没有保存到浏览器缓存中时,只需从服务器上下载需要显示的子目标即可,无需下载整个3d目标,大大减少了数据下载量,减少了下载时间,进而降低了加载时间。

附图说明

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

图1是本发明一实施例提供的一种网页3d目标的加载方法的流程图;

图2是本发明一实施例提供的另一种网页3d目标的加载方法的流程图;

图3是本发明一实施例提供的一种网页3d目标的加载装置的示意图;

图4是本发明一实施例提供的另一种网页3d目标的加载装置的示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提供了一种网页3d目标的加载方法,该方法可以包括以下步骤:

步骤101:预先将3d目标设置为至少两个子目标;

步骤102:实时确定需要后台下载的至少一个子目标,从保存所述3d目标的服务器上后台下载所述需要后台下载的至少一个子目标,并保存到浏览器缓存中;

步骤103:确定需要在展示网页上显示的至少一个待显示子目标;

步骤104:针对每个所述待显示子目标,判断当前待显示子目标是否保存在所述浏览器缓存中,如果是,则从所述浏览器缓存中将所述当前待显示子目标加载到所述展示网页上,否则,从所述服务器上下载所述当前待显示子目标,将所述当前待显示子目标加载到所述展示网页上。

在本发明实施例中,将3d目标设置为至少两个子目标,在前台为用户提供相应的服务时,在后台可以下载需要后台下载的子目标,当用户需要显示已经保存在浏览器缓存中的子目标时,可以直接从浏览器缓存中加载该子目标,由于下载的过程已经在后台完成,降低了加载时间,当需要在展示网页上显示的子目标没有保存到浏览器缓存中时,只需从服务器上下载需要显示的子目标即可,无需下载整个3d目标,大大减少了数据下载量,减少了下载时间,进而降低了加载时间。

在本发明一实施例中,实时确定需要后台下载的至少一个子目标,可以通过以下方式来实现:实时预测下一个需要在展示网页上显示的子目标,确定需要后台下载预测出的该子目标。具体地,可以根据当前用户的操作习惯以及展示网页当前显示的子目标,预测下一个需要在展示网页上显示的子目标。也可以根据各个用户的操作习惯以及展示网页当前显示的子目标,预测下一个需要在展示网页上显示的子目标。

在本发明一实施例中,所述至少两个子目标,包括:至少一个3d展馆的三维场景和所述至少一个3d展馆内部的至少一个内部三维模型;

所述实时确定需要后台下载的至少一个子目标,从保存所述3d目标的服务器上后台下载所述需要后台下载的至少一个子目标,并保存到浏览器缓存中,包括:

a1:判断所述至少一个3d展馆的三维场景中是否存在未保存到所述浏览器缓存中的三维场景,如果是,则执行a2,否则,执行a3;

a2:从所述未保存到所述浏览器缓存中的三维场景中,确定需要后台下载的至少一个三维场景,从所述服务器上后台下载所述需要后台下载的至少一个三维场景,并保存到所述浏览器缓存中,返回a1;

a3:判断所述至少一个3d展馆中的至少一个内部三维模型中是否存在未保存到所述浏览器缓存中的内部三维模型,如果是,则执行a4;

a4:从所述未保存到所述浏览器缓存中的内部三维模型中,确定需要后台下载的至少一个内部三维模型,从所述服务器上后台下载所述需要后台下载的至少一个内部三维模型,并保存到所述浏览器缓存中,返回a3。

在本发明实施例中,3d目标可以是3d展厅,该3d展厅中可以包括至少一个3d展馆,而每个3d展馆包括三维场景和内部三维模型。这里的三维场景主要是指展馆的整体结构,例如:展馆的内部装饰、展馆的门、窗等的布局。这里的内部三维模型主要包括:展位三维模型、展板三维模型和展品三维模型等。

对于一个3d展馆来说,3d展馆内部的内部三维模型可能随着进行展示的商家不同,以及进行展示的展品不同等原因而发生改变,但是,3d展馆的三维场景无需改变。举例来说,在3d展馆a中,周一需要展出商家a的展品a,这时,商家a会根据需要在3d展馆a中设置展位三维模型a、展板三维模型a和展品a的展品三维模型等内部三维模型,而周二需要展出商家b的展品b,这时,商家b会根据需要在3d展馆b中设置展位三维模型b、展板三维模型b和展品b的展品三维模型等内部三维模型,可见,3d展馆a的整体结构无需改变,只需改变展位三维模型、展板三维模型和展品三维模型等内部三维模型即可。在本发明实施例中,将3d展馆的三维场景作为一个子目标,在需要修改3d展馆内部的内容时,无需对3d展馆的三维场景进行修改,能够大大减少工作量。

在本发明实施例中,首先在后台下载3d展馆的三维场景,然后,下载内部三维模型。这样,当用户需要进入某个3d展馆时,如果该3d展馆的内部三维模型还没有下载完成,可以先为用户显示该3d展馆的三维场景,避免让用户等待过长的时间。

在确定需要后台下载的三维场景时,可以根据预先设置的下载顺序进行下载。举例来说,有三个3d展馆,分别是3d展馆a、3d展馆b和3d展馆c,预先设置的下载顺序为:3d展馆a→3d展馆b→3d展馆c,则按照该下载顺序从未保存到浏览器缓存中的三维场景中确定需要后台下载的三维场景。例如:如果3d展馆a、3d展馆b和3d展馆c的三维场景均未保存到浏览器缓存中,首先,确定需要后台下载的三维场景为3d展馆a的三维场景,然后是3d展馆b的三维场景,最后是3d展馆c的三维场景。如果由于用户已经查看过3d展馆b,3d展馆b的三维场景已经保存到浏览器缓存中,这时,3d展馆a和3d展馆c的三维场景未保存到浏览器缓存中,按照下载顺序,首先,后台下载3d展馆a的三维场景,然后,后台下载3d展馆c的三维场景。

另外,在所有的三维场景均保持到浏览器缓存中之后,再进行内部三维模型的后台下载。在从未保存到浏览器缓存中的内部三维模型中,确定需要后台下载的至少一个内部三维模型时,也可以按照预先设置的下载顺序进行下载,该下载顺序可以与三维模型的下载顺序相同。还是以3d展馆a、3d展馆b和3d展馆c为例,预先设置的下载顺序为:3d展馆a→3d展馆b→3d展馆c,则按照该下载顺序从未保存到浏览器缓存中的内部三维模型中确定需要后台下载的内部三维模型。例如:如果3d展馆a、3d展馆b和3d展馆c的内部三维模型均未保存到浏览器缓存中,首先,确定需要后台下载的内部三维模型为3d展馆a的内部三维模型,然后是3d展馆b的内部三维模型,最后是3d展馆c的内部三维模型。如果由于用户已经查看过3d展馆b,3d展馆b的内部三维模型已经保存到浏览器缓存中,这时,3d展馆a和3d展馆c的内部三维模型未保存到浏览器缓存中,按照下载顺序,首先,后台下载3d展馆a的内部三维模型,然后,后台下载3d展馆c的内部三维模型。由于某个3d展馆中还没有商家入驻,该3d展馆的内部三维模型可能不存在,这时,无需下载该3d展馆的内部三维模型,用户进入该3d展馆后,可以看到该3d展馆的三维场景。由于3d展馆的内部三维模型可能不止一个,这时,将该3d展馆的内部三维模型全部后台下载完成后,再进行下一个3d展馆的后台下载。其中,在设置下载顺序时,可以根据被访问的历史次数等因素,来对各个3d展馆首先被访问的可能性进行排序,按照该顺序确定下载顺序。例如:由于展厅宣传以及流量吸引等原因,用户先访问vip展馆的可能性较大,在设置下载顺序时,可以将vip展馆设置为第一个。

另外,3d目标中的所有内部三维模型均保存到浏览器缓存中,则确定出没有需要后台下载的子目标,这时,可以结束后台下载,只需按照用户的需求在展示网页上显示即可。

在本发明一实施例中,该方法进一步包括:

所述至少两个子目标,还包括:所述至少一个3d展馆的目录地图,其中,所述目录地图中包括所述至少一个3d展馆的入口,以使用户能够从所述目录地图上选择需要查看的目标3d展馆的入口;

所述实时确定需要后台下载的至少一个子目标,从保存所述3d目标的服务器上后台下载所述需要后台下载的至少一个子目标,并保存到浏览器缓存中,包括:

在a1之前,进一步包括:

判断所述目录地图是否保存在所述浏览器缓存中,如果是,则执行a1,否则,确定需要后台下载所述目录地图,从所述服务器上后台下载所述目录地图,并将下载后的所述目录地图保存到所述浏览器缓存中,执行a1;

所述确定需要在展示网页上显示的至少一个待显示子目标,包括:

当所述用户在所述目录地图上选择需要查看的所述目标3d展馆的入口时,确定需要在所述展示网页上显示所述目标3d展馆的三维场景以及所述目标3d展馆中的至少一个内部三维模型。

在本发明实施例中,为了方便用户访问各个3d展馆,为各个3d展馆设置了目录地图,该目录地图可以是2.5d的地图,该目录地图使用3d预渲染技术,与各个3d展馆相连。具体地,该目录地图设置有各个3d展馆的图标,图标为3d展馆的入口,用户点击某个3d展馆的图标即可进入该3d展馆。

在本发明实施例中,在后台下载三维场景之前,先下载目录地图,以通过目录地图为用户提供各个3d展馆的入口。另外,3d目标中可以包括过场动画。用户打开展示网页后,进入画面载入节点,首先播放过场动画,在播放过场动画的过程中,可以在进行后台下载目录地图,具体地,通过主线程播放过程动画,通过分线程后台下载目录地图。这样,可以在过程动画播放完成后,直接进入到目录地图,大大减少了用户等待时间,提高了用户体验。

在用户查看目录地图的过程中,可以进行三维场景以及内部三维模型的后台下载,当用户通过目录地图进入到某个3d场馆时,该3d场馆的三维场景和内部三维模型可能已经被保存到浏览器缓存中,用户可以直接查看该3d场馆的三维场景和内部三维模型,无需等待,大大提高了加载速度,并提高了用户体验。

当用户在目录地图上选择了目标3d展馆的入口时,需要为用户在展示网页上显示目标3d展馆的三维场景以及内部三维模型。也就是,将目标3d展馆的三维场景以及内部三维模型作为至少一个待显示子目标。

在本发明一实施例中,所述至少一个内部三维模型,包括:低品质的展品三维模型;

所述3d目标中包括:每个所述低品质的展品三维模型对应的高品质的展品三维模型;

其中,所述低品质的展品三维模型的数据量小于对应的所述高品质的展品三维模型;

进一步包括:

当需要在所述展示网页上显示至少一个待显示高品质的展品三维模型时,

针对每个所述待显示高品质的展品三维模型,判断当前待显示高品质的展品三维模型是否保存在所述浏览器缓存中,如果是,从所述浏览器缓存中将所述当前待显示高品质的展品三维模型加载到所述展示网页上,否则,从所述服务器上下载所述当前待显示高品质的展品三维模型,将所述当前待显示高品质的展品三维模型保存到所述浏览器缓存中,并将所述当前待显示高品质的展品三维模型加载到所述展示网页上。

在本发明实施例中,在3d展馆中展示的展品三维模型为低品质的展品三维模型,由于低品质的展品三维模型的数据量较小,能够大大提高3d展馆的加载速度。

另外,在3d目标中针对每个低品质的展品三维模型还设置有对应的高品质的展品三维模型。为了避免一次性加载的内容过多,这些高品质的展品三维模型不进行后台下载,只有用户需要查看时,才下载到浏览器缓存中。这里的高品质和低品质是相对来说的,以数据量的大小来区分,对应同一个展品来说,数据量大的展品三维模型为高品质的展品三维模型,数据量小的展品三维模型为低品质的展品三维模型。对于同一个展品来书,设置低品质的展品三维模型作为内部三维模型,并对该展品设置高品质的展品三维模型。举例来说,用户可以点击3d展馆中的低品质的展品三维模型来查看对应的高品质的展品三维模型。各个高品质的展品三维模型预制在数据库中,不会提前下载,在用户需要查看时,从该数据库中下载,该数据库可以在保存3d目标的服务器上。

在本发明实施例中,如果某个高品质的展品三维模型已经在当前的浏览器中被查看过,则该高品质的展品三维模型已保存到浏览器缓存中,无需从服务器上下载;如果没有在当前的浏览器中被查看过,则从服务器下载该高品质的展品三维模型,并保存到浏览器缓存中,方便以后在当前的浏览器中查看。

在本发明一实施例中,当所述当前待显示子目标没有保存在所述浏览器缓存中时,

在所述从所述服务器上下载所述当前待显示子目标之后,进一步包括:

将所述当前待显示子目标保存到所述浏览器缓存中。

在本发明实施例中,已经被下载过的子目标会被保存到浏览器缓存中,在之后进行显示时,无需从服务器上进行下载,提高了加载的速度。

在本发明一实施例中,在判断出所述当前待显示子目标没有保存在所述浏览器缓存中时,

在所述从所述服务器上下载所述当前待显示子目标之前,进一步包括:

根据预设比例和运行的线程的总数,确定目标数量;

所述从所述服务器上下载所述当前待显示子目标,包括:

利用所述目标数量个线程从所述服务器上下载所述当前待显示子目标。

在本发明实施例中,如果当前待显示子目标没有保存在浏览器缓存中,则利用目标数量个线程从服务器上下载当前待显示子目标,通过这目标数量个线程来保证下载速度,以使尽快在展示网页上显示当前待显示子目标。其中,预设比例可以大于等于50%,具体地,预设比例可以是100%,也就是说,通过全部的线程来全力加载当前待显示子目标,以提高加载速度,当预设比例为100%时,在下载当前待显示子目标过程中,暂停了后台下载过程。

在本发明一实施例中,所述3d目标中包括:至少一个平面信息;

进一步包括:

当需要在所述展示网页上显示至少一个待显示平面信息时,

针对每个所述待显示平面信息,判断当前待显示平面信息是否保存在所述浏览器缓存中,如果是,从所述浏览器缓存中将所述当前待显示平面信息加载到所述展示网页上,否则,从所述服务器上下载所述当前待显示平面信息,将所述当前待显示平面信息保存到所述浏览器缓存中,并将所述当前待显示平面信息加载到所述展示网页上。

在本发明实施例中,3d目标中包括平面信息,通过这些平面信息可以为用户提供对3d目标的更加详细的说明。平面信息可以是文字、图片、音视频等,例如:企业的图文信息、企业的展示视频、展品的图文信息、展品的展示视频等。

这些平面信息提前预制在保存3d目标的服务器中,不会提前后台下载,在用户需要显示时,从服务器上下载对应的平面信息,避免了一次性加载内容过多的问题。加载过后的平面信息保存在浏览器缓存中,之后再次加载时,可以直接从浏览器缓存中调用,无需从服务器中再次下载,提高了加载速度。另外,这些平面信息可以提前预制在服务器的数据库中。

在本发明一实施例中,当用户在目录地图上选择需要查看的目标3d展馆的入口时,加载过程如下:

s1:确定需要在展示网页上显示目标3d展馆的三维场景以及目标3d展馆中的至少一个内部三维模型;

s2:判断目标3d展馆的三维场景是否保存在浏览器缓存中,如果是,则执行s3、s4,否则,执行s7;

s3:从浏览器缓存中将目标3d展馆的三维场景加载到展示网页上,执行s4;

s4:判断目标3d展馆中的至少一个内部三维模型是否保存在浏览器缓存中,如果是,执行s5,否则,执行s6;

s5:从浏览器缓存中将目标3d展馆中的至少一个内部三维模型加载到展示网页上;

s6:从服务器上下载目标3d展馆中的至少一个内部三维模型,将目标3d展馆中的至少一个内部三维模型加载到展示网页上,并将目标3d展馆中的至少一个内部三维模型保存到浏览器缓存中;

s7:从服务器上下载目标3d展馆的三维场景以及目标3d展馆中的至少一个内部三维模型,将目标3d展馆的三维场景以及目标3d展馆中的至少一个内部三维模型加载到展示网页上,并将目标3d展馆的三维场景以及目标3d展馆中的至少一个内部三维模型保存到浏览器缓存中。

在本发明一实施例中,确定需要在展示网页上显示的至少一个待显示子目标可以通过以下方式实现:

方式一:根据用户输入的3d展馆的标识,确定对应的目标3d展馆,确定需要在展示网上显示目标3d展馆的三维场景以及目标3d展馆中的至少一个内部三维模型。具体地,用户可以从当前所在的3d展馆,跳转到目标3d展馆。在展示页面上具有跳转入口,该跳转入口可以为3d展馆的名称等标识。

方式二:根据用户在目录地图上选择的目标3d展馆的入口,确定对应的目标3d展馆,确定需要在展示网上显示目标3d展馆的三维场景以及目标3d展馆中的至少一个内部三维模型。

方式三:根据用户输入的需要查看的企业的标识,根据该企业的标识,确定该企业所在的目标3d展馆,确定需要在展示网上显示目标3d展馆的三维场景以及目标3d展馆中的至少一个内部三维模型。

在本发明一实施例中,步骤102可以在用户打开展示网页就开始执行,直到不存在需要后台下载的子目标时,结束执行。

如图2所示,本发明实施例提供了一种网页3d目标的加载方法,该方法可以包括以下步骤:

步骤201:预先将3d目标设置为至少两个子目标,其中,至少两个子目标,包括:至少一个3d展馆的目录地图,至少一个3d展馆的三维场景和至少一个3d展馆内部的至少一个内部三维模型,目录地图中包括至少一个3d展馆的入口。

具体地,内部三维模型包括:展位三维模型、展板三维模型、展品三维模型。

举例来说,3d目标可以是3d展厅,3d展厅中包括3d展馆a、3d展馆b和3d展馆c。每个3d展馆中包括3d展馆的三维场景和内部三维模型。目录地图中包括:3d展馆a的入口、3d展馆b的入口和3d展馆c的入口。

步骤202:判断目录地图是否保存在浏览器缓存中,如果是,则执行步骤204,否则,执行步骤203。

在用户打开展示网页时,首先,可以为用户显示过场动画,在播放过场动画的过程中可以在后台下载目录地图。当然,如果之前该浏览器中缓存过目录地图了,则可以跳过过程动画,直接进入目录地图。

目录地图是为了向用户提供各个3d展馆的入口,这只是向用户提供各个3d展馆的入口的方式之一,也可以不通过目录地图,直接在页面上以文字的形式显示各个3d展馆的入口,例如:显示各个3d展馆的名称。

步骤203:确定需要后台下载目录地图,从服务器上后台下载目录地图,并将下载后的目录地图保存到浏览器缓存中,执行步骤204。

具体地,如果用户在目录地图上停留时间较长,后台可以完成所有的三维场景的后台下载,进而用户可以直接进入到3d展馆中,无需等待。

步骤204:判断至少一个3d展馆的三维场景中是否存在未保存到浏览器缓存中的三维场景,如果是,则执行步骤205,否则,执行步骤206。

步骤205:从未保存到浏览器缓存中的三维场景中,确定需要后台下载的至少一个三维场景,从服务器上后台下载需要后台下载的至少一个三维场景,并保存到浏览器缓存中,返回步骤204。

具体地,在确定需要后台下载的至少一个三维场景时,可以从未保存到浏览器缓存中的三维场景中选取预设数量个三维场景进行后台下载,如果将全部的未保存到浏览器缓存中的三维场景进行后台下载,可能会因下载内容过多,导致展示页面卡顿等问题。

另外,由于在进行后台下载的过程中,可能由于用户选择了某个三维场景进行查看,直接从服务器上将该三维场景加载到展示页面上,并保存到浏览器缓存中,在进行下一次确定需要后台下载的至少一个三维场景时,该三维场景保存到浏览器缓存中,能够避免重复下载。举例来说,在第i次确定需要后台下载的至少一个三维场景时,3d展馆a的三维场景、3d展馆b的三维场景和3d展馆c的三维场景均未在浏览器缓存中,确定需要后台下载3d展馆a的三维场景,而在后台下载的过程中,用户选择查看3d展馆b,这时,直接从服务器中将3d展馆b的三维场景加载到展示网页上,并保存到浏览器缓存中,在第i+1次确定需要后台下载的至少一个三维场景时,只有3d展馆c的三维场景未在浏览器缓存中,只需后台下载3d展馆c的三维场景即可,避免了对3d展馆b的三维场景进行重复下载。

步骤206:判断至少一个3d展馆中的至少一个内部三维模型中是否存在未保存到浏览器缓存中的内部三维模型,如果是,执行步骤207,否则,执行步骤208。

步骤207:从未保存到浏览器缓存中的内部三维模型中,确定需要后台下载的至少一个内部三维模型,从服务器上后台下载需要后台下载的至少一个内部三维模型,并保存到浏览器缓存中,返回步骤206。

具体地,在后台下载内部三维模型时,可以在当前3d展馆内部的所有内部三维模型均后台下载完成后,再下载下一个3d展馆内部的所有内部三维模型。进一步地,可以在每次确定需要后台下载的至少一个内部三维模型时,以3d展馆为单位进行后台下载,也就是,将当前3d展馆内部的所有内部三维模型作为本次需要后台下载的内部三维模型。举例来说,在确定需要后台下载的至少一个内部三维模型时,3d展馆a内部的所有内部三维模型、3d展馆b内部的所有内部三维模型和3d展馆c内部的所有内部三维模型均未在浏览器缓存中,确定需要后台下载3d展馆a内部的所有内部三维模型。

步骤208:结束当前流程。

当浏览器缓存中保存了目录地图、所有的三维场景和所有的内部三维模型之后,可以停止后台下载。至于3d目标中的文字、图片、音视频等平面信息可以直接从服务器上加载。

步骤209:确定需要在展示网页上显示的至少一个待显示子目标。

具体地,当用户选择查看某个3d展馆时,则确定需要在展示网页上显示该3d展馆的三维场景和该3d展馆的所有内部三维模型。用户可以通过以下方式选择需要查看的3d展馆:

方式一:用户通过目录地图选择某个3d展馆的入口。

方式二:用户通过搜索功能,直接选择进入某个3d展馆。

另外,当用户选择进入目录地图时,确定需要在展示网页上显示目录地图。具体地,用户可以在展示的3d展馆的界面上选择目录地图的入口,或者,通过搜索功能,选择进入目录地图。

步骤210:针对每个待显示子目标,判断当前待显示子目标是否保存在浏览器缓存中,如果是,则从浏览器缓存中将当前待显示子目标加载到展示网页上,否则,从服务器上下载当前待显示子目标,将当前待显示子目标加载到展示网页上,并将当前待显示子目标保存到浏览器缓存中。

具体地,如果当前待显示子目标已经保存到浏览器缓存中,则直接从浏览器缓存中加载当前待显示子目标,大大减少了加载时间。

在本发明一实施例中,在设置3d目标时,每个3d展馆中展位三维模型的数量一般不超过20个,而每个展位中展品三维模型的数量一般不能超过10个。基于对展位三维模型的数量要求和/或展品三维模型的数量要求,能够减少每个3d展馆需要加载的数据量,避免因3d展馆需要加载的数据量过大,造成卡顿等问题,通过本发明实施例能够提高加载速度,并提高用户体验。

其中,每个展位一般代表一家参展企业,在每个展位上展示有对应的企业的展品。

在本发明一实施例中,3d目标的显示可以通过unitywebplayer插件来实现,也可以通过无插件的webgl(webgraphicslibrary,3d绘图标准)来实现。

用户可以在3d展馆内进行漫游。

在本发明一实施例中,3d目标可以通过分布式服务器处理,通过分布式服务器分别存放3d目标,让用户可以再全国各地获得相近的加载速度。

另外,在从服务器下载子目标时,可以根据用户网络情况,判断用户网络下载量,最大化利用用户的网络的下载能力进行下载,以提高加载速度。

通过本发明实施例可以实现3d目标的线上线下同步浏览;用户可以直接输入网址访问,也可以下载到本地中,随时离线访问,大大扩展了3d目标的适用范围。

在本发明实施例中,通过分布加载,可以实现大量3d目标在线交互查看的功能。

在本发明实施例中,通过分布加载网上3d展厅的功能,实现了在一个完整的unitywebplayer程序中同时入驻多个3d展馆,并且不会因为大型展馆数量的增加、展示内容的增加而导致加载时间过于漫长。

如图3、图4所示,本发明实施例提供了一种网页3d目标的加载装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的一种网页3d目标的加载装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的cpu将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的一种网页3d目标的加载装置,包括:

目标设置单元401,用于将3d目标设置为至少两个子目标;

子目标缓存单元402,用于实时确定需要后台下载的至少一个子目标,从保存所述3d目标的服务器上后台下载所述需要后台下载的至少一个子目标,并保存到浏览器缓存中;

确定单元403,用于确定需要在展示网页上显示的至少一个待显示子目标;

展示单元404,用于针对每个所述待显示子目标,判断当前待显示子目标是否保存在所述浏览器缓存中,如果是,则从所述浏览器缓存中将所述当前待显示子目标加载到所述展示网页上,否则,从所述服务器上下载所述当前待显示子目标,将所述当前待显示子目标加载到所述展示网页上。

图4中示出了外部的浏览器缓存405。

在本发明实施例中,将3d目标设置为至少两个子目标,在前台为用户提供相应的服务时,在后台可以下载需要后台下载的子目标,当用户需要显示已经保存在浏览器缓存中的子目标时,可以直接从浏览器缓存中加载该子目标,由于下载的过程已经在后台完成,降低了加载时间,当需要在展示网页上显示的子目标没有保存到浏览器缓存中时,只需从服务器上下载需要显示的子目标即可,无需下载整个3d目标,大大减少了数据下载量,减少了下载时间,进而降低了加载时间。

在本发明一实施例中,所述至少两个子目标,包括:至少一个3d展馆的三维场景和所述至少一个3d展馆内部的至少一个内部三维模型;

所述子目标缓存单元,用于执行:

a1:判断所述至少一个3d展馆的三维场景中是否存在未保存到所述浏览器缓存中的三维场景,如果是,则执行a2,否则,执行a3;

a2:从所述未保存到所述浏览器缓存中的三维场景中,确定需要后台下载的至少一个三维场景,从所述服务器上后台下载所述需要后台下载的至少一个三维场景,并保存到所述浏览器缓存中,返回a1;

a3:判断所述至少一个3d展馆中的至少一个内部三维模型中是否存在未保存到所述浏览器缓存中的内部三维模型,如果是,则执行a4;

a4:从所述未保存到所述浏览器缓存中的内部三维模型中,确定需要后台下载的至少一个内部三维模型,从所述服务器上后台下载所述需要后台下载的至少一个内部三维模型,并保存到所述浏览器缓存中,返回a3。

在本发明一实施例中,所述至少两个子目标,还包括:所述至少一个3d展馆的目录地图,其中,所述目录地图中包括所述至少一个3d展馆的入口,以使用户能够从所述目录地图上选择需要查看的目标3d展馆的入口;

所述子目标缓存单元,用于执行:

在a1之前,判断所述目录地图是否保存在所述浏览器缓存中,如果是,则执行a1,否则,确定需要后台下载所述目录地图,从所述服务器上后台下载所述目录地图,并将下载后的所述目录地图保存到所述浏览器缓存中,执行a1;

所述确定单元,用于当所述用户在所述目录地图上选择需要查看的所述目标3d展馆的入口时,确定需要在所述展示网页上显示所述目标3d展馆的三维场景以及所述目标3d展馆中的至少一个内部三维模型。

在本发明一实施例中,所述至少一个内部三维模型,包括:低品质的展品三维模型;

所述3d目标中包括:每个所述低品质的展品三维模型对应的高品质的展品三维模型;

其中,所述低品质的展品三维模型的数据量小于对应的所述高品质的展品三维模型;

进一步包括:

展品加载单元,用于当需要在所述展示网页上显示至少一个待显示高品质的展品三维模型时,针对每个所述待显示高品质的展品三维模型,判断当前待显示高品质的展品三维模型是否保存在所述浏览器缓存中,如果是,从所述浏览器缓存中将所述当前待显示高品质的展品三维模型加载到所述展示网页上,否则,从所述服务器上下载所述当前待显示高品质的展品三维模型,将所述当前待显示高品质的展品三维模型保存到所述浏览器缓存中,并将所述当前待显示高品质的展品三维模型加载到所述展示网页上。

在本发明一实施例中,所述展示单元,用于当所述当前待显示子目标没有保存在所述浏览器缓存中时,在所述从所述服务器上下载所述当前待显示子目标之后,将所述当前待显示子目标保存到所述浏览器缓存中。

在本发明一实施例中,所述展示单元,用于在判断出所述当前待显示子目标没有保存在所述浏览器缓存中时,根据预设比例和运行的线程的总数,确定目标数量,利用所述目标数量个线程从所述服务器上下载所述当前待显示子目标。

在本发明一实施例中,所述3d目标中包括:至少一个平面信息;

进一步包括:

平面信息展示单元,用于当需要在所述展示网页上显示至少一个待显示平面信息时,针对每个所述待显示平面信息,判断当前待显示平面信息是否保存在所述浏览器缓存中,如果是,从所述浏览器缓存中将所述当前待显示平面信息加载到所述展示网页上,否则,从所述服务器上下载所述当前待显示平面信息,将所述当前待显示平面信息保存到所述浏览器缓存中,并将所述当前待显示平面信息加载到所述展示网页上。

上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

本发明实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行本发明实施例提供的任意一种网页3d目标的加载方法。

本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;

所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行本发明实施例提供的任意一种网页3d目标的加载方法。

本发明各个实施例至少具有如下有益效果:

1、在本发明实施例中,将3d目标设置为至少两个子目标,在前台为用户提供相应的服务时,在后台可以下载需要后台下载的子目标,当用户需要显示已经保存在浏览器缓存中的子目标时,可以直接从浏览器缓存中加载该子目标,由于下载的过程已经在后台完成,降低了加载时间,当需要在展示网页上显示的子目标没有保存到浏览器缓存中时,只需从服务器上下载需要显示的子目标即可,无需下载整个3d目标,大大减少了数据下载量,减少了下载时间,进而降低了加载时间。

2、在本发明实施例中,在用户查看目录地图的过程中,可以进行三维场景以及内部三维模型的后台下载,当用户通过目录地图进入到某个3d场馆时,该3d场馆的三维场景和内部三维模型可能已经被保存到浏览器缓存中,用户可以直接查看该3d场馆的三维场景和内部三维模型,无需等待,大大提高了加载速度,并提高了用户体验。

3、在本发明实施例中,在3d展馆中展示的展品三维模型为低品质的展品三维模型,由于低品质的展品三维模型的数据量较小,能够大大提高3d展馆的加载速度。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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