本發(fā)明涉及三維領(lǐng)域,具體涉及一種三維模型文件處理方法、上傳方法及客戶端。
背景技術(shù):
隨著三維領(lǐng)域的快速發(fā)展,三維建模在建筑、航天、數(shù)控加工等領(lǐng)域得到的廣泛的應(yīng)用。但是現(xiàn)有三維軟件所生成的三維模型文件都僅僅是一個(gè)包含了所有設(shè)計(jì)元素的單純文件,例如設(shè)計(jì)人員在通過三維軟件生成三維模型文件時(shí),一般會(huì)包含模型文件,還會(huì)根據(jù)模型應(yīng)用場(chǎng)景包含如燈光、相機(jī),甚至在設(shè)計(jì)過程中還會(huì)包含空?qǐng)D層等無用的元素;當(dāng)該三維模型文件被其他用戶獲取使用時(shí),由于該三維模型文件中包含了燈光、相機(jī)等非必要元素,因此當(dāng)其他用戶不需要使用這些元素或者需要進(jìn)行其他變更時(shí),則需要用戶對(duì)該三維模型文件中的這些非必要元素進(jìn)行刪除后再重新增加或變更其他元素,這既增加了操作的復(fù)雜度,又浪費(fèi)了用戶時(shí)間,導(dǎo)致用戶體驗(yàn)的滿意度差。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的主要技術(shù)問題是,提供一種三維模型文件處理方法、上傳方法及客戶端,解決現(xiàn)有三維模型文件包含非必要元素,導(dǎo)致用戶使用時(shí)可能需要進(jìn)行非必要元素的清除處理,增加了操作的復(fù)雜度和操作時(shí)間,用戶體驗(yàn)滿意度低的問題。
為解決上述技術(shù)問題,本發(fā)明提供一種三維模型文件處理方法,包括:
導(dǎo)入待處理的三維模型原文件;
對(duì)所述三維模型原文件進(jìn)行分析處理得到素模文件;
基于所述素模文件生成代理文件;
將所述代理文件與所述三維模型原文件進(jìn)行關(guān)聯(lián)存儲(chǔ)。
在本發(fā)明的一種實(shí)施例中,對(duì)所述三維模型原文件進(jìn)行分析處理得到對(duì)應(yīng)的素模文件包括:
對(duì)所述三維模型原文件進(jìn)行元素分析,并將落入預(yù)設(shè)待刪除元素范圍的元素進(jìn)行刪除;
所述預(yù)設(shè)待刪除元素范圍包含相機(jī)、燈光、空?qǐng)D層、丟失的貼圖文件、空物體、參照結(jié)構(gòu)、容器結(jié)構(gòu)、代理物體、場(chǎng)景垃圾內(nèi)存。
在本發(fā)明的一種實(shí)施例中,對(duì)所述三維模型原文件進(jìn)行分析處理確定所述三維模型原文件包含未丟失的貼圖文件時(shí),所述方法還包括:
將所述貼圖文件進(jìn)行保留處理,并將保留的貼圖文件與所述代理文件以及所述三維模型原文件進(jìn)行關(guān)聯(lián)存儲(chǔ);
所述基于所述素模文件生成代理文件包括:
根據(jù)得到的所述素模文件和所述貼圖文件生成代理文件。
在本發(fā)明的一種實(shí)施例中,得到所述素模文件后,還包括:
提取所述素模文件的屬性參數(shù);
生成包含所述屬性參數(shù)的開源參數(shù)文件;
將所述開源參數(shù)文件與所述代理文件以及所述三維模型原文件進(jìn)行關(guān)聯(lián)存儲(chǔ)。
在本發(fā)明的一種實(shí)施例中,對(duì)所述三維模型原文件進(jìn)行分析處理之前包括:
截取所述三維模型原文件沿預(yù)設(shè)單軸的至少兩個(gè)旋轉(zhuǎn)角度的圖像幀得到所述三維模型原文件的縮略圖;
對(duì)截取到的多個(gè)圖像幀與所述代理文件以及所述三維模型原文件進(jìn)行關(guān)聯(lián)存儲(chǔ);
或,
對(duì)所述三維模型原文件進(jìn)行分析處理之后,還包括:
截取對(duì)所述三維模型原文件進(jìn)行分析處理之后的三維模型文件沿預(yù)設(shè)單軸的至少兩個(gè)旋轉(zhuǎn)角度的圖像幀;
對(duì)截取到的多個(gè)圖像幀進(jìn)行渲染處理生成縮略圖;
將所述縮略圖與所述代理文件以及所述三維模型原文件進(jìn)行關(guān)聯(lián)存儲(chǔ)。
在本發(fā)明的一種實(shí)施例中,截取對(duì)所述三維模型原文件進(jìn)行分析處理之后的三維模型文件沿預(yù)設(shè)單軸的至少兩個(gè)旋轉(zhuǎn)角度的圖像幀時(shí),對(duì)截取到的多個(gè)圖像幀進(jìn)行渲染處理生成縮略圖包括:
對(duì)于每一圖像幀從預(yù)設(shè)的場(chǎng)景渲染庫中選擇對(duì)應(yīng)的場(chǎng)景對(duì)該圖像幀進(jìn)行渲染;所述場(chǎng)景渲染庫中包含多種渲染場(chǎng)景。
為了解決上述問題,本發(fā)明還提供了一種三維模型文件上傳方法,包括:
按如上所述的三維模型文件處理方法對(duì)待上傳三維模型文件進(jìn)行處理得到處理后的文件;
將得到的所述處理后的文件上傳至網(wǎng)絡(luò)端。
在本發(fā)明的一種實(shí)施例中,按如上所述的三維模型文件處理方法對(duì)待上傳的三維模型文件進(jìn)行處理過程中,還包括獲取所述待上傳三維模型文件的屬性參數(shù)生成參數(shù)展示文件,并將所述參數(shù)展示文件與所述代理文件和所述三維模型原文件進(jìn)行關(guān)聯(lián)存儲(chǔ);
所述參數(shù)展示文件用于在上傳至所述網(wǎng)絡(luò)端后將所述屬性參數(shù)進(jìn)行展示。
為了解決上述問題,本發(fā)明還提供了一種客戶端,包括:
文件導(dǎo)入模塊,用于導(dǎo)入待處理的三維模型原文件;
處理模塊,用于對(duì)所述三維模型原文件進(jìn)行分析處理得到素模文件;
代理文件生成模塊,用于基于所述素模文件生成代理文件;
存儲(chǔ)控制模塊,用于將所述代理文件與所述三維模型原文件進(jìn)行關(guān)聯(lián)存儲(chǔ)。
在本發(fā)明的一種實(shí)施例中,還包括:
第一圖形獲取模塊,用于在所述對(duì)所述三維模型原文件進(jìn)行分析處理之前,截取所述三維模型原文件沿預(yù)設(shè)單軸的至少兩個(gè)旋轉(zhuǎn)角度的圖像幀得到所述三維模型原文件的縮略圖;
所述存儲(chǔ)控制模塊還用于將所述多個(gè)圖像幀與所述代理文件以及所述三維模型原文件進(jìn)行關(guān)聯(lián)存儲(chǔ);
或,
所述客戶端還包括:
第二圖形獲取模塊,用于在所述處理模塊對(duì)所述三維模型原文件進(jìn)行分析處理之后,截取對(duì)所述三維模型原文件進(jìn)行分析處理之后的三維模型文件沿預(yù)設(shè)單軸的至少兩個(gè)旋轉(zhuǎn)角度的圖像幀;
縮略圖生成模塊,用于對(duì)所述多個(gè)圖像幀進(jìn)行渲染處理生成縮略圖;
所述存儲(chǔ)控制模塊還用于將所述縮略圖與所述代理文件以及所述三維模型原文件進(jìn)行關(guān)聯(lián)存儲(chǔ)。
本發(fā)明的有益效果是:
本發(fā)明提供的三維模型文件處理方法、上傳方法及客戶端,對(duì)于已生成的三維模型文件,可將該三維模型文件的原文件導(dǎo)入,然后對(duì)導(dǎo)入的三維模型原文件進(jìn)行分析處理得到該三維模型文件中的素模文件,也即構(gòu)成三維模型文件的必要文件,進(jìn)而基于得到的素模文件生成代理文件,將得到的代理文件與三維模型原文件進(jìn)行關(guān)聯(lián)存儲(chǔ)。這樣當(dāng)其他用戶獲取該三維模型文件進(jìn)行使用時(shí),如果需要對(duì)其中的類似燈光、相機(jī)等元素進(jìn)行調(diào)整時(shí),則可以直接使用關(guān)聯(lián)的代理文件,在素模文件基礎(chǔ)上進(jìn)行對(duì)應(yīng)的編輯即可,不需要先刪除非必要元素然后再執(zhí)行相關(guān)編輯,既能簡(jiǎn)化操作流程,又能節(jié)省時(shí)間,提升用戶體驗(yàn)滿意度。同時(shí),當(dāng)用戶需要使用原文件時(shí),則可以直接使用對(duì)應(yīng)三維模型原文件,能進(jìn)一步提升用戶體驗(yàn)的滿意度。
進(jìn)一步地,為了解決現(xiàn)有三維模型文件都只是一個(gè)單純的文件,沒有任何的三維模型介紹,用戶在使用三維模型的時(shí)候,要么通過文件名稱來粗略的判斷模型的內(nèi)容,要么只能一個(gè)一個(gè)模型打開來查看模型的內(nèi)容的問題,本發(fā)明還對(duì)三維模型文件進(jìn)行圖像幀提取以生成該三維模型文件的縮略圖,這樣用戶可以直接通過縮略圖快速、準(zhǔn)確的獲取到三維模型文件內(nèi)包含的內(nèi)容,可以進(jìn)一步簡(jiǎn)化操作流程和提升操作效率,進(jìn)而提升用戶體驗(yàn)的滿意度。
附圖說明
圖1為本發(fā)明實(shí)施例一提供的三維模型文件處理方法流程示意圖;
圖2為本發(fā)明實(shí)施例一提供的提取素模文件屬性參數(shù)過程流程示意圖;
圖3為本發(fā)明實(shí)施例一提供的三維模型文件縮略圖生成過程流程示意圖一;
圖4為本發(fā)明實(shí)施例一提供的三維模型文件縮略圖生成過程流程示意圖二;
圖5為本發(fā)明實(shí)施例二提供的三維模型文件上傳方法流程示意圖;
圖6為本發(fā)明實(shí)施例三提供的客戶端結(jié)構(gòu)示意圖一;
圖7-1為本發(fā)明實(shí)施例三提供的客戶端結(jié)構(gòu)示意圖二;
圖7-2為本發(fā)明實(shí)施例三提供的客戶端結(jié)構(gòu)示意圖三;
圖8為本發(fā)明實(shí)施例四提供的客戶端結(jié)構(gòu)示意圖;
圖9為本發(fā)明實(shí)施例四提供的管理系統(tǒng)組網(wǎng)示意圖。
具體實(shí)施方式
本發(fā)明針對(duì)現(xiàn)有三維模型文件包含非必要元素,導(dǎo)致用戶使用時(shí)可能需要進(jìn)行非必要元素的清除處理,增加了操作的復(fù)雜度和操作時(shí)間,用戶體驗(yàn)滿意度低的問題,對(duì)生成的三維模型文件,可將該三維模型文件的原文件導(dǎo)入,然后對(duì)導(dǎo)入的三維模型原文件進(jìn)行分析處理得到該三維模型文件中的素模文件,也即構(gòu)成三維模型文件的必要文件,進(jìn)而基于得到的素模文件生成代理文件,將得到的代理文件與三維模型原文件進(jìn)行關(guān)聯(lián)存儲(chǔ)。這樣當(dāng)其他用戶獲取該三維模型文件進(jìn)行使用時(shí),如果需要對(duì)其中的類似燈光、相機(jī)等元素進(jìn)行調(diào)整時(shí),則可以直接使用關(guān)聯(lián)的代理文件,在素模文件基礎(chǔ)上進(jìn)行對(duì)應(yīng)的編輯即可,不需要先刪除非必要元素然后再執(zhí)行相關(guān)編輯,既能簡(jiǎn)化操作流程,又能節(jié)省時(shí)間.應(yīng)當(dāng)理解的是,本發(fā)明并不限于三維模型文件的使用,也適用于其他類型的文件以及對(duì)應(yīng)的軟件。
下面通過具體實(shí)施方式結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。
實(shí)施例一:
本實(shí)施例提供的三維模型文件處理方法參見圖1所示,包括:
S101:導(dǎo)入待處理的三維模型原文件。
本實(shí)施例中的三維模型原文件是指生成好的未經(jīng)處理的三維模型文件,其可以本地文件,也可以來自其他終端或網(wǎng)絡(luò)的文件,甚至可以是本地使用同一軟件生成好的三維模型文件,然后直接轉(zhuǎn)入文件處理界面,此時(shí)的導(dǎo)入動(dòng)作則是轉(zhuǎn)入文件處理界面的切換動(dòng)作。
S102:對(duì)所導(dǎo)入的三維模型原文件進(jìn)行分析處理得到素模文件。
一般情況下三維模型文件都包含素模文件,也即該素模文件是三維模型文件中的必要元素。該步驟中得到素模文件的方式包括但不限于以下兩種:
方式一:從三維模型原文件中直接摘取出素模文件;
方式二:將三維模型原文件中的非必要元素刪除,例如:對(duì)三維模型原文件進(jìn)行元素分析,并將落入預(yù)設(shè)待刪除元素范圍的元素進(jìn)行刪除;
本實(shí)施例中的預(yù)設(shè)待刪除元素范圍包括但不限于相機(jī)、燈光、空?qǐng)D層、丟失的貼圖文件、空物體、參照(XRef)結(jié)構(gòu)、容器(container)結(jié)構(gòu)、代理(VRaymesh)物體、場(chǎng)景垃圾內(nèi)存。
具體選用哪種方式可以根據(jù)具體需求靈活設(shè)定。
應(yīng)當(dāng)理解的是,當(dāng)前主流的三維模型文件都是經(jīng)過加密處理的,須通過對(duì)應(yīng)的軟件才能打開。因此本實(shí)施例中可以預(yù)先存儲(chǔ)各種三維模型文件所對(duì)應(yīng)的軟件插件(可包含對(duì)未經(jīng)加密處理的三維模型文件進(jìn)行打開的軟件插件),然后在將三維模型文件導(dǎo)入后,可以對(duì)其文件的后綴進(jìn)行分析并調(diào)用對(duì)應(yīng)的軟件插件進(jìn)行打開分析。
S103:基于得到的素模文件生成代理文件。
生成代理文件的方式可以采用現(xiàn)有各種三維軟件生成代理文件的方式,在此也不再進(jìn)行贅述。
S104:將得到的代理文件與三維模型原文件進(jìn)行關(guān)聯(lián)存儲(chǔ)。
本實(shí)施例中將得到的包含素模文件的代理文件與對(duì)應(yīng)的三維模型原文件進(jìn)行關(guān)聯(lián)存儲(chǔ),當(dāng)用戶需要使用該三維模型文件時(shí),則可以直接獲取到對(duì)應(yīng)的素模文件和原文件,當(dāng)用戶需要進(jìn)行重新編輯時(shí),則可直接選用素模文件以避免進(jìn)行非必要元素的刪除處理,簡(jiǎn)化操作流程以及處理時(shí)間,同時(shí)用戶還可打開原文件以做參考。對(duì)應(yīng)的,當(dāng)用戶根據(jù)當(dāng)前需求需要選用原文件時(shí),則可以直接打開原文件。
在本實(shí)施例中,對(duì)導(dǎo)入的三維模型原文件進(jìn)行分析處理時(shí),如果確定三維模型原文件包含未丟失的貼圖文件時(shí),還包括將貼圖文件進(jìn)行保留處理,并將保留的貼圖文件與代理文件以及三維模型原文件進(jìn)行關(guān)聯(lián)存儲(chǔ);
此時(shí)上述S103基于得到的素模文件生成代理文件包括:
根據(jù)得到的素模文件和貼圖文件生成代理文件。
本實(shí)施例中,S102中對(duì)所導(dǎo)入的三維模型原文件進(jìn)行分析處理得到素模文件時(shí),還可包括對(duì)素模文件中各物體按照預(yù)設(shè)的物體命名規(guī)則統(tǒng)一重新命令。
本實(shí)施例中,在導(dǎo)入三維模型原文件后,可以對(duì)該三維模型原文件包含的內(nèi)容按著預(yù)設(shè)規(guī)則進(jìn)行分類,例如風(fēng)景、建筑、機(jī)械、人物等,同時(shí)對(duì)于不同的類別可以預(yù)設(shè)對(duì)應(yīng)的存儲(chǔ)路徑,這樣S104中可以將三維模型文件分類存儲(chǔ)。
另外,本實(shí)施例中,如果確定三維模型原文件包含未丟失的貼圖文件時(shí),將貼圖文件進(jìn)行保留處理包括但不限于:
將各貼圖文件也按照預(yù)設(shè)的貼圖文件命名規(guī)則統(tǒng)一命名后,按照上述存儲(chǔ)路徑與代理文件以及三維模型原文件進(jìn)行關(guān)聯(lián)存儲(chǔ),以便于后續(xù)調(diào)用。
在本實(shí)施例中,S102中得到素模文件后,還包括對(duì)素模文件的屬性參數(shù)進(jìn)行提取保存的過程,具體參見圖2所示,包括:
S201:提取素模文件的屬性參數(shù);
S202:根據(jù)提取的屬性參數(shù)生成包含屬性參數(shù)的開源參數(shù)文件,例如obj格式等;
S203:將開源參數(shù)文件與代理文件以及三維模型原文件進(jìn)行關(guān)聯(lián)存儲(chǔ),此時(shí)也當(dāng)關(guān)聯(lián)存儲(chǔ)有貼圖文件時(shí),則與貼圖文件也關(guān)聯(lián)存儲(chǔ)。
在本實(shí)施例中,為了解決現(xiàn)有三維模型文件都只是一個(gè)單純的文件,沒有任何的三維模型介紹,用戶在使用三維模型的時(shí)候,要么通過文件名稱來粗略的判斷模型的內(nèi)容,要么只能一個(gè)一個(gè)模型打開來查看模型的內(nèi)容的問題,還對(duì)三維模型文件進(jìn)行圖像幀提取以生成該三維模型文件的縮略圖,這樣用戶可以直接通過縮略圖快速、準(zhǔn)確的獲取到三維模型文件內(nèi)包含的內(nèi)容,可以進(jìn)一步簡(jiǎn)化操作流程和提升操作效率,進(jìn)而提升用戶體驗(yàn)的滿意度。
對(duì)三維模型文件進(jìn)行圖像幀提取以生成該三維模型文件的縮略圖的方式包括但不限于以下兩種方式:
方式一:在S102中的對(duì)三維模型原文件進(jìn)行分析處理之前,參見圖3所示,包括:
S301:截取三維模型原文件沿預(yù)設(shè)單軸的至少兩個(gè)旋轉(zhuǎn)角度的圖像幀得到三維模型原文件的縮略圖。
例如:將三維模型原文件沿預(yù)設(shè)X軸、Y軸、或者Z軸,按預(yù)設(shè)方向旋轉(zhuǎn)。預(yù)設(shè)間隔角度為1度,預(yù)設(shè)角度為360度。每當(dāng)三維模型旋轉(zhuǎn)過1度時(shí),截取三維模型原文件在當(dāng)前旋轉(zhuǎn)角度的圖像幀,直至三維模型旋轉(zhuǎn)過360度。如此,在本舉例中,獲得三維模型在360度范圍內(nèi),每隔1度旋轉(zhuǎn)后的圖像幀。
例如,向三維引擎輸入?yún)?shù),參數(shù)包括:預(yù)設(shè)單軸((X軸、Y軸或Z軸)、預(yù)設(shè)方向(向右旋轉(zhuǎn)或向左旋轉(zhuǎn))、預(yù)設(shè)間隔角度和預(yù)設(shè)角度,三維引擎按輸入?yún)?shù)截取圖像幀,并按截取順序?qū)D像幀編號(hào)。
S302:對(duì)截取到的多個(gè)圖像幀與代理文件以及三維模型原文件進(jìn)行關(guān)聯(lián)存儲(chǔ)。
方式二:在S102對(duì)三維模型原文件進(jìn)行分析處理之后,參見圖4所示,包括:
S401:截取對(duì)三維模型原文件進(jìn)行分析處理之后的三維模型文件沿預(yù)設(shè)單軸的至少兩個(gè)旋轉(zhuǎn)角度的圖像幀。
S402:對(duì)截取到的多個(gè)圖像幀進(jìn)行渲染處理生成縮略圖。
S403:將縮略圖與代理文件以及三維模型原文件進(jìn)行關(guān)聯(lián)存儲(chǔ)。
在采用方式二生成縮略圖時(shí),對(duì)截取到的多個(gè)圖像幀進(jìn)行渲染處理生成縮略圖包括:
對(duì)于每一圖像幀從預(yù)設(shè)的場(chǎng)景渲染庫中選擇對(duì)應(yīng)的場(chǎng)景對(duì)該圖像幀進(jìn)行渲染;本實(shí)施例中的場(chǎng)景渲染庫中包含多種渲染場(chǎng)景,以便于用戶根據(jù)當(dāng)前需求靈活選擇設(shè)定。
可見,通過本實(shí)施例提供的處理方法對(duì)三維模型文件處理后,可以將三維模型原文件、對(duì)應(yīng)的代理文件、貼圖文件、開源參數(shù)文件、以及縮略圖進(jìn)行關(guān)聯(lián)存儲(chǔ)。另外,在本實(shí)施例中,還可獲取包含三維模型文件詳細(xì)參數(shù)的屬性參數(shù)以生成參數(shù)展示文件,并將得到的參數(shù)展示文件與代理文件和三維模型原文件等進(jìn)行關(guān)聯(lián)存儲(chǔ),該詳細(xì)參數(shù)包括但不限于:三維模型的長(zhǎng)度、寬度、高度;三維模型的使用軟件、軟件版本;三維模型的頂點(diǎn)數(shù)、面數(shù);三維模型是否包含貼圖、燈光、相機(jī)、動(dòng)畫、骨骼;三維模型使用的渲染器和渲染器版本;三維模型的文件格式和伽瑪(gamma)值等。因此,本實(shí)施例提供的三維模型文件處理方法至少具備以下優(yōu)點(diǎn):
1.使用上的便捷:不僅提供素模文件,還可同時(shí)提供縮略圖的顯示以及三維模型的具體參數(shù),更方便用戶的快速判斷、選擇及使用。
2.存儲(chǔ)和命名的規(guī)范化:包括貼圖文件,素模文件等都按規(guī)范的規(guī)則進(jìn)行命名和存儲(chǔ),一目了然的瀏覽。
3.多樣的場(chǎng)景渲染選擇:不同的三維模型應(yīng)用于不同場(chǎng)景,如室內(nèi)、室外,能更好的體現(xiàn)出三維模型的特點(diǎn)。
應(yīng)當(dāng)理解的是,本實(shí)施例中的上述三維模型文件的處理過程可以在客戶端上實(shí)現(xiàn),當(dāng)然也不排除在網(wǎng)絡(luò)端的服務(wù)器上進(jìn)行處理。
實(shí)施例二:
本實(shí)施例提供了一種三維模型文件上傳方法,先按照實(shí)施例一所示的三維模型文件處理方法對(duì)待上傳三維模型文件進(jìn)行處理得到處理后的文件,然后將得到的所述處理后的文件上傳至網(wǎng)絡(luò)端;網(wǎng)絡(luò)端的服務(wù)器可以根據(jù)預(yù)設(shè)的存儲(chǔ)規(guī)則對(duì)接收到的文件進(jìn)行存儲(chǔ),例如可以采用分布式存儲(chǔ)規(guī)則進(jìn)行存儲(chǔ)。具體的存儲(chǔ)控制規(guī)則在本實(shí)施例中不再贅述。
下面以對(duì)一個(gè)三維模型文件上傳的完整處理過程進(jìn)行示例說明,參見圖5所示,包括:
S501:導(dǎo)入待上傳的三維模型原文件,并確定該三維模型原文件在本地的存儲(chǔ)類別以及對(duì)應(yīng)的存儲(chǔ)路徑。
S502:對(duì)所導(dǎo)入的三維模型原文件進(jìn)行分析處理得到素模文件,并在其包含未丟失的貼圖時(shí)的到對(duì)應(yīng)的貼圖。
該步驟包括但不限于清除一些不必要的元素,如相機(jī)、燈光、空?qǐng)D層、丟失的貼圖文件、空物體、XRef結(jié)構(gòu)、container結(jié)構(gòu)、VRaymesh物體、場(chǎng)景垃圾內(nèi)存等。
S503:按照預(yù)設(shè)的物體命名規(guī)則對(duì)素模文件中的各物體進(jìn)行統(tǒng)一命名。
S504:獲取三維模型的屬性參數(shù)以生成參數(shù)展示文件,包括但不限于三維模型的長(zhǎng)度、寬度、高度;三維模型的使用軟件、軟件版本;三維模型的頂點(diǎn)數(shù)、面數(shù);三維模型是否包含貼圖、燈光、相機(jī)、動(dòng)畫、骨骼;三維模型使用的渲染器和渲染器版本;三維模型的文件格式和gamma值等。
S505:對(duì)貼圖文件按照預(yù)設(shè)的貼圖命名規(guī)則進(jìn)行統(tǒng)一命名,并指定對(duì)應(yīng)的存儲(chǔ)路徑。
S506:截取對(duì)三維模型原文件進(jìn)行分析處理之后的三維模型文件沿預(yù)設(shè)單軸的至少兩個(gè)旋轉(zhuǎn)角度的圖像幀。
S507:對(duì)截取到的多個(gè)圖像幀進(jìn)行渲染處理生成縮略圖。
S508:提取素模文件的屬性參數(shù),根據(jù)提取的屬性參數(shù)生成包含屬性參數(shù)的開源參數(shù)文件。
S509:將三維模型原文件、對(duì)應(yīng)的代理文件、貼圖文件、開源參數(shù)文件、參數(shù)展示文件以及縮略圖按照預(yù)設(shè)格式進(jìn)行關(guān)聯(lián)存儲(chǔ)。
S510:將關(guān)聯(lián)存儲(chǔ)的三維模型原文件、對(duì)應(yīng)的代理文件、貼圖文件、開源參數(shù)文件、參數(shù)展示文件以及縮略圖上傳至網(wǎng)絡(luò)端。這樣網(wǎng)絡(luò)端的服務(wù)器可以根據(jù)參數(shù)展示文件(例如ini)對(duì)三維模型文件的相關(guān)參數(shù)進(jìn)行展示以供用戶只管選擇,并可根據(jù)發(fā)送的展示指令調(diào)用對(duì)應(yīng)的縮略圖進(jìn)行縮略圖展示以便用戶對(duì)內(nèi)容進(jìn)行進(jìn)一步瀏覽和判斷,還可提供單項(xiàng)下載任務(wù)以便用戶單獨(dú)選擇下載代理文件、貼圖文件、三維模型原文件等,也可以提供打包下載功能以便用戶直接打包下載等等。當(dāng)然,在用戶進(jìn)行上述下載之前可先對(duì)用戶進(jìn)行鑒權(quán)處理,以判斷用戶身份是否合法和/或用戶是否有購(gòu)買相關(guān)服務(wù)從而是否具有下載權(quán)限等等。
實(shí)施例三:
本實(shí)施例提供了一種客戶端,參見圖6所示,包括:
文件導(dǎo)入模塊61,用于導(dǎo)入待處理的三維模型原文件。本實(shí)施例中的三維模型原文件是指生成好的未經(jīng)處理的三維模型文件,其可以本地文件,也可以來自其他終端或網(wǎng)絡(luò)的文件,甚至可以是本地使用同一軟件生成好的三維模型文件,然后直接轉(zhuǎn)入文件處理界面,此時(shí)的導(dǎo)入動(dòng)作則是轉(zhuǎn)入文件處理界面的切換動(dòng)作。
處理模塊62,用于對(duì)三維模型原文件進(jìn)行分析處理得到素模文件。一般情況下三維模型文件都包含素模文件,也即該素模文件是三維模型文件中的必要元素。處理模塊62得到素模文件的方式包括但不限于以下兩種:
方式一:從三維模型原文件中直接摘取出素模文件;
方式二:將三維模型原文件中的非必要元素刪除,例如:對(duì)三維模型原文件進(jìn)行元素分析,并將落入預(yù)設(shè)待刪除元素范圍的元素進(jìn)行刪除;
本實(shí)施例中的預(yù)設(shè)待刪除元素范圍包括但不限于相機(jī)、燈光、空?qǐng)D層、丟失的貼圖文件、空物體、參照(XRef)結(jié)構(gòu)、容器(container)結(jié)構(gòu)、代理(VRaymesh)物體、場(chǎng)景垃圾內(nèi)存。
應(yīng)當(dāng)理解的是,當(dāng)前主流的三維模型文件都是經(jīng)過加密處理的,須通過對(duì)應(yīng)的軟件才能打開。因此本實(shí)施例中可以預(yù)先存儲(chǔ)各種三維模型文件所對(duì)應(yīng)的軟件插件(可包含對(duì)未經(jīng)加密處理的三維模型文件進(jìn)行打開的軟件插件),然后在將三維模型文件導(dǎo)入后,處理模塊62可以對(duì)其文件的后綴進(jìn)行分析并調(diào)用對(duì)應(yīng)的軟件插件進(jìn)行打開分析。
代理文件生成模塊63,用于基于素模文件生成代理文件;生成代理文件的方式可以采用現(xiàn)有各種三維軟件生成代理文件的方式,在此也不再進(jìn)行贅述。
存儲(chǔ)控制模塊64,用于將代理文件與三維模型原文件進(jìn)行關(guān)聯(lián)存儲(chǔ)。當(dāng)用戶需要使用該三維模型文件時(shí),則可以直接獲取到對(duì)應(yīng)的素模文件和原文件,當(dāng)用戶需要進(jìn)行重新編輯時(shí),則可直接選用素模文件以避免進(jìn)行非必要元素的刪除處理,簡(jiǎn)化操作流程以及處理時(shí)間,同時(shí)用戶還可打開原文件以做參考。對(duì)應(yīng)的,當(dāng)用戶根據(jù)當(dāng)前需求需要選用原文件時(shí),則可以直接打開原文件,可進(jìn)一步提升用戶體驗(yàn)的滿意度。
應(yīng)當(dāng)理解的是,本實(shí)施例的上述各模塊的功能可以由客戶端的處理器實(shí)現(xiàn)。
在本實(shí)施例中,處理模塊62對(duì)導(dǎo)入的三維模型原文件進(jìn)行分析處理時(shí),如果確定三維模型原文件包含未丟失的貼圖文件時(shí),還包括將貼圖文件進(jìn)行保留處理,并將保留的貼圖文件與代理文件以及三維模型原文件進(jìn)行關(guān)聯(lián)存儲(chǔ),具體包括將各貼圖文件也按照預(yù)設(shè)的貼圖文件命名規(guī)則統(tǒng)一命名后,按照上述存儲(chǔ)路徑與代理文件以及三維模型原文件進(jìn)行關(guān)聯(lián)存儲(chǔ),以便于后續(xù)調(diào)用。
此時(shí)代理文件生成模塊63基于得到的素模文件生成代理文件包括:根據(jù)得到的素模文件和貼圖文件生成代理文件。
本實(shí)施例中,處理模塊62中對(duì)所導(dǎo)入的三維模型原文件進(jìn)行分析處理得到素模文件時(shí),還可包括對(duì)素模文件中各物體按照預(yù)設(shè)的物體命名規(guī)則統(tǒng)一重新命令。
本實(shí)施例中,文件導(dǎo)入模塊61在導(dǎo)入三維模型原文件后,可以對(duì)該三維模型原文件包含的內(nèi)容按著預(yù)設(shè)規(guī)則進(jìn)行分類,例如風(fēng)景、建筑、機(jī)械、人物等,同時(shí)對(duì)于不同的類別可以預(yù)設(shè)對(duì)應(yīng)的存儲(chǔ)路徑,這樣存儲(chǔ)控制模塊64可以將三維模型文件分類存儲(chǔ)。
在本實(shí)施例中,處理模塊62中得到素模文件后,還用于對(duì)素模文件的屬性參數(shù)進(jìn)行提取保存,包括:
處理模塊62提取素模文件的屬性參數(shù);
根據(jù)提取的屬性參數(shù)生成包含屬性參數(shù)的開源參數(shù)文件,例如obj格式等;
將開源參數(shù)文件與代理文件以及三維模型原文件進(jìn)行關(guān)聯(lián)存儲(chǔ),此時(shí)也當(dāng)關(guān)聯(lián)存儲(chǔ)有貼圖文件時(shí),則與貼圖文件也關(guān)聯(lián)存儲(chǔ)。
在本實(shí)施例中,為了解決現(xiàn)有三維模型文件都只是一個(gè)單純的文件,沒有任何的三維模型介紹,用戶在使用三維模型的時(shí)候,要么通過文件名稱來粗略的判斷模型的內(nèi)容,要么只能一個(gè)一個(gè)模型打開來查看模型的內(nèi)容的問題,客戶端還對(duì)三維模型文件進(jìn)行圖像幀提取以生成該三維模型文件的縮略圖,這樣用戶可以直接通過縮略圖快速、準(zhǔn)確的獲取到三維模型文件內(nèi)包含的內(nèi)容,可以進(jìn)一步簡(jiǎn)化操作流程和提升操作效率,進(jìn)而提升用戶體驗(yàn)的滿意度。
在一種示例中,參見圖7-1所示,客戶端還包括:
第一圖形獲取模塊65,用于在對(duì)三維模型原文件進(jìn)行分析處理之前,截取三維模型原文件沿預(yù)設(shè)單軸的至少兩個(gè)旋轉(zhuǎn)角度的圖像幀得到所述三維模型原文件的縮略圖;
存儲(chǔ)控制模塊64還用于將多個(gè)圖像幀與所述代理文件以及所述三維模型原文件進(jìn)行關(guān)聯(lián)存儲(chǔ)。
在另一示例中,參見圖7-2所示,客戶端還包括:
第二圖形獲取模塊66,用于在處理模塊62對(duì)三維模型原文件進(jìn)行分析處理之后,截取對(duì)三維模型原文件進(jìn)行分析處理之后的三維模型文件沿預(yù)設(shè)單軸的至少兩個(gè)旋轉(zhuǎn)角度的圖像幀;
縮略圖生成模塊67,用于對(duì)多個(gè)圖像幀進(jìn)行渲染處理生成縮略圖;
存儲(chǔ)控制模塊64還用于將所述縮略圖與所述代理文件以及三維模型原文件進(jìn)行關(guān)聯(lián)存儲(chǔ)。
縮略圖生成模塊對(duì)截取到的多個(gè)圖像幀進(jìn)行渲染處理生成縮略圖包括:
縮略圖生成模塊對(duì)于每一圖像幀從預(yù)設(shè)的場(chǎng)景渲染庫中選擇對(duì)應(yīng)的場(chǎng)景對(duì)該圖像幀進(jìn)行渲染;本實(shí)施例中的場(chǎng)景渲染庫中包含多種渲染場(chǎng)景,以便于用戶根據(jù)當(dāng)前需求靈活選擇設(shè)定。
可見,通過本實(shí)施例提供的處理方法對(duì)三維模型文件處理后,可以將三維模型原文件、對(duì)應(yīng)的代理文件、貼圖文件、開源參數(shù)文件、以及縮略圖進(jìn)行關(guān)聯(lián)存儲(chǔ)。另外,在本實(shí)施例中,處理模塊62還可獲取包含三維模型文件詳細(xì)參數(shù)的屬性參數(shù)以生成參數(shù)展示文件,并將得到的參數(shù)展示文件與代理文件和三維模型原文件等進(jìn)行關(guān)聯(lián)存儲(chǔ)。因此,本實(shí)施例客戶端不僅提供素模文件,還可同時(shí)提供縮略圖的顯示以及三維模型的具體參數(shù),更方便用戶的快速判斷、選擇及使用。同時(shí)客戶端將存儲(chǔ)和命名的規(guī)范化:包括貼圖文件,素模文件等都按規(guī)范的規(guī)則進(jìn)行命名和存儲(chǔ),一目了然的瀏覽。另外,客戶端還提供多樣的場(chǎng)景渲染選擇:不同的三維模型應(yīng)用于不同場(chǎng)景,如室內(nèi)、室外,能更好的體現(xiàn)出三維模型的特點(diǎn)。
實(shí)施例四:
圖8所示為本實(shí)施例提供的一種客戶端硬件結(jié)構(gòu)示意圖。該客戶端包括輸入輸出(IO)總線83、處理器81、電源82、存儲(chǔ)器84,其中:
第一輸入輸出(IO)總線83分別與自身所屬的用戶設(shè)備的其它部件(例如處理器81、電源82、存儲(chǔ)器84)連接,并且為其它部件提供傳送線路。
電源82用于為各部件提供工作所需的電能,應(yīng)當(dāng)理解的是本實(shí)施例中的電源82也可以是外置電源。例如當(dāng)客戶端為臺(tái)式計(jì)算機(jī)時(shí),其電源就是外置電源。圖8中所示的電源82僅僅是一種示例。
處理器81通??刂谱陨硭鶎俚挠脩粼O(shè)備的總體操作。例如,處理器81執(zhí)行計(jì)算和確認(rèn)等操作。其中,處理器81可以是中央處理器(CPU)。
存儲(chǔ)器84存儲(chǔ)處理器81可讀、處理器81可執(zhí)行的軟件代碼,其包含用于控制處理器81執(zhí)行本文描述的三維模型文件導(dǎo)入控制方法的代碼,也包括各三維軟件的代碼。存儲(chǔ)器84可以包括至少一種類型的存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)包括閃存、硬盤、多媒體卡、卡型存儲(chǔ)器(例如,SD或DX存儲(chǔ)器等等)、隨機(jī)訪問存儲(chǔ)器(RAM)、靜態(tài)隨機(jī)訪問存儲(chǔ)器(SRAM)、只讀存儲(chǔ)器(ROM)、電可擦除可編程只讀存儲(chǔ)器(EEPROM)、可編程只讀存儲(chǔ)器(PROM)、磁性存儲(chǔ)器、磁盤、光盤等等。
本實(shí)施例中,處理器81具體用于通過輸入輸出(IO)總線83調(diào)用存儲(chǔ)器84中的代碼以用于執(zhí)行三維模型文件處理過程,包括調(diào)用該代碼實(shí)現(xiàn)導(dǎo)入待處理的三維模型原文件,然后對(duì)導(dǎo)入的三維模型原文件進(jìn)行分析處理得到該三維模型文件中的素模文件,也即構(gòu)成三維模型文件的必要文件,進(jìn)而基于得到的素模文件生成代理文件,將得到的代理文件與三維模型原文件進(jìn)行關(guān)聯(lián)存儲(chǔ)。這樣當(dāng)其他用戶獲取該三維模型文件進(jìn)行使用時(shí),如果需要對(duì)其中的類似燈光、相機(jī)等元素進(jìn)行調(diào)整時(shí),則可以直接使用關(guān)聯(lián)的代理文件,在素模文件基礎(chǔ)上進(jìn)行對(duì)應(yīng)的編輯即可,不需要先刪除非必要元素然后再執(zhí)行相關(guān)編輯,既能簡(jiǎn)化操作流程,又能節(jié)省時(shí)間,提升用戶體驗(yàn)滿意度。同時(shí),當(dāng)用戶需要使用原文件時(shí),則可以直接使用對(duì)應(yīng)三維模型原文件,能進(jìn)一步提升用戶體驗(yàn)的滿意度。
還包括對(duì)三維模型文件進(jìn)行圖像幀提取以生成該三維模型文件的縮略圖,這樣用戶可以直接通過縮略圖快速、準(zhǔn)確的獲取到三維模型文件內(nèi)包含的內(nèi)容,可以進(jìn)一步簡(jiǎn)化操作流程和提升操作效率,進(jìn)而提升用戶體驗(yàn)的滿意度。
具體控制過程參見上述各實(shí)施例所示,在此不再贅述。
應(yīng)當(dāng)理解的是,本實(shí)施例中的客戶端可以用于各種三維模型應(yīng)用領(lǐng)域,例如可以應(yīng)用于CG(Computer Graphics)行業(yè)的各種制作資產(chǎn),方便于CG行業(yè)統(tǒng)一管理CG制作過程中需要的各種資產(chǎn)文件,如模型、材質(zhì)、貼圖等。
請(qǐng)參見圖9所示的一種管理系統(tǒng),包括網(wǎng)絡(luò)管理端91(也即WEB端)和至少一個(gè)客戶端92,通過網(wǎng)絡(luò)管理端91和客戶端相結(jié)合的方式實(shí)現(xiàn)。網(wǎng)絡(luò)管理端91可負(fù)責(zé)資產(chǎn)的上傳、歸類、審核、展示及銷售;客戶端92即為CG制作者的工作終端(包括但不限于各種計(jì)算機(jī)),CG制作者可通過客戶端92對(duì)三維模型文件進(jìn)行制作、通過上述各實(shí)施例所示的處理過程進(jìn)行處理并上傳到網(wǎng)絡(luò)管理端,以供其他客戶端購(gòu)買、查看以及使用;也可以從網(wǎng)絡(luò)服務(wù)器上查看資產(chǎn)的信息及360度的細(xì)節(jié),并能快速的通過關(guān)鍵字搜索或是上傳圖片通過圖片搜索需要的資產(chǎn)進(jìn)而下載到本地或者直接在網(wǎng)絡(luò)上顯示,并可采用三維模型文件導(dǎo)入控制方法一鍵拖動(dòng)到如3DMAX等三維軟件中即可實(shí)時(shí)的在軟件中進(jìn)行導(dǎo)入處理并展示出資產(chǎn)的內(nèi)容。
在本實(shí)施例中,管理系統(tǒng)還可基于分布式的架構(gòu)開發(fā),網(wǎng)絡(luò)管理端91和客戶端92可通過中間消息服務(wù)傳遞數(shù)據(jù),資產(chǎn)文件分布式的存儲(chǔ)在不同的服務(wù)器上,客戶端92在接收資產(chǎn)信息數(shù)據(jù)的同時(shí),通過異步的方式或其他方式將資產(chǎn)相關(guān)的文件同步到本地電腦磁盤指定的存儲(chǔ)目錄(當(dāng)然也可以在需要時(shí)實(shí)時(shí)的從網(wǎng)絡(luò)側(cè)獲取),以保障系統(tǒng)在網(wǎng)絡(luò)聯(lián)機(jī)和脫機(jī)狀態(tài)下都能正常的使用,從而提升適用范圍,進(jìn)而提升用戶體驗(yàn)的滿意度。
以上內(nèi)容是結(jié)合具體的實(shí)施方式對(duì)本發(fā)明所作的進(jìn)一步詳細(xì)說明,不能認(rèn)定本發(fā)明的具體實(shí)施只局限于這些說明。對(duì)于本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡(jiǎn)單推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明的保護(hù)范圍。