【技術實現步驟摘要】
一種基于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[]中的模型進行合并,生成合并序列號,將序...
【專利技術屬性】
技術研發人員:曹繼,鄧嫻,謝剛,楊天平,岳華,劉俊偉,馬潔,孟夕程,王珂,姚楚琳,
申請(專利權)人:昆船智能技術股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。