本發(fā)明涉及計(jì)算機(jī)信息技術(shù)領(lǐng)域,尤其涉及動(dòng)畫(huà)素材的搜索方法及系統(tǒng)。
背景技術(shù):
通常二維動(dòng)畫(huà)制作人員都使用flash軟件,現(xiàn)在僅有的幾個(gè)服務(wù)與flash動(dòng)畫(huà)軟件插件沒(méi)有被動(dòng)畫(huà)制作人員真正的實(shí)際應(yīng)用,原因是flash版本較多,插件安裝復(fù)雜并且極不穩(wěn)定。也沒(méi)有一款插件真正的解決flash軟件針對(duì)卡通動(dòng)畫(huà)制作省事省時(shí)的一款插件,也并沒(méi)有從根本為動(dòng)畫(huà)人員繪畫(huà)素材節(jié)省時(shí)間和精力。
因此,現(xiàn)有技術(shù)中的缺陷是,現(xiàn)有的插件與flash軟件兼容性不好,安裝復(fù)雜,穩(wěn)定性差,通過(guò)插件與flash軟件結(jié)合實(shí)現(xiàn)動(dòng)畫(huà)制作,費(fèi)時(shí)費(fèi)力,用戶體驗(yàn)度差。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)上述技術(shù)問(wèn)題,本發(fā)明提供一種動(dòng)畫(huà)素材的搜索方法及系統(tǒng),建立動(dòng)畫(huà)素材插件,該插件能夠完全自主獨(dú)立運(yùn)行,運(yùn)行穩(wěn)定安全有效率。操作方便,提高了用戶的工作效率和用戶體驗(yàn)度。
為解決上述技術(shù)問(wèn)題,本發(fā)明提供的技術(shù)方案是:
第一方面,本發(fā)明提供一種動(dòng)畫(huà)素材的搜索方法,包括:
步驟s1,獲取用戶輸入的搜索請(qǐng)求,所述搜索請(qǐng)求包括單個(gè)動(dòng)畫(huà)素材的搜索請(qǐng)求和動(dòng)畫(huà)素材文檔搜索請(qǐng)求;
步驟s2,根據(jù)所述搜索請(qǐng)求,獲得對(duì)應(yīng)的搜索關(guān)鍵詞;
步驟s3,根據(jù)所述搜索關(guān)鍵詞,通過(guò)預(yù)先建立的動(dòng)畫(huà)素材插件中的索引列表搜索對(duì)應(yīng)的動(dòng)畫(huà)素材,得到待編輯動(dòng)畫(huà)素材;
步驟s4,將所述待編輯動(dòng)畫(huà)素材加載到動(dòng)畫(huà)制作畫(huà)面中,實(shí)現(xiàn)對(duì)動(dòng)畫(huà)素材的搜索。
本發(fā)明提供的動(dòng)畫(huà)素材的搜索方法,其技術(shù)方案為:獲取用戶輸入的搜索請(qǐng)求,所述搜索請(qǐng)求包括單個(gè)動(dòng)畫(huà)素材的搜索請(qǐng)求和動(dòng)畫(huà)素材文檔搜索請(qǐng)求;根據(jù)所述搜索請(qǐng)求,獲得對(duì)應(yīng)的搜索關(guān)鍵詞;根據(jù)所述搜索關(guān)鍵詞,通過(guò)預(yù)先建立的動(dòng)畫(huà)素材插件中的索引列表搜索對(duì)應(yīng)的動(dòng)畫(huà)素材,得到待編輯動(dòng)畫(huà)素材;將所述待編輯動(dòng)畫(huà)素材加載到動(dòng)畫(huà)制作畫(huà)面中,實(shí)現(xiàn)對(duì)動(dòng)畫(huà)素材的搜索。
本發(fā)明的動(dòng)畫(huà)素材的搜索方法,建立動(dòng)畫(huà)素材插件,該插件能夠完全自主獨(dú)立運(yùn)行,運(yùn)行穩(wěn)定安全有效率。讓動(dòng)畫(huà)制作人利用該插件的搜索功能,輸入“關(guān)鍵字”,快速的找到其限時(shí)需要的動(dòng)畫(huà)素材。鼠標(biāo)直接拖拽到正在使用的flash軟件當(dāng)中加以制作和加工。操作方便,提高了用戶的工作效率和用戶體驗(yàn)度。
進(jìn)一步地,所述索引列表通過(guò)倒排索引方法建立,具體為:
獲取大量動(dòng)畫(huà)素材,所述大量動(dòng)畫(huà)素材中包括多個(gè)文檔和多個(gè)單詞;
對(duì)所述多個(gè)文檔及所述多個(gè)單詞進(jìn)行統(tǒng)計(jì)分析,得到所述多個(gè)單詞與所述多個(gè)文檔間的關(guān)系,形成映射關(guān)系;
根據(jù)所述多個(gè)文檔的編號(hào),結(jié)合所述映射關(guān)系,生成索引列表。
進(jìn)一步地,所述步驟s3,具體為:
根據(jù)所述搜索關(guān)鍵詞,通過(guò)所述動(dòng)畫(huà)素材插件中的索引列表,找到所述搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材,其中,所述動(dòng)畫(huà)素材的類型與所述搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材類型一致;
將所述搜索關(guān)鍵詞轉(zhuǎn)換成第一維度向量,將所述搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材轉(zhuǎn)換成第二維度向量;
計(jì)算所述第一維度向量與所述第二維度向量之間的角度偏差;
將所述角度偏差與預(yù)先設(shè)定的條件比較,滿足條件,則判定搜索到待編輯動(dòng)畫(huà)素材,否則,判定沒(méi)搜索到待編輯動(dòng)畫(huà)素材。
進(jìn)一步地,所述步驟s3,具體為:
根據(jù)所述搜索關(guān)鍵詞,通過(guò)所述動(dòng)畫(huà)素材插件中的索引列表,找到所述搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材,其中,所述動(dòng)畫(huà)素材的類型與所述搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材類型一致;
將所述搜索關(guān)鍵詞轉(zhuǎn)換成第一維度向量,將所述搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材轉(zhuǎn)換成第二維度向量;
計(jì)算所述第一維度向量與所述第二維度向量之間的夾角余弦值;
根據(jù)所述夾角余弦值,判斷是否搜索到待編輯動(dòng)畫(huà)素材:
當(dāng)所述夾角余弦值不等于零,判定搜索到所述待編輯動(dòng)畫(huà)素材;
當(dāng)所述夾角余弦值等于零,判定沒(méi)搜索到所述待編輯動(dòng)畫(huà)素材。
進(jìn)一步地,所述步驟s3,具體為:
根據(jù)所述搜索關(guān)鍵詞,通過(guò)所述動(dòng)畫(huà)素材插件中的索引列表,找到所述搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材,其中,所述搜索關(guān)鍵詞為單詞,所述搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材為文檔;
將所述搜索關(guān)鍵詞轉(zhuǎn)換成第一維度向量;
根據(jù)所述第一維度向量的向量值,判斷所述搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材是否為搜索到的待編輯動(dòng)畫(huà)素材:
當(dāng)所述第一維度向量的向量值不為零,判定所述搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材是搜索到所述待編輯動(dòng)畫(huà)素材;
當(dāng)所述第一維度向量的向量值不為零,判定所述搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材不是搜索到所述待編輯動(dòng)畫(huà)素材。
第二方面,本發(fā)明提供了一種動(dòng)畫(huà)素材的搜索系統(tǒng),包括:
搜索請(qǐng)求獲取模塊,用于獲取用戶輸入的搜索請(qǐng)求,所述搜索請(qǐng)求包括單個(gè)動(dòng)畫(huà)素材的搜索請(qǐng)求和動(dòng)畫(huà)素材文檔搜索請(qǐng)求;
搜索關(guān)鍵詞獲取模塊,用于根據(jù)所述搜索請(qǐng)求,獲得對(duì)應(yīng)的搜索關(guān)鍵詞;
待編輯動(dòng)畫(huà)素材生成模塊,用于根據(jù)所述搜索關(guān)鍵詞,通過(guò)預(yù)先建立的動(dòng)畫(huà)素材插件中的索引列表搜索對(duì)應(yīng)的動(dòng)畫(huà)素材,得到待編輯動(dòng)畫(huà)素材;
動(dòng)畫(huà)素材搜索完成模塊,用于將所述待編輯動(dòng)畫(huà)素材加載到動(dòng)畫(huà)制作畫(huà)面中,實(shí)現(xiàn)對(duì)動(dòng)畫(huà)素材的搜索。
本發(fā)明提供的動(dòng)畫(huà)素材的搜索系統(tǒng),其技術(shù)方案為:通過(guò)搜索請(qǐng)求獲取模塊,獲取用戶輸入的搜索請(qǐng)求,所述搜索請(qǐng)求包括單個(gè)動(dòng)畫(huà)素材的搜索請(qǐng)求和動(dòng)畫(huà)素材文檔搜索請(qǐng)求;通過(guò)搜索關(guān)鍵詞獲取模塊,根據(jù)所述搜索請(qǐng)求,獲得對(duì)應(yīng)的搜索關(guān)鍵詞;通過(guò)待編輯動(dòng)畫(huà)素材生成模塊,根據(jù)所述搜索關(guān)鍵詞,通過(guò)預(yù)先建立的動(dòng)畫(huà)素材插件中的索引列表搜索對(duì)應(yīng)的動(dòng)畫(huà)素材,得到待編輯動(dòng)畫(huà)素材;通過(guò)動(dòng)畫(huà)素材搜索完成模塊,用于將所述待編輯動(dòng)畫(huà)素材加載到動(dòng)畫(huà)制作畫(huà)面中,實(shí)現(xiàn)對(duì)動(dòng)畫(huà)素材的搜索。
本發(fā)明的動(dòng)畫(huà)素材搜索系統(tǒng),建立動(dòng)畫(huà)素材插件,該插件能夠完全自主獨(dú)立運(yùn)行,運(yùn)行穩(wěn)定安全有效率。讓動(dòng)畫(huà)制作人利用該插件的搜索功能,輸入“關(guān)鍵字”,快速的找到其限時(shí)需要的動(dòng)畫(huà)素材。鼠標(biāo)直接拖拽到正在使用的flash軟件當(dāng)中加以制作和加工。操作方便,提高了用戶的工作效率和用戶體驗(yàn)度。
進(jìn)一步地,還包括索引列表建立模塊,用于通過(guò)倒排索引方法建立所述索引列表:
獲取大量動(dòng)畫(huà)素材,所述大量動(dòng)畫(huà)素材中包括多個(gè)文檔和多個(gè)單詞;
對(duì)所述多個(gè)文檔及所述多個(gè)單詞進(jìn)行統(tǒng)計(jì)分析,得到所述多個(gè)單詞與所述多個(gè)文檔間的關(guān)系,形成映射關(guān)系;
根據(jù)所述多個(gè)文檔的編號(hào),結(jié)合所述映射關(guān)系,生成索引列表。
進(jìn)一步地,所述待編輯動(dòng)畫(huà)素材生成模塊,具體用于:
根據(jù)所述搜索關(guān)鍵詞,通過(guò)所述動(dòng)畫(huà)素材插件中的索引列表,找到所述搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材,所述動(dòng)畫(huà)素材的類型與所述搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材類型一致;
將所述搜索關(guān)鍵詞轉(zhuǎn)換成第一維度向量,將所述搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材轉(zhuǎn)換成第二維度向量;
計(jì)算所述第一維度向量與所述第二維度向量之間的角度偏差;
將所述角度偏差與預(yù)先設(shè)定的條件比較,滿足條件,則判定搜索到待編輯動(dòng)畫(huà)素材,否則,判定沒(méi)搜索到待編輯動(dòng)畫(huà)素材。
進(jìn)一步地,所述待編輯動(dòng)畫(huà)素材生成模塊,具體用于:
根據(jù)所述搜索關(guān)鍵詞,通過(guò)所述動(dòng)畫(huà)素材插件中的索引列表,找到所述搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材,所述動(dòng)畫(huà)素材的類型與所述搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材類型一致;
將所述搜索關(guān)鍵詞轉(zhuǎn)換成第一維度向量,將所述搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材轉(zhuǎn)換成第二維度向量;
計(jì)算所述第一維度向量與所述第二維度向量之間的夾角余弦值;
根據(jù)所述夾角余弦值,判斷是否搜索到待編輯動(dòng)畫(huà)素材:
當(dāng)所述夾角余弦值不等于零,判定搜索到所述待編輯動(dòng)畫(huà)素材;
當(dāng)所述夾角余弦值等于零,判定沒(méi)搜索到所述待編輯動(dòng)畫(huà)素材。
進(jìn)一步地,所述待編輯動(dòng)畫(huà)素材生成模塊,具體用于:
根據(jù)所述搜索關(guān)鍵詞,通過(guò)所述動(dòng)畫(huà)素材插件中的索引列表,找到所述搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材,其中,所述搜索關(guān)鍵詞為單詞,所述搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材為文檔;
將所述搜索關(guān)鍵詞轉(zhuǎn)換成第一維度向量;
根據(jù)所述第一維度向量的向量值,判斷所述搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材是否為搜索到的待編輯動(dòng)畫(huà)素材:
當(dāng)所述第一維度向量的向量值不為零,判定所述搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材是搜索到所述待編輯動(dòng)畫(huà)素材;
當(dāng)所述第一維度向量的向量值不為零,判定所述搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材不是搜索到所述待編輯動(dòng)畫(huà)素材。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明具體實(shí)施方式或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)具體實(shí)施方式或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹。
圖1示出了本發(fā)明實(shí)施例所提供的一種動(dòng)畫(huà)素材的搜索方法的流程圖;
圖2示出了本發(fā)明實(shí)施例所提供的一種動(dòng)畫(huà)素材的搜索系統(tǒng)的示意圖。
具體實(shí)施方式
下面將結(jié)合附圖對(duì)本發(fā)明技術(shù)方案的實(shí)施例進(jìn)行詳細(xì)的描述。以下實(shí)施例僅用于更加清楚地說(shuō)明本發(fā)明的技術(shù)方案,因此只是作為示例,而不能以此來(lái)限制本發(fā)明的保護(hù)范圍。
實(shí)施例一
圖1示出了本發(fā)明實(shí)施例所提供的一種動(dòng)畫(huà)素材的搜索方法的流程圖;如圖1所示,實(shí)施例一提供的一種動(dòng)畫(huà)素材的搜索方法,包括:
步驟s1,獲取用戶輸入的搜索請(qǐng)求,搜索請(qǐng)求包括單個(gè)動(dòng)畫(huà)素材的搜索請(qǐng)求和動(dòng)畫(huà)素材文檔搜索請(qǐng)求;
步驟s2,根據(jù)搜索請(qǐng)求,獲得對(duì)應(yīng)的搜索關(guān)鍵詞;
步驟s3,根據(jù)搜索關(guān)鍵詞,通過(guò)預(yù)先建立的動(dòng)畫(huà)素材插件中的索引列表搜索對(duì)應(yīng)的動(dòng)畫(huà)素材,得到待編輯動(dòng)畫(huà)素材;
步驟s4,將待編輯動(dòng)畫(huà)素材加載到動(dòng)畫(huà)制作畫(huà)面中,實(shí)現(xiàn)對(duì)動(dòng)畫(huà)素材的搜索。
本發(fā)明提供的動(dòng)畫(huà)素材的搜索方法,其技術(shù)方案為:獲取用戶輸入的搜索請(qǐng)求,搜索請(qǐng)求包括單個(gè)動(dòng)畫(huà)素材的搜索請(qǐng)求和動(dòng)畫(huà)素材文檔搜索請(qǐng)求;根據(jù)搜索請(qǐng)求,獲得對(duì)應(yīng)的搜索關(guān)鍵詞;根據(jù)搜索關(guān)鍵詞,通過(guò)預(yù)先建立的動(dòng)畫(huà)素材插件中的索引列表搜索對(duì)應(yīng)的動(dòng)畫(huà)素材,得到待編輯動(dòng)畫(huà)素材;將待編輯動(dòng)畫(huà)素材加載到動(dòng)畫(huà)制作畫(huà)面中,實(shí)現(xiàn)對(duì)動(dòng)畫(huà)素材的搜索。
本發(fā)明的動(dòng)畫(huà)素材的搜索方法,建立動(dòng)畫(huà)素材插件,該插件能夠完全自主獨(dú)立運(yùn)行,運(yùn)行穩(wěn)定安全有效率。即時(shí)搜索輸入漢字、拼音、英文、都可以馬上找到自己想要的文件素材,然后使用鼠標(biāo)拖拽的簡(jiǎn)單動(dòng)作與flash完美結(jié)合并方便使用,因?yàn)樵撥浖撾xflash軟件并能夠獨(dú)立運(yùn)行,所以在flash軟件針對(duì)卡通動(dòng)畫(huà)制作層面,從根本上解決動(dòng)畫(huà)制作人員的工作效率與時(shí)間成本,大大降低了重復(fù)繪畫(huà)的工序,讓動(dòng)畫(huà)制作人員精力轉(zhuǎn)移到再次創(chuàng)作,這樣生產(chǎn)出來(lái)的動(dòng)畫(huà)不僅生產(chǎn)效率提升50%,并且讓動(dòng)畫(huà)更新鮮、精美、細(xì)致、完整。
下面進(jìn)行舉例說(shuō)明:
每個(gè)flash動(dòng)畫(huà)素材設(shè)立多個(gè)相關(guān)聯(lián)、長(zhǎng)尾關(guān)鍵詞,比如:“大象“的flash素材文件,想要搜索并找到”它“,需要設(shè)計(jì)幾個(gè)關(guān)鍵詞。例如:大象、象、xiang、daxiang、elephant;
本發(fā)明中的動(dòng)畫(huà)素材插件運(yùn)行后,即時(shí)搜索輸入漢字、拼音、英文、都可以馬上找到自己想要的動(dòng)畫(huà)素材,呈現(xiàn)在眼前。
搜索出來(lái)的結(jié)果是:動(dòng)畫(huà)素材文件+swf格式的動(dòng)態(tài)縮略圖;
可以直接把fla格式的文件拖進(jìn)各個(gè)版本flash軟件中使用,因?yàn)槠湮募夭木赊D(zhuǎn)換為flash最低版本格式,兼容性好。
優(yōu)選地,插件中的動(dòng)畫(huà)素材文件設(shè)置為只讀模式。只能通過(guò)后臺(tái)密碼進(jìn)行添加、刪除、修改、替換文件。保證動(dòng)畫(huà)素材文件的穩(wěn)定性和安全性。
優(yōu)選地,插件中動(dòng)畫(huà)素材文件可自行升級(jí),每半年進(jìn)行整理搜集繪制素材,滿足動(dòng)畫(huà)制作人員所需。
本發(fā)明的動(dòng)畫(huà)素材插件通過(guò)vs2008+mfc開(kāi)發(fā)。分為數(shù)據(jù)加工軟件和搜索軟件兩部分。
其中,visualc++包含mfc應(yīng)用程序向?qū)?,可用于兼容mfc的應(yīng)用程序。在atl程序中也可以手動(dòng)添加mfc支持。在向?qū)е杏懈鞣N選項(xiàng)以定制生成的程序的功能,例如界面風(fēng)格、語(yǔ)種、數(shù)據(jù)庫(kù)開(kāi)發(fā)支持、打印支持、自動(dòng)化支持、activex支持、網(wǎng)絡(luò)支持、基于html的幫助文檔支持等等。
在com開(kāi)發(fā)方面,相對(duì)于atl來(lái)說(shuō),mfc的組件比較大,代碼不夠短小精悍,但是支持的功能也比較多,例如有對(duì)activexdocument的封裝類。
在界面開(kāi)發(fā)方面,mfc提供對(duì)消息循環(huán)的封裝,使用消息映射來(lái)避免虛函數(shù)的開(kāi)銷。mfc也提供常用windows通用控件的封裝類。
mfc擴(kuò)展dll的接口使得mfc程序可以直接調(diào)用mfc擴(kuò)展dll中的mfc類。mfc也支持在標(biāo)準(zhǔn)dll中被使用。
mfc的主要優(yōu)點(diǎn)是可以用面向?qū)ο蟮姆椒▉?lái)調(diào)用windowsapi,以及應(yīng)用程序開(kāi)發(fā)的便捷。mfc將很多應(yīng)用程序開(kāi)發(fā)中常用的功能自動(dòng)化,并且提供了文檔框架視圖結(jié)構(gòu)和活動(dòng)文檔這樣的便于自定義的應(yīng)用程序框架。同時(shí),在visualc++內(nèi)部也內(nèi)建了很多對(duì)mfc的例如類向?qū)н@樣的支持以減少軟件開(kāi)發(fā)的時(shí)間,使用類向?qū)Э梢陨蓮膆elloworld這樣的簡(jiǎn)單程序到活動(dòng)文檔服務(wù)器這樣的復(fù)雜程序。mfc的消息映射機(jī)制也避免了使用性能較低的龐大虛函數(shù)表。
執(zhí)行全文檢索任務(wù)的程式,一般稱作搜尋引擎,它將使用者隨意輸入的文字,試圖從數(shù)據(jù)庫(kù)中,找到符合的內(nèi)容。功能上,全文檢索系統(tǒng)核心具有建立索引、處理查詢返回結(jié)果集、增加索引、優(yōu)化索引結(jié)構(gòu)等等功能。
搜索引擎在檢索程序的設(shè)計(jì)上要高效,盡可能的將大運(yùn)算量的工作在索引建立時(shí)完成,使檢索時(shí)的運(yùn)算壓力能夠承受。
本發(fā)明中的搜索引擎采用倒排索引方法建立,索引列表通過(guò)倒排索引方法建立,具體為:
獲取大量動(dòng)畫(huà)素材,大量動(dòng)畫(huà)素材中包括多個(gè)文檔和多個(gè)單詞;
對(duì)多個(gè)文檔及多個(gè)單詞進(jìn)行統(tǒng)計(jì)分析,得到多個(gè)單詞與多個(gè)文檔間的關(guān)系,形成映射關(guān)系;
根據(jù)多個(gè)文檔的編號(hào),結(jié)合映射關(guān)系,生成索引列表。
其中,映射關(guān)系包括每個(gè)單詞在對(duì)應(yīng)文檔中的位置和出現(xiàn)次數(shù)。
倒排索引(invertedindex),也常被稱為反向索引、置入檔案或反向檔案,是一種索引方法,被用來(lái)存儲(chǔ)在全文搜索下某個(gè)單詞在一個(gè)文檔或者一組文檔中的存儲(chǔ)位置的映射。
有以下兩種不同的反向索引形式:
一條記錄的水平反向索引(或者反向檔案索引)包含每個(gè)引用單詞的文檔的列表。
一個(gè)單詞的水平反向索引(或者完全反向索引)又包含每個(gè)單詞在一個(gè)文檔中的位置。
后者的形式提供了更多的兼容性(比如短語(yǔ)搜索),但是需要更多的時(shí)間和空間來(lái)創(chuàng)建。
以英文為例,下面是要被索引的文本:
t0="itiswhatitis"
t1="whatisit"
t2="itisabanana"
通過(guò)上述方法可得到下面的反向文件索引:
"a":{2}
"banana":{2}
"is":{0,1,2}
"it":{0,1,2}
"what":{0,1}
檢索的條件“what”,“is”和“it”將對(duì)應(yīng)這個(gè)集合:
{0,1}∩{0,1,2}∩{0,1,2}={0,1}
對(duì)相同的文字,得到后面這些完全反向索引,有文檔數(shù)量和當(dāng)前查詢的單詞結(jié)果組成的的成對(duì)數(shù)據(jù)。同樣,文檔數(shù)量和當(dāng)前查詢的單詞結(jié)果都從零開(kāi)始。所以,"banana":{(2,3)}就是說(shuō)"banana"在第三個(gè)文檔里(t2),而且在第三個(gè)文檔的位置是第四個(gè)單詞(地址為3)。
"a":{(2,2)}
"banana":{(2,3)}
"is":{(0,1),(0,4),(1,1),(2,1)}
"it":{(0,0),(0,3),(1,2),(2,0)}
"what":{(0,2),(1,0)}
如果執(zhí)行短語(yǔ)搜索"whatisit",得到這個(gè)短語(yǔ)的全部單詞各自的結(jié)果所在文檔為文檔0和文檔1。但是這個(gè)短語(yǔ)檢索的連續(xù)的條件僅僅在文檔1得到。
向量空間模型(或者詞組向量模型)作為向量的標(biāo)識(shí)符(比如索引),是一個(gè)用來(lái)表示文本文件的代數(shù)模型。它應(yīng)用于信息過(guò)濾、信息檢索、索引以及關(guān)聯(lián)規(guī)則。本發(fā)明中采用向量空間模型進(jìn)行動(dòng)畫(huà)素材的搜索。
具體為:
根據(jù)搜索關(guān)鍵詞,通過(guò)動(dòng)畫(huà)素材插件中的索引列表,找到搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材,其中,動(dòng)畫(huà)素材的類型與搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材類型一致;
將搜索關(guān)鍵詞轉(zhuǎn)換成第一維度向量,將搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材轉(zhuǎn)換成第二維度向量;
計(jì)算第一維度向量與第二維度向量之間的角度偏差;
將角度偏差與預(yù)先設(shè)定的條件比較,滿足條件,則判定搜索到待編輯動(dòng)畫(huà)素材,否則,判定沒(méi)搜索到待編輯動(dòng)畫(huà)素材。
作為本發(fā)明的優(yōu)選實(shí)施例,步驟s3,具體為:
根據(jù)搜索關(guān)鍵詞,通過(guò)動(dòng)畫(huà)素材插件中的索引列表,找到搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材,其中,動(dòng)畫(huà)素材的類型與搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材類型一致;
將搜索關(guān)鍵詞轉(zhuǎn)換成第一維度向量,將搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材轉(zhuǎn)換成第二維度向量;
計(jì)算第一維度向量與第二維度向量之間的夾角余弦值;
根據(jù)夾角余弦值,判斷是否搜索到待編輯動(dòng)畫(huà)素材:
當(dāng)夾角余弦值不等于零,判定搜索到待編輯動(dòng)畫(huà)素材;
當(dāng)夾角余弦值等于零,判定沒(méi)搜索到待編輯動(dòng)畫(huà)素材。
計(jì)算向量之間夾角的余弦值比直接計(jì)算夾角本身要簡(jiǎn)單。
其中,向量之間夾角的余弦值計(jì)算公式為:
其中d2·q是動(dòng)畫(huà)素材文檔向量和搜索關(guān)鍵詞向量的點(diǎn)乘。||d2||是向量d2的模,而||q||是向量q的模.向量的模通過(guò)下面的公式來(lái)計(jì)算:
由于這個(gè)模型所考慮的所有向量都是嚴(yán)格非負(fù)的,如果其余弦值為零,則表示搜索關(guān)鍵詞和動(dòng)畫(huà)素材文檔向量是正交的,即不符合(換句話說(shuō),就是該搜索關(guān)鍵詞在動(dòng)畫(huà)素材文檔中沒(méi)有找到)。否則若其余弦值大于零,就是該搜索關(guān)鍵詞在動(dòng)畫(huà)素材文檔中找到了。
相對(duì)于標(biāo)準(zhǔn)的布爾數(shù)學(xué)模型,向量空間模型具有如下優(yōu)點(diǎn):
1、基于線性代數(shù)的簡(jiǎn)單模型;
2、詞組的權(quán)重不是二元的;
3、允許計(jì)算文檔和索引之間的連續(xù)相似程度;
4、允許其根據(jù)可能的相關(guān)性來(lái)進(jìn)行文件排序;
5、允許局部匹配。
因此,基于向量空間模型進(jìn)行動(dòng)畫(huà)素材的搜索,更易是實(shí)現(xiàn)和維護(hù)。
優(yōu)選地,還可以通過(guò)下面的方法實(shí)現(xiàn)動(dòng)畫(huà)素材的搜索:
根據(jù)搜索關(guān)鍵詞,通過(guò)動(dòng)畫(huà)素材插件中的索引列表,找到搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材,其中,搜索關(guān)鍵詞為單詞,搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材為文檔;
將搜索關(guān)鍵詞轉(zhuǎn)換成第一維度向量;
根據(jù)第一維度向量的向量值,判斷搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材是否為搜索到的待編輯動(dòng)畫(huà)素材:
當(dāng)?shù)谝痪S度向量的向量值不為零,判定搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材是搜索到待編輯動(dòng)畫(huà)素材;
當(dāng)?shù)谝痪S度向量的向量值不為零,判定搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材不是搜索到待編輯動(dòng)畫(huà)素材。
將插件中的動(dòng)畫(huà)素材文檔打包成一個(gè)dat文件包。索引列表應(yīng)符合:a.fla,a.swf,a.txt,b.fla,b.swf,b.txt……。txt里存放對(duì)應(yīng)關(guān)鍵詞,swf及瀏覽縮略圖,fla為flash文件。
用戶導(dǎo)入插件中的dat數(shù)據(jù)包后,輸入關(guān)鍵詞就可以進(jìn)行檢索,當(dāng)符合要求的記錄大于10時(shí),系統(tǒng)會(huì)分頁(yè)顯示數(shù)據(jù)。當(dāng)用戶不輸入關(guān)鍵詞時(shí),系統(tǒng)就默認(rèn)用戶執(zhí)行“瀏覽”操作,將會(huì)把所有記錄分頁(yè)顯示出來(lái)。用戶雙擊或者拖拽縮略圖,就可以打開(kāi)文件素材。
第二方面,本發(fā)明提供了一種動(dòng)畫(huà)素材的搜索系統(tǒng)10,包括:
搜索請(qǐng)求獲取模塊101,用于獲取用戶輸入的搜索請(qǐng)求,搜索請(qǐng)求包括單個(gè)動(dòng)畫(huà)素材的搜索請(qǐng)求和動(dòng)畫(huà)素材文檔搜索請(qǐng)求;
搜索關(guān)鍵詞獲取模塊102,用于根據(jù)搜索請(qǐng)求,獲得對(duì)應(yīng)的搜索關(guān)鍵詞;
待編輯動(dòng)畫(huà)素材生成模塊103,用于根據(jù)搜索關(guān)鍵詞,通過(guò)預(yù)先建立的動(dòng)畫(huà)素材插件中的索引列表搜索對(duì)應(yīng)的動(dòng)畫(huà)素材,得到待編輯動(dòng)畫(huà)素材;
動(dòng)畫(huà)素材搜索完成模塊104,用于將待編輯動(dòng)畫(huà)素材加載到動(dòng)畫(huà)制作畫(huà)面中,實(shí)現(xiàn)對(duì)動(dòng)畫(huà)素材的搜索。
本發(fā)明提供的動(dòng)畫(huà)素材的搜索系統(tǒng)10,其技術(shù)方案為:通過(guò)搜索請(qǐng)求獲取模塊101,獲取用戶輸入的搜索請(qǐng)求,搜索請(qǐng)求包括單個(gè)動(dòng)畫(huà)素材的搜索請(qǐng)求和動(dòng)畫(huà)素材文檔搜索請(qǐng)求;通過(guò)搜索關(guān)鍵詞獲取模塊102,根據(jù)搜索請(qǐng)求,獲得對(duì)應(yīng)的搜索關(guān)鍵詞;通過(guò)待編輯動(dòng)畫(huà)素材生成模塊103,根據(jù)搜索關(guān)鍵詞,通過(guò)預(yù)先建立的動(dòng)畫(huà)素材插件中的索引列表搜索對(duì)應(yīng)的動(dòng)畫(huà)素材,得到待編輯動(dòng)畫(huà)素材;通過(guò)動(dòng)畫(huà)素材搜索完成模塊104,用于將待編輯動(dòng)畫(huà)素材加載到動(dòng)畫(huà)制作畫(huà)面中,實(shí)現(xiàn)對(duì)動(dòng)畫(huà)素材的搜索。
本發(fā)明的動(dòng)畫(huà)素材搜索系統(tǒng)10,建立動(dòng)畫(huà)素材插件,該插件能夠完全自主獨(dú)立運(yùn)行,運(yùn)行穩(wěn)定安全有效率。及時(shí)搜索輸入漢字、拼音、英文、都可以馬上找到自己想要的文件素材,然后使用鼠標(biāo)拖拽的簡(jiǎn)單動(dòng)作與flash完美結(jié)合并方便使用,因?yàn)樵撥浖撾xflash軟件并能夠獨(dú)立運(yùn)行,所以在flash軟件針對(duì)卡通動(dòng)畫(huà)制作層面,從根本上解決動(dòng)畫(huà)制作人員的工作效率與時(shí)間成本,大大降低了重復(fù)繪畫(huà)的工序,讓動(dòng)畫(huà)制作人員精力轉(zhuǎn)移到再次創(chuàng)作,這樣生產(chǎn)出來(lái)的動(dòng)畫(huà)不僅生產(chǎn)效率提升50%,并且讓動(dòng)畫(huà)更新鮮、精美、細(xì)致、完整。
優(yōu)選地,還包括索引列表建立模塊,用于通過(guò)倒排索引方法建立索引列表:
獲取大量動(dòng)畫(huà)素材,大量動(dòng)畫(huà)素材中包括多個(gè)文檔和多個(gè)單詞;
對(duì)多個(gè)文檔及多個(gè)單詞進(jìn)行統(tǒng)計(jì)分析,得到多個(gè)單詞與多個(gè)文檔間的關(guān)系,形成映射關(guān)系;
根據(jù)多個(gè)文檔的編號(hào),結(jié)合映射關(guān)系,生成索引列表。
優(yōu)選地,待編輯動(dòng)畫(huà)素材生成模塊103,具體用于:
根據(jù)搜索關(guān)鍵詞,通過(guò)動(dòng)畫(huà)素材插件中的索引列表,找到搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材,動(dòng)畫(huà)素材的類型與搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材類型一致;
將搜索關(guān)鍵詞轉(zhuǎn)換成第一維度向量,將搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材轉(zhuǎn)換成第二維度向量;
計(jì)算第一維度向量與第二維度向量之間的角度偏差;
將角度偏差與預(yù)先設(shè)定的條件比較,滿足條件,則判定搜索到待編輯動(dòng)畫(huà)素材,否則,判定沒(méi)搜索到待編輯動(dòng)畫(huà)素材。
作為本發(fā)明的優(yōu)選實(shí)施例,待編輯動(dòng)畫(huà)素材生成模塊103,具體用于:
根據(jù)搜索關(guān)鍵詞,通過(guò)動(dòng)畫(huà)素材插件中的索引列表,找到搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材,動(dòng)畫(huà)素材的類型與搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材類型一致;
將搜索關(guān)鍵詞轉(zhuǎn)換成第一維度向量,將搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材轉(zhuǎn)換成第二維度向量;
計(jì)算第一維度向量與第二維度向量之間的夾角余弦值;
根據(jù)夾角余弦值,判斷是否搜索到待編輯動(dòng)畫(huà)素材:
當(dāng)夾角余弦值不等于零,判定搜索到待編輯動(dòng)畫(huà)素材;
當(dāng)夾角余弦值等于零,判定沒(méi)搜索到待編輯動(dòng)畫(huà)素材。
作為本發(fā)明的優(yōu)選實(shí)施例,待編輯動(dòng)畫(huà)素材生成模塊103,具體用于:
根據(jù)搜索關(guān)鍵詞,通過(guò)動(dòng)畫(huà)素材插件中的索引列表,找到搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材,其中,搜索關(guān)鍵詞為單詞,搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材為文檔;
將搜索關(guān)鍵詞轉(zhuǎn)換成第一維度向量;
根據(jù)第一維度向量的向量值,判斷搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材是否為搜索到的待編輯動(dòng)畫(huà)素材:
當(dāng)?shù)谝痪S度向量的向量值不為零,判定搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材是搜索到待編輯動(dòng)畫(huà)素材;
當(dāng)?shù)谝痪S度向量的向量值不為零,判定搜索關(guān)鍵詞對(duì)應(yīng)的動(dòng)畫(huà)素材不是搜索到待編輯動(dòng)畫(huà)素材。
實(shí)施例二
基于實(shí)施例一中的動(dòng)畫(huà)素材搜索方法和系統(tǒng),考慮到在實(shí)際的應(yīng)用場(chǎng)景中,動(dòng)畫(huà)制作人員進(jìn)行動(dòng)畫(huà)制作時(shí),不只需要flash格式的動(dòng)畫(huà)素材,可能根據(jù)實(shí)際動(dòng)畫(huà)的制作需求,需要不同格式的動(dòng)畫(huà)素材,如果只有一種格式的動(dòng)畫(huà)素材文件,會(huì)使用戶體驗(yàn)度低,影響用戶對(duì)動(dòng)畫(huà)素材插件的用戶體驗(yàn)。基于此,本實(shí)施例提供一種動(dòng)畫(huà)格式的轉(zhuǎn)換方法,具體方案為:
確定任一待轉(zhuǎn)換的flash動(dòng)畫(huà),并獲取待轉(zhuǎn)換的flash動(dòng)畫(huà)的動(dòng)態(tài)數(shù)據(jù),其中,動(dòng)態(tài)數(shù)據(jù)包括待轉(zhuǎn)換的flash動(dòng)畫(huà)中每個(gè)動(dòng)畫(huà)幀上預(yù)設(shè)位置的坐標(biāo)信息;
確定目標(biāo)轉(zhuǎn)換格式;
通過(guò)目標(biāo)轉(zhuǎn)換格式的程序接口,將動(dòng)態(tài)數(shù)據(jù)包括的待轉(zhuǎn)換的flash動(dòng)畫(huà)中每個(gè)動(dòng)畫(huà)幀上預(yù)設(shè)位置的坐標(biāo)信息,添加到目標(biāo)轉(zhuǎn)換格式的預(yù)設(shè)模板中,得到目標(biāo)轉(zhuǎn)換格式的目標(biāo)格式動(dòng)畫(huà)。
其中,每個(gè)flash動(dòng)畫(huà)中均包括能夠表示該flash動(dòng)畫(huà)的各項(xiàng)信息的動(dòng)態(tài)數(shù)據(jù),如各個(gè)動(dòng)畫(huà)幀上對(duì)象的坐標(biāo)信息。具體的,根據(jù)每個(gè)flash動(dòng)畫(huà)的動(dòng)態(tài)數(shù)據(jù),系統(tǒng)能夠重繪該動(dòng)畫(huà)。實(shí)際應(yīng)用中,flash動(dòng)畫(huà)的動(dòng)態(tài)數(shù)據(jù)中可以包括該flash動(dòng)畫(huà)的各個(gè)動(dòng)畫(huà)幀上預(yù)設(shè)位置的坐標(biāo)信息,如將該flash動(dòng)畫(huà)中某個(gè)人物的某個(gè)部位確定為預(yù)設(shè)位置,獲取的動(dòng)態(tài)數(shù)據(jù)中可以包括該預(yù)設(shè)位置的坐標(biāo)信息。另外,動(dòng)態(tài)數(shù)據(jù)中還可以包括該flash動(dòng)畫(huà)的時(shí)間戳信息,該flash動(dòng)畫(huà)上具有動(dòng)態(tài)效果的元素的各個(gè)幀信息等。
其中,確定目標(biāo)轉(zhuǎn)換格式,包括:
預(yù)先確定目標(biāo)格式動(dòng)畫(huà)的運(yùn)行環(huán)境;
根據(jù)運(yùn)行環(huán)境,確定符合運(yùn)行環(huán)境的目標(biāo)轉(zhuǎn)換格式。
其中,確定目標(biāo)轉(zhuǎn)換格式就是待轉(zhuǎn)換的flash動(dòng)畫(huà)即將轉(zhuǎn)換成的動(dòng)畫(huà)格式。
一種方式,可以將能夠運(yùn)行于高級(jí)瀏覽器上的所有動(dòng)畫(huà)格式均確定為目標(biāo)轉(zhuǎn)換格式。也就是說(shuō),將該待轉(zhuǎn)換的flash動(dòng)畫(huà)分別轉(zhuǎn)換為確定的各種格式的動(dòng)畫(huà)。后續(xù)系統(tǒng)可以根據(jù)需求,分別調(diào)用上述不同格式的動(dòng)畫(huà)。
另一種方式,用戶可以提供一種運(yùn)行環(huán)境,如運(yùn)行于ie瀏覽器9.0以下的版本,則系統(tǒng)可以根據(jù)預(yù)先確定的目標(biāo)格式動(dòng)畫(huà)的運(yùn)行環(huán)境,選擇符合運(yùn)行環(huán)境的目標(biāo)轉(zhuǎn)換格式。如ie瀏覽器9.0以下的版本的運(yùn)行環(huán)境可以支持js動(dòng)畫(huà)、canvas動(dòng)畫(huà),但是不能支持css3動(dòng)畫(huà)。
優(yōu)選地,還包括:
計(jì)算動(dòng)態(tài)數(shù)據(jù)的數(shù)據(jù)量;
根據(jù)數(shù)據(jù)量,在符合運(yùn)行環(huán)境的目標(biāo)轉(zhuǎn)換格式中,選擇滿足數(shù)據(jù)量要求的目標(biāo)轉(zhuǎn)換格式。
由于flash動(dòng)畫(huà)中的動(dòng)態(tài)數(shù)據(jù)的數(shù)據(jù)量也影響著目標(biāo)轉(zhuǎn)換格式的確定,因此可基于動(dòng)態(tài)數(shù)據(jù)的數(shù)據(jù)量確定目標(biāo)轉(zhuǎn)換格式。
舉例說(shuō)明,如何根據(jù)動(dòng)態(tài)數(shù)據(jù)的數(shù)據(jù)量以及目標(biāo)格式動(dòng)畫(huà)的運(yùn)行環(huán)境確定目標(biāo)轉(zhuǎn)換格式,如下:
1、如果flash動(dòng)畫(huà)中包括少于20個(gè)dom子元素原件,并且需要運(yùn)行于高級(jí)瀏覽器或者移動(dòng)設(shè)備上,則可以將目標(biāo)轉(zhuǎn)換格式確定為css3動(dòng)畫(huà)格式;
2、如果目標(biāo)格式動(dòng)畫(huà)需要運(yùn)行于pc端的高級(jí)瀏覽器,并且要求目標(biāo)格式動(dòng)畫(huà)的兼容性高,則可以將目標(biāo)轉(zhuǎn)換格式確定為js動(dòng)畫(huà)格式;
3、如果目標(biāo)格式動(dòng)畫(huà)需要運(yùn)行于pc端的高級(jí)瀏覽器,并且要求目標(biāo)格式動(dòng)畫(huà)的兼容性低,則可以將目標(biāo)轉(zhuǎn)換格式確定為canvas動(dòng)畫(huà);
4、如果flash動(dòng)畫(huà)中包括多于20個(gè)dom子元素原件,并且運(yùn)行于移動(dòng)設(shè)備,則可以將目標(biāo)轉(zhuǎn)換格式確定為canvas動(dòng)畫(huà)格式。
優(yōu)選地,還包括:
調(diào)用目標(biāo)格式動(dòng)畫(huà)的邏輯控制接口,設(shè)置目標(biāo)格式動(dòng)畫(huà)的控制邏輯。
在將flash動(dòng)畫(huà)轉(zhuǎn)換成目標(biāo)格式動(dòng)畫(huà)后,調(diào)用邏輯控制接口,并為該目標(biāo)格式動(dòng)畫(huà)設(shè)置控制邏輯,以實(shí)現(xiàn)對(duì)目標(biāo)格式動(dòng)畫(huà)的控制功能,如暫停、播放、內(nèi)存消耗回收等功能。
需要說(shuō)明的是,本發(fā)明實(shí)施例中的高級(jí)瀏覽器為支持android1.6的瀏覽器,通常市面上的第三方瀏覽器均為高級(jí)瀏覽器,如qq瀏覽器、搜狗瀏覽器等。另外,移動(dòng)終端,如智能手機(jī)、平板電腦等,安裝的瀏覽器均是高級(jí)瀏覽器。
上述方法通過(guò)將flash動(dòng)畫(huà)轉(zhuǎn)換為能夠運(yùn)行于高級(jí)瀏覽器和移動(dòng)終端上的目標(biāo)格式動(dòng)畫(huà),提高了能夠運(yùn)行于高級(jí)瀏覽器和移動(dòng)終端格式動(dòng)畫(huà)的開(kāi)發(fā)效率,提高了用戶體驗(yàn)。
實(shí)施例三
基于實(shí)施例一中的動(dòng)畫(huà)素材搜索方法和系統(tǒng),考慮到在實(shí)際的應(yīng)用場(chǎng)景中,動(dòng)畫(huà)制作人員進(jìn)行動(dòng)畫(huà)制作時(shí),需要對(duì)flash格式的動(dòng)畫(huà)素材進(jìn)行渲染,但通常的渲染方法渲染過(guò)程慢,無(wú)法滿足動(dòng)畫(huà)制作人員的實(shí)時(shí)性需求,當(dāng)通過(guò)實(shí)施例一中的動(dòng)畫(huà)素材插件快速搜索到需要的動(dòng)畫(huà)素材時(shí),在進(jìn)行動(dòng)畫(huà)渲染的過(guò)程中,由于渲染速度慢,直接影響用戶對(duì)動(dòng)畫(huà)素材插件的用戶體驗(yàn)。基于此,本實(shí)施例提供一種快速準(zhǔn)確的動(dòng)畫(huà)渲染方法,具體方案為:
分析輸入的swf文件,提取文件中的資源;
分析圖形資源,得到每一圖形的類別、形變信息、顏色變換、顏色偏移和位置;
將相同類別的圖形合并,并記錄每一原圖形的形變信息、顏色變換、顏色偏移和位置;
根據(jù)原圖形的形變信息、顏色變換、顏色偏移和位置將圖形渲染至指定幀中。
其中,分析圖形資源,得到每一圖形的類別、形變信息、顏色變換、顏色偏移和位置,包括:
遞歸分析組成每一圖形的子圖形;
得到每一圖形及其子圖形的類別、形變信息、顏色變換、顏色偏移和相對(duì)位置。
具體地,在分析每一個(gè)實(shí)體過(guò)程中,會(huì)根據(jù)具體實(shí)體類型執(zhí)行以下操作的一個(gè)或多個(gè):
1.記錄實(shí)體類型。
2.順序分析實(shí)體子內(nèi)容。
3.遞歸分析子實(shí)體。
4.關(guān)聯(lián)實(shí)體id和實(shí)體。
5.分析圖形的形變信息(矩陣信息)、顏色變換(乘系數(shù)),顏色偏移(加系數(shù))。
6.分析位圖信息(根據(jù)圖像存儲(chǔ)格式,可分為zlib壓縮的rgba圖像,zlib壓縮的rgba預(yù)乘alpha圖像,jpeg壓縮的rgb圖像,帶zlib壓縮透明度、jpeg壓縮的rgba預(yù)乘alpha圖像),保存為臨時(shí)文件。
優(yōu)選地,分析輸入的swf文件的過(guò)程中,還獲取畫(huà)布信息、幀率。
其中,根據(jù)原圖形的形變信息、顏色變換、顏色偏移和位置將圖形渲染至指定幀中,包括:
基于圖形的類別,以及原圖形的顏色變換、顏色偏移和位置生成對(duì)應(yīng)的紋理實(shí)體;
基于圖形的組成結(jié)構(gòu)以及原圖形的形變信息生成容器實(shí)體;
在cocos2dx中渲染紋理實(shí)體和容器實(shí)體。
優(yōu)選地,容器實(shí)體由原圖形的形變信息,以及組成該圖形的所有子圖形對(duì)應(yīng)的容器實(shí)體組成。
具體地,導(dǎo)出單張集合紋理:對(duì)前一步驟所有保存的臨時(shí)文件進(jìn)行合圖操作,把相同的紋理資源合并,并記錄每一塊原圖所在整紋理中的位置。
具體地,分析輸入的swf文件,提取文件中的資源,具體為:
為每一個(gè)swf文件導(dǎo)出一個(gè)二進(jìn)制csp文件,導(dǎo)出其中的信息包括:
1.動(dòng)畫(huà)基本信息:畫(huà)布寬高、幀率、紋理名、文件大小、序列字符串起始偏移、定義類實(shí)體數(shù)據(jù)偏移、入口實(shí)體偏移。
2.序列字符串?dāng)?shù)據(jù):序列字符串是由多段以\0結(jié)尾的字符串拼接而成,為了在文件中方便字符串的存儲(chǔ),因此將字符串內(nèi)容單獨(dú)存儲(chǔ)在一起,而在引用的位置存儲(chǔ)16位的偏移即可。
3.定義類實(shí)體數(shù)據(jù)。
4.入口實(shí)體數(shù)據(jù)。
使用本實(shí)施例的方法實(shí)現(xiàn)動(dòng)畫(huà)編輯的方式是:
1.設(shè)計(jì)人員使用任意flash動(dòng)畫(huà)編輯工具編輯好動(dòng)畫(huà);
2.導(dǎo)出成swf文件
3.將swf文件轉(zhuǎn)換為csp文件
4.在游戲引擎中導(dǎo)入并播放。
通過(guò)該方法,將動(dòng)畫(huà)拆分為圖元和形變(包括位置移動(dòng)、旋轉(zhuǎn)、縮放、拉伸等)分開(kāi)存儲(chǔ),在運(yùn)行時(shí)計(jì)算圖像的真實(shí)位置,提高渲染速度,進(jìn)一步提高了用戶進(jìn)行動(dòng)畫(huà)素材搜索及制作的用戶體驗(yàn)度;并且通過(guò)該方法可以避免多幀反復(fù)存儲(chǔ)于圖像中,引起紋理存儲(chǔ)空間不足的問(wèn)題。
最后應(yīng)說(shuō)明的是:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求和說(shuō)明書(shū)的范圍當(dāng)中。