【技术实现步骤摘要】
一种基于Three.js引擎网页三维大场景动画演示性能优化装置及方法
[0001]本专利技术涉及三维动画演示
,尤其涉及一种基于Three.js引擎网页三维大场景动画演示性能优化装置及方法。
技术介绍
[0002]在网页中进行三维场景动画演示时,通常会加载多个不同类型的三维模型,同一种三维模型会使用到多次,最终组合形成一个三维场景。在动画演示过程中系统实时刷新渲染三维场景,刷新场景中每一个模型都需要经历一次Draw Call(绘图指令),当场景中使用的模型数量上千时,Three.js就会经历上千次Draw Call,如果每次Draw Call需要2ms的时间,最终渲染一次一千个模型的场景需要2s,当模型数量到达一万个时候,需要20s时间,这种渲染方式整个场景在大场景下会导致动画卡顿,只能进行简单场景演示,在复杂场景下用户无法正常使用系统。
技术实现思路
[0003]本专利技术的目的在于:针对现有技术的不足,提供一种对非动画模型进行冻结处理,减少系统位置更新计算,提升系统性能的基于Three.js引擎网页三维大场景动画演示性能优化装置及方法。
[0004]本专利技术的技术方案如下:
[0005]本专利技术公开了一种基于Three.js引擎网页三维大场景动画演示性能优化的方法,包括以下步骤:
[0006]建立双场景调度中心、动画调度中心、模型场景和渲染场景;
[0007]系统调用场景加载模块将模型加载至模型场景,模型场景对模型进行存储和物料模型位置进行更新计算; />[0008]所述动画调度中心生成演示动画,利用动画调度中心判断场景中的模型,动画调度中心对没有动画任务的模型进行冻结,对动画模型进行位置实时更新计算并根据物料数量创建合并模型;
[0009]所述双场景调度中心将合并模型加载到渲染模型进行渲染。
[0010]进一步地,具体包括以下步骤:
[0011]S1、加载模型,判定场景中已存在模型进行克隆复制,新加载的模型和已有模型公用几何面数据和材质数据;
[0012]S2、建立双场景进行渲染,利用Three.js引擎进行系统开发,利用双场景调度中心对模型场景实现模型的存储和物料模型位置更新计算,渲染场景实现对合并模型的渲染处理;
[0013]S3、判断场景中的模型是否为动画模型,动画模型需要进行位置实时更新计算,对其他模型系统判断模型和合并模式,利用双场景调度中心将合并后构建的新模型对象加载
到渲染场景,渲染场景再进行渲染,同时对没有动画执行的模型进行冻结;
[0014]S4、进行三维动画演示。
[0015]进一步地,所述步骤S1加载模型中根据用户在系统选择保存的场景方案,系统发送网络请求加载服务器中的场景文件。
[0016]进一步地,所述步骤S3中,系统调用场景加载模块,解析场景文件,利用动画调度中心遍历场景动画路径集合中的模型,判断模型类型,如果是输送类型模型,判断模型中是否设置动画属性,对没有动画属性的模型,系统设置冻结标识,将模型加入冻结模型集合Blocking_List[]中;对有动画属性的模型,动画调度中心遍历模型中的子模型,提取子模型共用的三维几何体和每个子模型的世界坐标,将模型加入动画合并集合Animation_List[]中。
[0017]进一步地,所述没有动画属性的模型包括货架、轨迹线和文字类型;所述有动画属性的模型包括单机设备、机器人设备、AGV设备。
[0018]进一步地,所述场景中的模型根据是否为动画模型加入相应集合之后,双场景调度中心将动画合并集合Animation_List[]中的模型进行合并,生成合并序列号,将序列号绑定到原始子模型属性;动画调度中心监听合并Animation_List[]集合中的模型和子模型位置坐标更新,将模型或子模型更新后坐标同步更新至合并模型中对应序号部件世界坐标。
[0019]进一步地,所述步骤S4的三维动画演示包括以下步骤:
[0020]S4.1、动画物料准备,动画调度中心根据用户设置的物料数量、物料类型,创建物料基本单元模型,再根据数量创建合并后的物料模型,双场景调度中心将合并后的物料模型加载到渲染场景中进行渲染,首次创建时每个序列的物料模型坐标设置为零,保证渲染时物料暂时不显示;
[0021]S4.2、动画运行中,双场景调度中心遍历冻结模型集合Blocking_List[],对渲染场景中对应型号的合并模型设置冻结标识,渲染场景在执行刷新渲染时,不执行位置更新计算;动画调度中心在模型场景中提取没有冻结标识的模型集合,在执行渲染时只更新非冻结模型的位置坐标信息,冻结模型系统不再进行位置更新计算;
[0022]S4.3、动画暂停,双场景调度中心将冻结模型集合Blocking_List[]中的模型进行解冻,模型可进行编辑操作,修改完成后可继续进行动画演示;
[0023]S4.4、动画结束,双场景调度中心清空模型场景和渲染场景中的所有模型,重新执行场景文件加载,此时模型已经全部缓存在本地,系统根据模型类型进行场景模型复制,实现场景快速复原。
[0024]进一步地,所述S4.1的动画调度中心根据路径,实时更新路径模型上物料的坐标,动画调度中心根据模型场景中变化物料模型绑定的序列号,对渲染场景中的合并物料模型中指定序列号的部件进行坐标同步,同步完成后触发场景渲染。
[0025]进一步地,所述步骤S4.1动画物料准备完成后,系统遍历场景中的模型,没在路径集合范围中的模型,系统设置冻结标识,将模型加入冻结模型集合Blocking_List[]中。
[0026]本专利技术还公开了一种基于Three.js引擎网页三维大场景动画演示性能优化装置,其特征在于,包括场景加载模块、双场景调度中心、动画调度中心、模型场景和渲染场景,模型场景实现对模型的存储和物料模型位置更新计算,渲染场景实现对合并模型的渲染处
理;所述动画调度中心独立计算模型场景的坐标位置,判断场景中的模型是否为动画模型,对没有动画执行的模型进行冻结,系统对冻结的模型不进行位置计算,对动画模型进行位置实时更新计算,并将动画模型进行合并通过双场景调度中心加载到渲染场景中进行渲染。
[0027]与现有的技术相比本专利技术的有益效果是:
[0028]1、本专利技术对非动画模型进行冻结处理,系统对这部分模型不进行位置计算,减少系统位置更新计算,提升系统动画渲染性能。
[0029]2、本专利技术对动画演示中的物料模型进行合并优化和独立计算处理,大大减少Draw Call次数,提升了渲染效率,保证三维场景的渲染性能,在动画演示中即使创建上千个物料模型也能够流畅运行。
[0030]3、对三维场景存在动画的模型进行提取,由动画调度中心独立计算更新模型及子模型的坐标位置,并将其实时同步更新到渲染场景的合并模型中,减少三维场景渲染时间。
附图说明
[0031]图1为本专利技术的流程示意图;
[0032]图2为本专利技术的加入冻结模型集合的模型类本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于Three.js引擎网页三维大场景动画演示性能优化的方法,其特征在于,包括以下步骤:建立双场景调度中心、动画调度中心、模型场景和渲染场景;系统调用场景加载模块将模型加载至模型场景,模型场景对模型进行存储和物料模型位置进行更新计算;所述动画调度中心生成演示动画,利用动画调度中心判断场景中的模型,动画调度中心对没有动画任务的模型进行冻结,对动画模型进行位置实时更新计算并根据物料数量创建合并模型;所述双场景调度中心将合并模型加载到渲染模型进行渲染。2.根据权利要求1所述的一种基于Three.js引擎网页三维大场景动画演示性能优化的方法,其特征在于,具体包括以下步骤:S1、加载模型,判定场景中已存在模型进行克隆复制,新加载的模型和已有模型公用几何面数据和材质数据;S2、建立双场景进行渲染,利用Three.js引擎进行系统开发,利用双场景调度中心对模型场景实现模型的存储和物料模型位置更新计算,渲染场景实现渲染处理;S3、判断场景中的模型是否为动画模型,动画模型需要进行位置实时更新计算,对其他模型系统判断模型和合并模式,利用双场景调度中心将合并后构建的新模型对象加载到渲染场景,渲染场景再进行渲染,同时对没有动画执行的模型进行冻结;S4、进行三维动画演示。3.根据权利要求2所述的一种基于Three.js引擎网页三维大场景动画演示性能优化的方法,其特征在于,所述步骤S1加载模型中根据用户在系统选择保存的场景方案,系统发送网络请求加载服务器中的场景文件。4.根据权利要求2所述的一种基于Three.js引擎网页三维大场景动画演示性能优化的方法,其特征在于,所述步骤S3中,系统调用场景加载模块,解析场景文件,利用动画调度中心遍历场景动画路径集合中的模型,判断模型类型,如果是输送类型模型,判断模型中是否设置动画属性,对没有动画属性的模型,系统设置冻结标识,将模型加入冻结模型集合Blocking_List[]中;对有动画属性的模型,动画调度中心遍历模型中的子模型,提取子模型共用的三维几何体和每个子模型的世界坐标,将模型加入动画合并集合Animation_List[]中。5.根据权利要求4所述的一种基于Three.js引擎网页三维大场景动画演示性能优化的方法,其特征在于,所述没有动画属性的模型包括货架、轨迹线和文字类型;所述有动画属性的模型包括单机设备、机器人设备、AGV设备。6.根据权利要求4所述的一种基于Three.js引擎网页三维大场景动画演示性能优化的方法,其特征在于,所述场景中的模型根据是否为动画模型加入相应集合之后,双场景调度中心将动画合并集合Animation_List[]中的模型进行合并,生成合并序列号,将序...
【专利技术属性】
技术研发人员:曹继,邓娴,谢刚,杨天平,岳华,刘俊伟,马洁,孟夕程,王珂,姚楚琳,
申请(专利权)人:昆船智能技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。