本申請(qǐng)涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,特別涉及一種文件版本的識(shí)別方法及識(shí)別客戶(hù)端。
背景技術(shù):
隨著圖像處理技術(shù)的不斷發(fā)展,越來(lái)越多復(fù)雜的圖像數(shù)據(jù)都能夠被處理并在屏幕上渲染出來(lái)。當(dāng)前,進(jìn)行圖像處理的主流軟件可以包括3dsmax和maya。
現(xiàn)有的渲染文件可以通過(guò)3dsmax或maya中的插件進(jìn)行場(chǎng)景分析。在進(jìn)行場(chǎng)景分析時(shí),往往需要選擇與渲染文件的版本相一致的軟件。如果軟件的版本與渲染文件的版本不一致,則會(huì)導(dǎo)致分析失敗、渲染失敗,無(wú)法得到渲染文件想要展示的圖像效果。因此,對(duì)于渲染文件的版本進(jìn)行識(shí)別至關(guān)重要。
當(dāng)前,通??梢酝ㄟ^(guò)兩種方式對(duì)渲染文件的版本進(jìn)行識(shí)別。一種是通過(guò)人工識(shí)別的方式,逐一對(duì)每個(gè)渲染文件進(jìn)行識(shí)別。這種方式不僅識(shí)別效率較低,而且對(duì)識(shí)別人員的專(zhuān)業(yè)知識(shí)要求較高。另一種是通過(guò)抓取計(jì)算機(jī)上所有軟件的版本,并利用版本最高的軟件通過(guò)命令行的方式分析渲染文件的真實(shí)版本。這種方式存在以下缺陷:
當(dāng)渲染文件的版本高于計(jì)算機(jī)中軟件的最高版本時(shí),最高版本的軟件則無(wú)法打開(kāi)渲染文件。在無(wú)法打開(kāi)渲染文件的情況下就無(wú)法對(duì)渲染文件的版本進(jìn)行識(shí)別。當(dāng)渲染文件的版本低于于計(jì)算機(jī)中軟件的最高版本時(shí),由于是通過(guò)命令行分析,最高版本的軟件勢(shì)必會(huì)打開(kāi)該渲染文件。然而當(dāng)渲染文件比較復(fù)雜時(shí),打開(kāi)的時(shí)間通常會(huì)在十幾分鐘乃至半個(gè)小時(shí),占用的內(nèi)存也十分巨大,這就造成了嚴(yán)重的資源浪費(fèi),識(shí)別的效率也很低。
應(yīng)該注意,上面對(duì)技術(shù)背景的介紹只是為了方便對(duì)本申請(qǐng)的技術(shù)方案進(jìn)行清楚、完整的說(shuō)明,并方便本領(lǐng)域技術(shù)人員的理解而闡述的。不能僅僅因?yàn)檫@些方案在本申請(qǐng)的背景技術(shù)部分進(jìn)行了闡述而認(rèn)為上述技術(shù)方案為本領(lǐng)域技術(shù)人員所公知。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)實(shí)施方式的目的在于提供一種文件版本的識(shí)別方法及識(shí)別客戶(hù)端,能夠提供版本識(shí)別的效率。
為實(shí)現(xiàn)上述目的,本申請(qǐng)一方面提供一種文件版本的識(shí)別方法,所述方法包括:基于預(yù)先加載的渲染插件檢測(cè)當(dāng)前是否有待識(shí)別文件輸入;當(dāng)檢測(cè)到有待識(shí)別文件輸入時(shí),確定所述待識(shí)別文件的類(lèi)型;確定與所述待識(shí)別文件的類(lèi)型相匹配的識(shí)別規(guī)則;根據(jù)所述識(shí)別規(guī)則,識(shí)別出所述待識(shí)別文件的版本信息。
進(jìn)一步地,基于預(yù)先加載的渲染插件檢測(cè)當(dāng)前是否有待識(shí)別文件輸入具體包括:利用預(yù)先加載的Local Render插件檢測(cè)是否發(fā)生預(yù)設(shè)事件,所述預(yù)設(shè)事件與輸入待識(shí)別文件的行為相關(guān)聯(lián)。
進(jìn)一步地,確定所述待識(shí)別文件的類(lèi)型具體包括:提取所述待識(shí)別文件的擴(kuò)展名,并根據(jù)提取的所述擴(kuò)展名確定所述待識(shí)別文件的類(lèi)型。
進(jìn)一步地,識(shí)別出所述待識(shí)別文件的版本信息具體包括:利用預(yù)設(shè)接口函數(shù)從所述待識(shí)別文件中讀取關(guān)鍵字信息,并從所述關(guān)鍵字信息中提取版本信息。
進(jìn)一步地,利用預(yù)設(shè)接口函數(shù)從所述待識(shí)別文件中讀取關(guān)鍵字信息具體包括:當(dāng)所述待識(shí)別文件的類(lèi)型為maya文本格式時(shí),讀取包含requires maya字符信息的關(guān)鍵字信息;當(dāng)所述待識(shí)別文件的類(lèi)型為maya二進(jìn)制格式時(shí),讀取包含UVER字符信息的關(guān)鍵字信息。
進(jìn)一步地,所述方法還包括:當(dāng)所述待識(shí)別文件的類(lèi)型為3dsmax格式文件時(shí),對(duì)所述待識(shí)別文件進(jìn)行解壓縮,并從解壓縮后的文件中讀取包含3dsMaxVersion字符信息的關(guān)鍵字信息。
進(jìn)一步地,從所述關(guān)鍵字信息中提取版本信息具體包括:從所述關(guān)鍵字信息中識(shí)別特征字符,并將所述特征字符之后的字符串作為版本信息。
進(jìn)一步地,在識(shí)別出所述待識(shí)別文件的版本信息之后,所述方法還包括:利用預(yù)先加載的Local Render插件調(diào)用與識(shí)別出的版本信息相匹配的渲染軟件,并利用所述渲染軟件對(duì)所述待識(shí)別文件進(jìn)行場(chǎng)景分析。
為實(shí)現(xiàn)上述目的,本申請(qǐng)另一方面還提供一種文件版本的識(shí)別客戶(hù)端,所述客戶(hù)端包括:文件檢測(cè)單元,用于基于預(yù)先加載的渲染插件檢測(cè)當(dāng)前是否有待識(shí)別文件輸入;文件類(lèi)型確定單元,用于當(dāng)檢測(cè)到有待識(shí)別文件輸入時(shí),確定所述待識(shí)別文件的類(lèi)型;識(shí)別規(guī)則確定單元,用于確定與所述待識(shí)別文件的類(lèi)型相匹配的識(shí)別規(guī)則;版本信息識(shí)別單元,用于根據(jù)所述識(shí)別規(guī)則,識(shí)別出所述待識(shí)別文件的版本信息。
進(jìn)一步地,所述文件檢測(cè)單元包括:事件檢測(cè)模塊,用于利用預(yù)先加載的Local Render插件檢測(cè)是否發(fā)生預(yù)設(shè)事件,所述預(yù)設(shè)事件與輸入待識(shí)別文件的行為相關(guān)聯(lián)。
由以上本申請(qǐng)實(shí)施方式提供的技術(shù)方案可見(jiàn),本申請(qǐng)避免使用命令行來(lái)進(jìn)行版本識(shí)別,而是根據(jù)待識(shí)別文件的類(lèi)型確定相匹配的識(shí)別規(guī)則,并基于匹配出的識(shí)別規(guī)則識(shí)別出所述待識(shí)別文件的版本信息。這樣,在對(duì)所述待識(shí)別文件進(jìn)行識(shí)別時(shí),無(wú)需依賴(lài)計(jì)算機(jī)中安裝的軟件,同時(shí)也避免了打開(kāi)待識(shí)別文件所耗費(fèi)的時(shí)間和所占用的資源,從而能夠提高版本識(shí)別的效率。
參照后文的說(shuō)明和附圖,詳細(xì)公開(kāi)了本申請(qǐng)的特定實(shí)施方式,指明了本申請(qǐng)的原理可以被采用的方式。應(yīng)該理解,本申請(qǐng)的實(shí)施方式在范圍上并不因而受到限制。在所附權(quán)利要求的精神和條款的范圍內(nèi),本申請(qǐng)的實(shí)施方式包括許多改變、修改和等同。
針對(duì)一種實(shí)施方式描述和/或示出的特征可以以相同或類(lèi)似的方式在一個(gè)或更多個(gè)其它實(shí)施方式中使用,與其它實(shí)施方式中的特征相組合,或替代其它實(shí)施方式中的特征。
應(yīng)該強(qiáng)調(diào),術(shù)語(yǔ)“包括/包含”在本文使用時(shí)指特征、整件、步驟或組件的存在,但并不排除一個(gè)或更多個(gè)其它特征、整件、步驟或組件的存在或附加。
附圖說(shuō)明
所包括的附圖用來(lái)提供對(duì)本申請(qǐng)實(shí)施方式的進(jìn)一步的理解,其構(gòu)成了說(shuō)明書(shū)的一部分,用于例示本申請(qǐng)的實(shí)施方式,并與文字描述一起來(lái)闡釋本申請(qǐng)的原理。顯而易見(jiàn)地,下面描述中的附圖僅僅是本申請(qǐng)的一些實(shí)施方式,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。在附圖中:
圖1為本申請(qǐng)一個(gè)實(shí)施方式提供的文件版本識(shí)別方法的流程圖;
圖2為本申請(qǐng)一個(gè)實(shí)施方式提供的識(shí)別客戶(hù)端的功能模塊圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本申請(qǐng)中的技術(shù)方案,下面將結(jié)合本申請(qǐng)實(shí)施方式中的附圖,對(duì)本申請(qǐng)實(shí)施方式中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施方式僅僅是本申請(qǐng)一部分實(shí)施方式,而不是全部的實(shí)施方式?;诒旧暾?qǐng)中的實(shí)施方式,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施方式,都應(yīng)當(dāng)屬于本申請(qǐng)保護(hù)的范圍。
本申請(qǐng)?zhí)峁┮环N文件版本的識(shí)別方法。圖1為本申請(qǐng)一個(gè)實(shí)施方式提供的文件版本識(shí)別方法的流程圖。雖然下文描述流程包括以特定順序出現(xiàn)的多個(gè)操作,但是應(yīng)該清楚了解,這些過(guò)程可以包括更多或更少的操作,這些操作可以順序執(zhí)行或并行執(zhí)行(例如使用并行處理器或多線程環(huán)境)。請(qǐng)參閱圖1,所述方法可以包括以下步驟。
步驟S1:基于預(yù)先加載的渲染插件檢測(cè)當(dāng)前是否有待識(shí)別文件輸入。
在本實(shí)施方式中,可以通過(guò)渲染客戶(hù)端對(duì)待識(shí)別文件進(jìn)行識(shí)別。所述渲染客戶(hù)端可以是具備數(shù)據(jù)處理和數(shù)據(jù)存儲(chǔ)的硬件設(shè)備以及支持所述硬件設(shè)備進(jìn)行正常運(yùn)作的軟件的集合體。在所述渲染客戶(hù)端中,可以預(yù)先加載渲染插件。在本實(shí)施方式中,所述渲染插件可以包括所述渲染客戶(hù)端中集成的本地插件,也可是包括3dsmax插件和maya插件。所述渲染插件可以中可以包括預(yù)設(shè)數(shù)量的函數(shù),其中各個(gè)函數(shù)均可以執(zhí)行不同的操作。這樣,通過(guò)調(diào)用渲染插件中的函數(shù),便可以對(duì)待識(shí)別文件進(jìn)行各種處理。
在本實(shí)施方式中,加載所述渲染插件的時(shí)機(jī)可以是渲染客戶(hù)端剛開(kāi)始啟動(dòng)時(shí),也可以是在渲染客戶(hù)端認(rèn)證了用戶(hù)的身份之后。這樣,在對(duì)待識(shí)別文件進(jìn)行識(shí)別之前,所述渲染客戶(hù)端中便可以具備了加載好的渲染插件。
在本實(shí)施方式中,所述待識(shí)別文件可以輸入所述渲染客戶(hù)端中,從而經(jīng)過(guò)所述渲染客戶(hù)端對(duì)所述待識(shí)別文件進(jìn)行版本識(shí)別。具體地,在本實(shí)施方式中,所述待識(shí)別文件可以是被用戶(hù)通過(guò)鼠標(biāo)點(diǎn)擊等方式拖入所述渲染客戶(hù)端中的,也可以是所述渲染客戶(hù)端根據(jù)預(yù)先獲取的存儲(chǔ)路徑,從所述存儲(chǔ)路徑下讀取的。
在本實(shí)施方式中,當(dāng)所述待識(shí)別文件輸入所述渲染客戶(hù)端中時(shí),所述渲染客戶(hù)端中會(huì)建立與輸入所述待識(shí)別文件的行為相對(duì)應(yīng)的事件。所述事件可以為所述渲染客戶(hù)端中的一個(gè)進(jìn)程,可以通過(guò)日志的方式保存于預(yù)設(shè)的臨時(shí)存儲(chǔ)空間中。在本實(shí)施方式中,可以通過(guò)對(duì)該事件進(jìn)行檢測(cè),從而檢測(cè)當(dāng)前是否有待識(shí)別文件輸入。
在本實(shí)施方式中,在所述渲染客戶(hù)端中預(yù)先加載的渲染插件可以檢測(cè)當(dāng)前是否有待識(shí)別文件輸入。具體地,所述渲染插件中可以包括Local Render插件,可以利用Local Render插件檢測(cè)是否發(fā)生預(yù)設(shè)事件,所述預(yù)設(shè)事件與輸入待識(shí)別文件的行為相關(guān)聯(lián)。當(dāng)檢測(cè)到所述預(yù)設(shè)事件時(shí),便可以確定當(dāng)前有待識(shí)別文件輸入;否則表明當(dāng)前沒(méi)有待識(shí)別文件輸入。在本實(shí)施方式中,所述Local Render插件可以檢索所述臨時(shí)存儲(chǔ)空間中的各個(gè)事件名稱(chēng),當(dāng)檢測(cè)到與輸入待識(shí)別文件的行為相對(duì)應(yīng)的事件名稱(chēng)時(shí),則可以確定當(dāng)前有待識(shí)別文件輸入。
步驟S2:當(dāng)檢測(cè)到有待識(shí)別文件輸入時(shí),確定所述待識(shí)別文件的類(lèi)型。
在本實(shí)施方式中,所述待識(shí)別文件可以是3dsmax文件,也可以是maya文件。針對(duì)不同類(lèi)型的文件,需要采用不同的識(shí)別方式。因此,在本實(shí)施方式中,在對(duì)所述待識(shí)別文件進(jìn)行版本識(shí)別之前,可以確定所述待識(shí)別文件的類(lèi)型。
在本實(shí)施方式中,所述待識(shí)別文件可以具備文件名,所述文件名中可以包括主文件名和擴(kuò)展名。所述主文件名可以代表所述待識(shí)別文件的名稱(chēng),該主文件名可以是創(chuàng)建所述待識(shí)別文件時(shí)按照預(yù)設(shè)模板生成的,也可以是用戶(hù)進(jìn)行編輯的。所述擴(kuò)展名則代表所述待識(shí)別文件的類(lèi)型,一般來(lái)說(shuō),一旦擴(kuò)展名改變,所述待識(shí)別文件的類(lèi)型就會(huì)改變。在本實(shí)施方式中,可以根據(jù)所述擴(kuò)展名來(lái)確定所述待識(shí)別文件的類(lèi)型。
在本實(shí)施方式中,可以提取所述待識(shí)別文件的擴(kuò)展名,并根據(jù)提取的所述擴(kuò)展名確定所述待識(shí)別文件的類(lèi)型。具體地,可以依次辨別所述待識(shí)別文件的文件名中的各個(gè)字符,當(dāng)辨別出的字符為預(yù)設(shè)字符時(shí),將所述預(yù)設(shè)字符后的字符串確定為所述待識(shí)別文件的擴(kuò)展名。所述預(yù)設(shè)字符可以為主文件名和擴(kuò)展名之間的分隔符“.”。這樣,在提取出所述待識(shí)別文件的擴(kuò)展名之后,所述擴(kuò)展名代表的類(lèi)型便可以是所述待識(shí)別文件的類(lèi)型。
在本實(shí)施方式中,所述待識(shí)別文件的類(lèi)型可以包括maya文本格式文件、maya二進(jìn)制格式文件和3dsmax格式文件中的一種。
步驟S3:確定與所述待識(shí)別文件的類(lèi)型相匹配的識(shí)別規(guī)則,并根據(jù)所述識(shí)別規(guī)則,識(shí)別出所述待識(shí)別文件的版本信息。
在本實(shí)施方式中,根據(jù)不同的類(lèi)型,可以采用不同的識(shí)別規(guī)則來(lái)對(duì)所述待識(shí)別文件進(jìn)行識(shí)別。具體地,所述不同的識(shí)別規(guī)則與待識(shí)別文件的類(lèi)型之間可以通過(guò)鍵值對(duì)(key-value)的形式進(jìn)行存儲(chǔ)。其中,所述待識(shí)別文件的類(lèi)型可以作為鍵(key),與所述待識(shí)別文件的類(lèi)型相匹配的識(shí)別規(guī)則可以作為值(value),這樣便可以形成(類(lèi)型,識(shí)別規(guī)則)這樣的鍵值對(duì)。在本實(shí)施方式中,在所述鍵值對(duì)中存儲(chǔ)的可以是所述識(shí)別規(guī)則本身,也可以是所述識(shí)別規(guī)則的存儲(chǔ)路徑。
在本實(shí)施方式中,在確定得到所述待識(shí)別文件的類(lèi)型時(shí)候,可以查詢(xún)包含所述待識(shí)別文件的類(lèi)型的鍵值對(duì)。接著,可以將查詢(xún)得到的所述鍵值對(duì)中的識(shí)別規(guī)則提取出來(lái),以根據(jù)所述識(shí)別規(guī)則對(duì)所述待識(shí)別文件進(jìn)行版本識(shí)別。
在本實(shí)施方式中,所述待識(shí)別文件中可以按照預(yù)設(shè)格式記錄各種參數(shù)。所述參數(shù)例如可以包括文件的編碼方式、名稱(chēng)、最后修改日期、需求版本號(hào)等。這樣,可以通過(guò)預(yù)設(shè)接口函數(shù)從所述待識(shí)別文件中讀取關(guān)鍵字信息,并從所述關(guān)鍵字信息中提取版本信息。
在本實(shí)施方式中,所述預(yù)設(shè)接口函數(shù)例如可以是GetSceneVersion函數(shù),該函數(shù)可以讀取待識(shí)別文件的內(nèi)容,并從所述待識(shí)別文件的內(nèi)容中讀取包含待識(shí)別文件的需求版本號(hào)信息的關(guān)鍵字信息。具體地,當(dāng)所述待識(shí)別文件的類(lèi)型為maya文本格式時(shí),可以讀取包含requires maya字符信息的關(guān)鍵字信息。該關(guān)鍵字信息例如可以為requires maya“2009”。其中的2009則可以表示所述待識(shí)別文件需求的版本號(hào)。這樣,便可以從所述關(guān)鍵字信息中提取所述待識(shí)別文件的版本信息。
此外,當(dāng)所述待識(shí)別文件的類(lèi)型為maya二進(jìn)制格式時(shí),可以讀取包含UVER字符信息的關(guān)鍵字信息。所述包含UVER字符信息的關(guān)鍵字信息中同樣可以含有所述待識(shí)別文字的版本信息,從而可以從所述關(guān)鍵字信息中提取版本信息。
在本實(shí)施方式中,當(dāng)所述待識(shí)別文件的類(lèi)型為3dsmax格式文件時(shí),由于3dsmax格式文件為壓縮文件,因此首先需要對(duì)所述待識(shí)別文件進(jìn)行解壓縮。解壓縮后得到的文件從而可以被GetSceneVersion函數(shù)讀取。這樣,可以從解壓縮后的文件中讀取包含3dsMaxVersion字符信息的關(guān)鍵字信息。所述包含3dsMaxVersion字符信息的關(guān)鍵字信息中可以含有所述待識(shí)別文字的版本信息,所述版本信息可以處于3dsMaxVersion字符之后,從而可以從所述關(guān)鍵字信息中提取版本信息。
在本實(shí)施方式中,從所述關(guān)鍵字信息中提取版本信息的方式可以包括:從所述關(guān)鍵字信息中識(shí)別特征字符,并將所述特征字符之后的字符串作為版本信息。具體地,所述特征字符可以是上述的requires maya、UVER以及3dsMaxVersion字符。在所述特征字符之后往往可以跟隨表明版本信息的字符串。例如requires maya“2009”中,requires maya可以為所述特征字符,在requires maya之后的2009便可以為所述待識(shí)別文件的版本信息。
在本實(shí)施方式中,在從所述關(guān)鍵字信息中識(shí)別出特征字符之后,便可以將所述特征字符之后的字符串作為所述待識(shí)別文件的版本信息。具體地,可以從所述特征字符的下一位字符開(kāi)始讀取,一直讀取到所述關(guān)鍵字信息的末尾,從而可以將所述特征字符之后的字符串讀取出來(lái),并可以將讀取的內(nèi)容作為所述待識(shí)別文件的版本信息。
在本實(shí)施方式中,在從所述待識(shí)別文件中識(shí)別出版本信息之后,便可以根據(jù)所述版本信息,選用相匹配的渲染軟件對(duì)所述待識(shí)別文件進(jìn)行場(chǎng)景分析。具體地,在本實(shí)施方式中,可以利用預(yù)先加載的Local Render插件來(lái)調(diào)用與識(shí)別出的版本信息相匹配的渲染軟件,并利用所述渲染軟件對(duì)所述待識(shí)別文件進(jìn)行場(chǎng)景分析。其中,與識(shí)別出的版本信息相匹配可以指調(diào)用的渲染插件的版本與識(shí)別出的版本信息相一致。
由上可見(jiàn),在本實(shí)施方式中,并不需要先通過(guò)渲染軟件將所述待識(shí)別文件打開(kāi),而是可以直接通過(guò)預(yù)設(shè)接口函數(shù)讀取所述待識(shí)別文件的內(nèi)容,從而節(jié)省了打開(kāi)所述待識(shí)別文件所需的時(shí)間和所占用的資源。
本申請(qǐng)實(shí)施方式還提供一種文件版本的識(shí)別客戶(hù)端。請(qǐng)參閱圖2,所述客戶(hù)端可以包括:
文件檢測(cè)單元100,用于基于預(yù)先加載的渲染插件檢測(cè)當(dāng)前是否有待識(shí)別文件輸入;
文件類(lèi)型確定單元200,用于當(dāng)檢測(cè)到有待識(shí)別文件輸入時(shí),確定所述待識(shí)別文件的類(lèi)型;
識(shí)別規(guī)則確定單元300,用于確定與所述待識(shí)別文件的類(lèi)型相匹配的識(shí)別規(guī)則;
版本信息識(shí)別單元400,用于根據(jù)所述識(shí)別規(guī)則,識(shí)別出所述待識(shí)別文件的版本信息。
在本申請(qǐng)一個(gè)實(shí)施方式中,所述文件檢測(cè)單元100可以包括:
事件檢測(cè)模塊,用于利用預(yù)先加載的Local Render插件檢測(cè)是否發(fā)生預(yù)設(shè)事件,所述預(yù)設(shè)事件與輸入待識(shí)別文件的行為相關(guān)聯(lián)。
在本申請(qǐng)一個(gè)實(shí)施方式中,所述文件類(lèi)型確定單元200可以包括:
擴(kuò)展名提取模塊,用于提取所述待識(shí)別文件的擴(kuò)展名,并根據(jù)提取的所述擴(kuò)展名確定所述待識(shí)別文件的類(lèi)型。
在本申請(qǐng)一個(gè)實(shí)施方式中,版本信息識(shí)別單元400可以包括:
關(guān)鍵字識(shí)別模塊,用于利用預(yù)設(shè)接口函數(shù)從所述待識(shí)別文件中讀取關(guān)鍵字信息,并從所述關(guān)鍵字信息中提取版本信息。
在本申請(qǐng)一個(gè)實(shí)施方式中,所述關(guān)鍵字識(shí)別模塊具體包括:
Maya文本識(shí)別模塊,用于當(dāng)所述待識(shí)別文件的類(lèi)型為maya文本格式時(shí),讀取包含requires maya字符信息的關(guān)鍵字信息;
Maya二進(jìn)制識(shí)別模塊,用于當(dāng)所述待識(shí)別文件的類(lèi)型為maya二進(jìn)制格式時(shí),讀取包含UVER字符信息的關(guān)鍵字信息。
在本申請(qǐng)一個(gè)實(shí)施方式中,所述客戶(hù)端還包括:
3dsmax識(shí)別模塊,用于當(dāng)所述待識(shí)別文件的類(lèi)型為3dsmax格式文件時(shí),對(duì)所述待識(shí)別文件進(jìn)行解壓縮,并從解壓縮后的文件中讀取包含3dsMaxVersion字符信息的關(guān)鍵字信息。
在本申請(qǐng)一個(gè)實(shí)施方式中,所述客戶(hù)端還包括:
軟件調(diào)用單元500,用于在所述版本信息識(shí)別單元400識(shí)別出所述待識(shí)別文件的版本信息之后,利用預(yù)先加載的Local Render插件調(diào)用與識(shí)別出的版本信息相匹配的渲染軟件,并利用所述渲染軟件對(duì)所述待識(shí)別文件進(jìn)行場(chǎng)景分析。
由以上本申請(qǐng)實(shí)施方式提供的技術(shù)方案可見(jiàn),本申請(qǐng)避免使用命令行來(lái)進(jìn)行版本識(shí)別,而是根據(jù)待識(shí)別文件的類(lèi)型確定相匹配的識(shí)別規(guī)則,并基于匹配出的識(shí)別規(guī)則識(shí)別出所述待識(shí)別文件的版本信息。這樣,在對(duì)所述待識(shí)別文件進(jìn)行識(shí)別時(shí),無(wú)需依賴(lài)計(jì)算機(jī)中安裝的軟件,同時(shí)也避免了打開(kāi)待識(shí)別文件所耗費(fèi)的時(shí)間和所占用的資源,從而能夠提高版本識(shí)別的效率。
上面對(duì)本申請(qǐng)的各種實(shí)施方式的描述以描述的目的提供給本領(lǐng)域技術(shù)人員。其不旨在是窮舉的、或者不旨在將本發(fā)明限制于單個(gè)公開(kāi)的實(shí)施方式。如上所述,本申請(qǐng)的各種替代和變化對(duì)于上述技術(shù)所屬領(lǐng)域技術(shù)人員而言將是顯而易見(jiàn)的。因此,雖然已經(jīng)具體討論了一些另選的實(shí)施方式,但是其它實(shí)施方式將是顯而易見(jiàn)的,或者本領(lǐng)域技術(shù)人員相對(duì)容易得出。本申請(qǐng)旨在包括在此已經(jīng)討論過(guò)的本發(fā)明的所有替代、修改、和變化,以及落在上述申請(qǐng)的精神和范圍內(nèi)的其它實(shí)施方式。
本說(shuō)明書(shū)中的各個(gè)實(shí)施方式均采用遞進(jìn)的方式描述,各個(gè)實(shí)施方式之間相同相似的部分互相參見(jiàn)即可,每個(gè)實(shí)施方式重點(diǎn)說(shuō)明的都是與其他實(shí)施方式的不同之處。尤其,對(duì)于客戶(hù)端實(shí)施方式而言,由于其基本相似于方法實(shí)施方式,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施方式的部分說(shuō)明即可。
本申請(qǐng)可用于眾多通用或?qū)S玫挠?jì)算機(jī)系統(tǒng)環(huán)境或配置中。例如:個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、置頂盒、可編程的消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括以上任何系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境等等。
雖然通過(guò)實(shí)施方式描繪了本申請(qǐng),本領(lǐng)域普通技術(shù)人員知道,本申請(qǐng)有許多變形和變化而不脫離本申請(qǐng)的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本申請(qǐng)的精神。