System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及工业大场景三维可视化,具体为一种用于工业大场景模型的分片预加载的方法及系统。
技术介绍
1、随着三维可视化技术在工业领域的日益广泛应用,大场景三维模型的加载与渲染逐渐成为影响用户体验的关键瓶颈。
2、传统的加载模式在应对大量数据时,往往呈现出效率低下的状况,难以满足快速加载与流畅渲染的实际需求。
技术实现思路
1、鉴于上述存在的问题,提出了本专利技术。
2、因此,本专利技术解决的技术问题是:有效解决大场景三维模型加载缓慢的问题。
3、为解决上述技术问题,本专利技术提供如下技术方案:一种用于工业大场景模型的分片预加载的方法,其包括如下步骤,
4、对大场景的三维模型实施预处理操作得到小三维模型;对小三维模型进行二次压缩和加密;通过客户端引擎加载小三维模型。
5、作为本专利技术所述的一种用于工业大场景模型的分片预加载的方法的一种优选方案,其中:所述预处理操作包括通过自动化脚本对三维模型进行数模分离,提取与设计相关的数据,利用三维模型设计软件对三维模型进行减面处理、纹理压缩以及相同物体的材质合并操作,操作后通过自动化脚本将三维模型分割成低分辨率的小三维模型以及高分辨率的小三维模型。
6、所述低分辨率的小三维模型为纹理分辨率低于1024×1024、顶点以及多边形数量等于小于阈值的小三维模型,高分辨率的小三维模型为纹理分辨率大于等于1024×1024、顶点以及多边形数量多于阈值的小三维模型。
7、
8、作为本专利技术所述的一种用于工业大场景模型的分片预加载的方法的一种优选方案,其中:所述客户端引擎通过多线程加载模式并行加载小三维模型,并通过webworker技术进行多线程解密与解压缩处理。
9、作为本专利技术所述的一种用于工业大场景模型的分片预加载的方法的一种优选方案,其中:所述加载小三维模型包括客户端引擎根据用户的实际需求与交互行为,动态加载所需的模型文件,并根据具体需求实施销毁操作。
10、所述动态加载包括通过分析用户的交互日志将物体分为低交互度物体和高交互度物体,通过用户视角变化趋势,预测用户查看的区域,针对低交互度物体采用低分辨率的小三维模型进行预加载,基于所述高交互度的物体提前加载高分辨率的小三维模型。
11、所述低交互度物体为仅支持点击的物体,高交互度物体为支持拖拽、缩放以及编辑的物体。
12、所述实施销毁操作包括根据用户的交互日志进行分析,若存在低交互度物体未在限定时间内进行使用,则自动销毁,基于用户视角变化趋势分析,若存在低交互物体未在用户视野中,则自动销毁低交互度物体,同时在限定时间内保留高交互度物体,若到达限定时间仍未使用时,则自动销毁。
13、作为本专利技术所述的一种用于工业大场景模型的分片预加载的方法的一种优选方案,其中:所述客户端引擎加载小三维模型后遍历场景中的所有高交互度物体,针对每个物体,确定每个物体包装盒的最大和最小坐标,通过计算得到长度,宽度,深度,最大坐标为(max.x,max.y,max.z),最小坐标为(min.x,min.y,min.z)。
14、所述长度表示为max.x-min.x,所述宽度表示为max.y-min.y,所述深度表示为max.z-min.z。
15、将每个物体的包装盒长度、宽度和深度相乘,得出每个物体的体积,根据计算出的体积,将所有物体按照体积从大到小的顺序排序,并储存与数组arr中。
16、当用户在画布上执行操作时的分级层次包括程序首先会根据当前相机的视锥体与数组arr中物体的包围盒信息进行相交测试,若物体完全位于视锥体外部,则执行剔除操作,即不将对应物体纳入渲染队列。
17、若物体位于视锥体内部,则进一步判断体积大小,包括若物体的大小大于设定阈值,则直接渲染物体,若物体的体积小于或等于设定的阈值,则继续计算当前相机与对应物体的距离,若相机与对应物体的距离小于剔除距离,则直接渲染物体,若计算出的距离大于或等于设定的剔除距离,则继续计算物体的使用频率,若物体的使用频率大于或等于设定的频率,则直接进行渲染,若物体的使用频率小于设定的频率,则判断物体的视觉复杂度,若视觉复杂度小于设定的阈值,则进行剔除,若视觉复杂度大于等于设定的阈值,则进行渲染,渲染过程中持续跟踪应用的性能指标。
18、将经过筛选和剔除操作后剩余的物体进行渲染,并将结果呈现给用户。
19、作为本专利技术所述的一种用于工业大场景模型的分片预加载的方法的一种优选方案,其中:所述采用低分辨率的小三维模型进行预加载为只有当用户的视角发生变化时进行。
20、所述提前加载高分辨率的小三维模型为用户未任何操作都提前加载预测区域内的小三维模型,将预测区域的模型异步加载到客户端缓存中,预先计算每个高交互度物体的体积、距离、使用频率和视觉复杂度,对预测区域的模型进行初步判断,并插入对应的分级层次中。
21、所述持续跟踪应用的性能指标包括实时监控帧率,并根据监控结果自动调整渲染质量包括,当检测到帧率下降至规定值以下时,自动降低场景中的高分辨率模型的细节层次,或将非核心的高交互度物体的高分辨率的小三维模型暂时切换到低分辨率的小三维模型。
22、若检测到资源使用接近系统上限,自动降低低交互度物体的渲染质量,或完全隐藏物体,直到资源使用回到安全范围。
23、本专利技术的另外一个目的是提供一种用于工业大场景模型的分片预加载的系统,其能通过高效的预处理、压缩加密、多线程加载和动态渲染技术,解决了现有技术中存在的大规模三维模型加载和渲染效率低下、用户交互体验不佳的问题。
24、为解决上述技术问题,本专利技术提供如下技术方案:一种用于工业大场景模型的分片预加载的系统,包括三维模型预处理子模块、压缩与加密模块、客户端引擎模块以及渲染模块。
25、所述三维模型预处理子模块负责对大场景的三维模型进行数模分离、减面处理、纹理压缩和材质合并,将预处理后的三维模型分割成小三维模型。
26、所述压缩与加密模块负责对小三维模型进行二次压缩处理,对压缩后的模型进行加密。
27、所述客户端引擎模块负责通过多线程加载模式并行加载小三维模型,使用webworker技术进行多线程解密与解压缩处理,根据用户的实际需求与交互行为,动态加载所需的模型文件,并根据具体需求实施销毁操作,通过分析用户的交互行为和视角变化趋势,预测用户查看的区域,提前加载相关模型。
28、所述渲染模块负责遍历场景中的所有物体,计算每个物体的包装盒的最大和最小坐标,得到长度、宽度、深度和体积,根据当前相机的视锥体与物体的包围盒信息进行相交测试,剔除视锥体外的物体,根据体积、距离、使用频率和视觉复杂度对物体本文档来自技高网...
【技术保护点】
1.一种用于工业大场景模型的分片预加载的方法,其特征在于,包括:
2.如权利要求1所述的一种用于工业大场景模型的分片预加载的方法,其特征在于:所述预处理操作包括通过自动化脚本对三维模型进行数模分离,提取与设计相关的数据,利用三维模型设计软件对三维模型进行减面处理、纹理压缩以及相同物体的材质合并操作,操作后通过自动化脚本将三维模型分割成低分辨率的小三维模型以及高分辨率的小三维模型;
3.如权利要求2所述的一种用于工业大场景模型的分片预加载的方法,其特征在于:所述二次压缩和加密包括对分隔后的小三维模型通过Draco和Gzip算法进行压缩处理,压缩后通过加密算法进行加密。
4.如权利要求3所述的一种用于工业大场景模型的分片预加载的方法,其特征在于:所述客户端引擎通过多线程加载模式并行加载小三维模型,并通过WebWorker技术进行多线程解密与解压缩处理。
5.如权利要求4所述的一种用于工业大场景模型的分片预加载的方法,其特征在于:所述加载小三维模型包括客户端引擎根据用户的实际需求与交互行为,动态加载所需的模型文件,并根据具体需求实施销毁操
6.如权利要求5所述的一种用于工业大场景模型的分片预加载的方法,其特征在于:所述客户端引擎加载小三维模型后遍历场景中的所有高交互度物体,针对每个物体,确定每个物体包装盒的最大和最小坐标,通过计算得到长度,宽度,深度,最大坐标为(max.x,max.y,max.z),最小坐标为(min.x,min.y,min.z);
7.如权利要求6所述的一种用于工业大场景模型的分片预加载的方法,其特征在于:所述采用低分辨率的小三维模型进行预加载为只有当用户的视角发生变化时进行;
8.一种采用如权利要求1~7任一所述的一种用于工业大场景模型的分片预加载的方法的系统,其特征在于:包括三维模型预处理子模块、压缩与加密模块、客户端引擎模块以及渲染模块;
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的一种用于工业大场景模型的分片预加载的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述一种用于工业大场景模型的分片预加载的方法的步骤。
...【技术特征摘要】
1.一种用于工业大场景模型的分片预加载的方法,其特征在于,包括:
2.如权利要求1所述的一种用于工业大场景模型的分片预加载的方法,其特征在于:所述预处理操作包括通过自动化脚本对三维模型进行数模分离,提取与设计相关的数据,利用三维模型设计软件对三维模型进行减面处理、纹理压缩以及相同物体的材质合并操作,操作后通过自动化脚本将三维模型分割成低分辨率的小三维模型以及高分辨率的小三维模型;
3.如权利要求2所述的一种用于工业大场景模型的分片预加载的方法,其特征在于:所述二次压缩和加密包括对分隔后的小三维模型通过draco和gzip算法进行压缩处理,压缩后通过加密算法进行加密。
4.如权利要求3所述的一种用于工业大场景模型的分片预加载的方法,其特征在于:所述客户端引擎通过多线程加载模式并行加载小三维模型,并通过webworker技术进行多线程解密与解压缩处理。
5.如权利要求4所述的一种用于工业大场景模型的分片预加载的方法,其特征在于:所述加载小三维模型包括客户端引擎根据用户的实际需求与交互行为,动态加载所需的模型文件,并根据具体需求实施销毁操作;
6.如权利要求5所...
【专利技术属性】
技术研发人员:袁存发,邢翔,陈松,宋礼涛,赵剑之,
申请(专利权)人:朗坤智慧科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。