午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

在移動(dòng)終端上生成虛擬對(duì)象的方法及裝置的制造方法

文檔序號(hào):10534504閱讀:444來(lái)源:國(guó)知局
在移動(dòng)終端上生成虛擬對(duì)象的方法及裝置的制造方法
【專(zhuān)利摘要】本發(fā)明提供了一種在移動(dòng)終端上生成虛擬對(duì)象的方法及裝置。該方法包括:調(diào)用模型加載函數(shù),利用所述模型加載函數(shù)加載用于生成虛擬對(duì)象的模型文件;從所述模型文件中解析出模型以及所述模型的動(dòng)畫(huà)參數(shù);根據(jù)所述模型的動(dòng)畫(huà)參數(shù),將所述模型渲染生成對(duì)應(yīng)的虛擬對(duì)象。本發(fā)明實(shí)施例能夠根據(jù)模型的動(dòng)畫(huà)參數(shù)渲染生成對(duì)應(yīng)的虛擬對(duì)象,實(shí)現(xiàn)了生成的虛擬對(duì)象的動(dòng)態(tài)化,提高了趣味性和交互性。
【專(zhuān)利說(shuō)明】
在移動(dòng)終端上生成虛擬對(duì)象的方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及移動(dòng)終端技術(shù)領(lǐng)域,特別是涉及一種在移動(dòng)終端上生成虛擬對(duì)象的方法及裝置。
【背景技術(shù)】
[0002]增強(qiáng)現(xiàn)實(shí)也被稱(chēng)為混合現(xiàn)實(shí),其通過(guò)計(jì)算機(jī)技術(shù),將虛擬信息應(yīng)用到真實(shí)世界,真實(shí)環(huán)境和虛擬對(duì)象(如虛擬物體、虛擬角色等)實(shí)時(shí)地疊加到同一個(gè)畫(huà)面或空間。增強(qiáng)現(xiàn)實(shí)提供了在一般情況下,不同于人類(lèi)可感知的信息。它不僅展現(xiàn)了真實(shí)世界的信息,而且將虛擬信息同時(shí)顯示出來(lái),兩種信息相互補(bǔ)充、疊加。
[0003]目前,增強(qiáng)現(xiàn)實(shí)主要由開(kāi)發(fā)人員制作好,用戶(hù)僅僅可以從視覺(jué)上體驗(yàn)現(xiàn)實(shí)場(chǎng)景中不存在的虛擬對(duì)象,例如,用戶(hù)可以利用頭盔顯示器,把真實(shí)世界與電腦圖形多重合成在一起,便可以看到真實(shí)的世界圍繞著它。為了增加趣味性和交互性,根據(jù)用戶(hù)個(gè)性化需求自定義虛擬對(duì)象成為亟待解決的技術(shù)問(wèn)題。

【發(fā)明內(nèi)容】

[0004]鑒于上述問(wèn)題,提出了本發(fā)明以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的在移動(dòng)終端上生成虛擬對(duì)象的方法及相應(yīng)的裝置。
[0005]依據(jù)本發(fā)明的一方面,提供了一種在移動(dòng)終端上生成虛擬對(duì)象的方法,包括:
[0006]調(diào)用模型加載函數(shù),利用所述模型加載函數(shù)加載用于生成虛擬對(duì)象的模型文件;
[0007]從所述模型文件中解析出模型以及所述模型的動(dòng)畫(huà)參數(shù);
[0008]根據(jù)所述模型的動(dòng)畫(huà)參數(shù),將所述模型渲染生成對(duì)應(yīng)的虛擬對(duì)象。
[0009]可選地,所述模型的動(dòng)畫(huà)參數(shù)包括所述模型的運(yùn)動(dòng)路徑以及每幀動(dòng)畫(huà)的時(shí)長(zhǎng);
[0010]根據(jù)所述模型的動(dòng)畫(huà)參數(shù),將所述模型渲染生成對(duì)應(yīng)的虛擬對(duì)象,包括:
[0011]根據(jù)所述模型的運(yùn)動(dòng)路徑以及每幀動(dòng)畫(huà)的時(shí)長(zhǎng),對(duì)所述模型的每幀動(dòng)畫(huà)進(jìn)行渲染,以生成對(duì)應(yīng)的虛擬對(duì)象。
[0012]可選地,所述模型由多條線段構(gòu)成,所述模型的動(dòng)畫(huà)參數(shù)包括所述模型中線段的運(yùn)動(dòng)路徑以及每幀動(dòng)畫(huà)的時(shí)長(zhǎng);
[0013]根據(jù)所述模型的動(dòng)畫(huà)參數(shù),將所述模型渲染生成對(duì)應(yīng)的虛擬對(duì)象,包括:
[0014]根據(jù)所述模型中線段的運(yùn)動(dòng)路徑以及每幀動(dòng)畫(huà)的時(shí)長(zhǎng),對(duì)所述模型的每幀動(dòng)畫(huà)進(jìn)行渲染,以生成對(duì)應(yīng)的虛擬對(duì)象。
[0015]可選地,所述模型的動(dòng)畫(huà)參數(shù)包括所述模型的每幀動(dòng)畫(huà)的紋理;
[0016]根據(jù)所述模型的動(dòng)畫(huà)參數(shù),將所述模型渲染生成對(duì)應(yīng)的虛擬對(duì)象,包括:
[0017]獲取所述模型的當(dāng)前幀動(dòng)畫(huà)的紋理,并根據(jù)所述模型的當(dāng)前幀動(dòng)畫(huà)的紋理對(duì)所述模型的當(dāng)前幀動(dòng)畫(huà)進(jìn)行渲染;
[0018]獲取所述模型的下一幀動(dòng)畫(huà)的紋理,并根據(jù)所述模型的下一幀動(dòng)畫(huà)的紋理對(duì)所述模型的下一幀動(dòng)畫(huà)進(jìn)行渲染,直至渲染完成所有幀動(dòng)畫(huà)。
[0019]可選地,所述模型的動(dòng)畫(huà)參數(shù)包括循環(huán)渲染所述模型的次數(shù);
[0020]根據(jù)所述模型的動(dòng)畫(huà)參數(shù),將所述模型渲染生成對(duì)應(yīng)的虛擬對(duì)象,包括:
[0021]根據(jù)循環(huán)渲染所述模型的次數(shù),循環(huán)渲染所述模型生成對(duì)應(yīng)的虛擬對(duì)象。
[0022]可選地,根據(jù)所述模型的動(dòng)畫(huà)參數(shù),將所述模型渲染生成對(duì)應(yīng)的虛擬對(duì)象之后,還包括:
[0023]在所述移動(dòng)終端的顯示界面上播放所述虛擬對(duì)象。
[0024]可選地,在所述移動(dòng)終端的顯示界面上播放所述虛擬對(duì)象,包括:
[0025]預(yù)設(shè)播放時(shí)間區(qū)間;
[0026]根據(jù)所述播放時(shí)間區(qū)間,在所述移動(dòng)終端的顯示界面上播放所述虛擬對(duì)象。
[0027]可選地,所述播放時(shí)間區(qū)間設(shè)置有空閑時(shí)間區(qū)間和非空閑時(shí)間區(qū)間;
[0028]根據(jù)所述播放時(shí)間區(qū)間,在所述移動(dòng)終端的顯示界面上播放所述虛擬對(duì)象,包括:
[0029]當(dāng)處于所述空閑時(shí)間區(qū)間時(shí),在所述移動(dòng)終端的顯示界面上播放所述虛擬對(duì)象;
[0030]當(dāng)處于所述非空閑時(shí)間區(qū)間時(shí),在所述移動(dòng)終端的顯示界面上暫停所述虛擬對(duì)象。
[0031]依據(jù)本發(fā)明的另一方面,還提供了一種在移動(dòng)終端上生成虛擬對(duì)象的裝置,包括:
[0032]模型文件加載模塊,適于調(diào)用模型加載函數(shù),利用所述模型加載函數(shù)加載用于生成虛擬對(duì)象的模型文件;
[0033]模型文件解析模塊,適于從所述模型文件中解析出模型以及所述模型的動(dòng)畫(huà)參數(shù);
[0034]模型渲染模塊,適于根據(jù)所述模型的動(dòng)畫(huà)參數(shù),將所述模型渲染生成對(duì)應(yīng)的虛擬對(duì)象。
[0035]可選地,所述模型的動(dòng)畫(huà)參數(shù)包括所述模型的運(yùn)動(dòng)路徑以及每幀動(dòng)畫(huà)的時(shí)長(zhǎng),所述模型渲染模塊還適于:
[0036]根據(jù)所述模型的運(yùn)動(dòng)路徑以及每幀動(dòng)畫(huà)的時(shí)長(zhǎng),對(duì)所述模型的每幀動(dòng)畫(huà)進(jìn)行渲染,以生成對(duì)應(yīng)的虛擬對(duì)象。
[0037]可選地,所述模型由多條線段構(gòu)成,所述模型的動(dòng)畫(huà)參數(shù)包括所述模型中線段的運(yùn)動(dòng)路徑以及每幀動(dòng)畫(huà)的時(shí)長(zhǎng),所述模型渲染模塊還適于:
[0038]根據(jù)所述模型中線段的運(yùn)動(dòng)路徑以及每幀動(dòng)畫(huà)的時(shí)長(zhǎng),對(duì)所述模型的每幀動(dòng)畫(huà)進(jìn)行渲染,以生成對(duì)應(yīng)的虛擬對(duì)象。
[0039]可選地,所述模型的動(dòng)畫(huà)參數(shù)包括所述模型的每幀動(dòng)畫(huà)的紋理,所述模型渲染模塊還適于:
[0040]獲取所述模型的當(dāng)前幀動(dòng)畫(huà)的紋理,并根據(jù)所述模型的當(dāng)前幀動(dòng)畫(huà)的紋理對(duì)所述模型的當(dāng)前幀動(dòng)畫(huà)進(jìn)行渲染;
[0041]獲取所述模型的下一幀動(dòng)畫(huà)的紋理,并根據(jù)所述模型的下一幀動(dòng)畫(huà)的紋理對(duì)所述模型的下一幀動(dòng)畫(huà)進(jìn)行渲染,直至渲染完成所有幀動(dòng)畫(huà)。
[0042]可選地,所述模型的動(dòng)畫(huà)參數(shù)包括循環(huán)渲染所述模型的次數(shù),所述模型渲染模塊還適于:
[0043]根據(jù)循環(huán)渲染所述模型的次數(shù),循環(huán)渲染所述模型生成對(duì)應(yīng)的虛擬對(duì)象。
[0044]可選地,所述裝置還包括:
[0045]播放模塊,適于在所述模型渲染模塊根據(jù)所述模型的動(dòng)畫(huà)參數(shù),將所述模型渲染生成對(duì)應(yīng)的虛擬對(duì)象之后,在所述移動(dòng)終端的顯示界面上播放所述虛擬對(duì)象。
[0046]可選地,所述播放模塊還適于:
[0047]預(yù)設(shè)播放時(shí)間區(qū)間;
[0048]根據(jù)所述播放時(shí)間區(qū)間,在所述移動(dòng)終端的顯示界面上播放所述虛擬對(duì)象。
[0049]可選地,所述播放時(shí)間區(qū)間設(shè)置有空閑時(shí)間區(qū)間和非空閑時(shí)間區(qū)間,所述播放模塊還適于:
[0050]當(dāng)處于所述空閑時(shí)間區(qū)間時(shí),在所述移動(dòng)終端的顯示界面上播放所述虛擬對(duì)象;
[0051]當(dāng)處于所述非空閑時(shí)間區(qū)間時(shí),在所述移動(dòng)終端的顯示界面上暫停所述虛擬對(duì)象。
[0052]在本發(fā)明實(shí)施例中,可以在移動(dòng)終端上生成用戶(hù)個(gè)性化需求的虛擬對(duì)象,即首先調(diào)用模型加載函數(shù),利用該模型加載函數(shù)加載用于生成虛擬對(duì)象的模型文件,隨后從模型文件中解析出模型以及該模型的動(dòng)畫(huà)參數(shù),之后根據(jù)該模型的動(dòng)畫(huà)參數(shù),將該模型渲染生成對(duì)應(yīng)的虛擬對(duì)象。本發(fā)明實(shí)施例能夠根據(jù)模型的動(dòng)畫(huà)參數(shù)渲染生成對(duì)應(yīng)的虛擬對(duì)象,實(shí)現(xiàn)了生成的虛擬對(duì)象的動(dòng)態(tài)化,提高了趣味性和交互性。
[0053]上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書(shū)的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的【具體實(shí)施方式】。
[0054]根據(jù)下文結(jié)合附圖對(duì)本發(fā)明具體實(shí)施例的詳細(xì)描述,本領(lǐng)域技術(shù)人員將會(huì)更加明了本發(fā)明的上述以及其他目的、優(yōu)點(diǎn)和特征。
【附圖說(shuō)明】
[0055]通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
[0056]圖1示出了根據(jù)本發(fā)明一實(shí)施例的在移動(dòng)終端上生成虛擬對(duì)象的方法的流程圖;
[0057]圖2示出了根據(jù)本發(fā)明另一實(shí)施例的在移動(dòng)終端上生成虛擬對(duì)象的方法的流程圖;
[0058]圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的在移動(dòng)終端上生成虛擬對(duì)象的裝置的結(jié)構(gòu)示意圖;以及
[0059]圖4示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例的在移動(dòng)終端上生成虛擬對(duì)象的裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0060]下面將參照附圖更詳細(xì)地描述本公開(kāi)的示例性實(shí)施例。雖然附圖中顯示了本公開(kāi)的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開(kāi),并且能夠?qū)⒈竟_(kāi)的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0061]為解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供了一種在移動(dòng)終端上生成虛擬對(duì)象的方法,該移動(dòng)終端可以是智能手機(jī)、平板電腦、智能手表等終端設(shè)備。圖1示出了根據(jù)本發(fā)明一實(shí)施例的在移動(dòng)終端上生成虛擬對(duì)象的方法的流程圖。如圖1所示,該方法至少可以包括以下步驟S102至步驟S106:
[0062]步驟S102,調(diào)用模型加載函數(shù),利用該模型加載函數(shù)加載用于生成虛擬對(duì)象的模型文件;
[0063]步驟S104,從模型文件中解析出模型以及該模型的動(dòng)畫(huà)參數(shù);
[0064]步驟S106,根據(jù)該模型的動(dòng)畫(huà)參數(shù),將該模型渲染生成對(duì)應(yīng)的虛擬對(duì)象。
[0065]在本發(fā)明實(shí)施例中,可以在移動(dòng)終端上生成用戶(hù)個(gè)性化需求的虛擬對(duì)象,即首先調(diào)用模型加載函數(shù),利用該模型加載函數(shù)加載用于生成虛擬對(duì)象的模型文件,隨后從模型文件中解析出模型以及該模型的動(dòng)畫(huà)參數(shù),之后根據(jù)該模型的動(dòng)畫(huà)參數(shù),將該模型渲染生成對(duì)應(yīng)的虛擬對(duì)象。本發(fā)明實(shí)施例能夠根據(jù)模型的動(dòng)畫(huà)參數(shù)渲染生成對(duì)應(yīng)的虛擬對(duì)象,實(shí)現(xiàn)了生成的虛擬對(duì)象的動(dòng)態(tài)化,提高了趣味性和交互性。
[0066]步驟S102中提及的模型文件包含多種不同的文件格式,如obj、fbx、dae等文件格式,其中,obj文件格式可以支持直線、多邊形、表面和自由形態(tài)曲線,直線和多邊形通過(guò)它們的點(diǎn)來(lái)描述,曲線和表面則根據(jù)它們的控制點(diǎn)和依附于曲線類(lèi)型的額外信息來(lái)定義,這些信息支持規(guī)則和不規(guī)則的曲線,包括那些基于貝塞爾曲線、B樣條、基數(shù)和泰勒方程的曲線。
[0067]在步驟S104中,從模型文件中解析出的模型可以是二維模型或三維模型,本發(fā)明對(duì)此不作限制。進(jìn)一步,從模型文件中解析出的模型的動(dòng)畫(huà)參數(shù)不同時(shí),步驟S106中根據(jù)該模型的動(dòng)畫(huà)參數(shù)對(duì)模型進(jìn)行渲染的方式也有所不同,下面將進(jìn)行詳細(xì)地介紹。
[0068]情況一,支持路徑動(dòng)畫(huà)。路徑動(dòng)畫(huà)是指模型按照設(shè)定的路徑來(lái)運(yùn)動(dòng),也就是說(shuō),模型的動(dòng)畫(huà)參數(shù)包括該模型的運(yùn)動(dòng)路徑以及每幀動(dòng)畫(huà)的時(shí)長(zhǎng)。此時(shí),步驟S106可選地實(shí)施為根據(jù)該模型的運(yùn)動(dòng)路徑以及每幀動(dòng)畫(huà)的時(shí)長(zhǎng),對(duì)該模型的每幀動(dòng)畫(huà)進(jìn)行渲染,以生成對(duì)應(yīng)的虛擬對(duì)象。例如,二維模型“圓”按照設(shè)定的路徑來(lái)運(yùn)動(dòng),根據(jù)該設(shè)定的路徑對(duì)該“圓”進(jìn)行渲染。又例如,三維模型“地球”繞著軸進(jìn)行自轉(zhuǎn),可以按照每幀動(dòng)畫(huà)的時(shí)長(zhǎng)對(duì)該“地球”進(jìn)行渲染,生成自轉(zhuǎn)的虛擬地球。
[0069]情況二,支持骨骼動(dòng)畫(huà)。骨骼動(dòng)畫(huà)是使用“骨頭”的運(yùn)動(dòng)來(lái)實(shí)現(xiàn)模型的動(dòng)畫(huà)。每個(gè)頂點(diǎn)被附著到一根骨頭(或者多根骨頭),一根骨頭只是一組頂點(diǎn)的一個(gè)控制點(diǎn)。這些概念類(lèi)似于人體的關(guān)節(jié),例如人體的膝關(guān)節(jié)或腕關(guān)節(jié)等。當(dāng)骨頭運(yùn)動(dòng)時(shí),每個(gè)附著在它上的頂點(diǎn)也跟著運(yùn)動(dòng)。也就是說(shuō),當(dāng)模型由多根“骨頭”或多條線段構(gòu)成時(shí),模型的動(dòng)畫(huà)參數(shù)包括該模型中線段的運(yùn)動(dòng)路徑以及每幀動(dòng)畫(huà)的時(shí)長(zhǎng)。此時(shí),步驟S106可選地實(shí)施為根據(jù)該模型中線段的運(yùn)動(dòng)路徑以及每幀動(dòng)畫(huà)的時(shí)長(zhǎng),對(duì)該模型的每幀動(dòng)畫(huà)進(jìn)行渲染,以生成對(duì)應(yīng)的虛擬對(duì)象。例如,從模型文件中解析出人體的模型,基于骨骼動(dòng)畫(huà)對(duì)該人體模型進(jìn)行渲染,可以生成“會(huì)跳舞的姑娘”的虛擬對(duì)象。這里的模型可以由多組頂點(diǎn)以及三角面構(gòu)成。
[0070]在本發(fā)明一實(shí)施例中,虛擬對(duì)象的表面上還可以映射不同的材質(zhì)來(lái)實(shí)現(xiàn)定向光照效果,例如Lambert材質(zhì),Lambert不包括任何鏡面屬性,對(duì)粗糙物體來(lái)說(shuō),這項(xiàng)屬性是非常有用的,它不會(huì)反射出周?chē)沫h(huán)境。Lambert材質(zhì)可以是透明的,在光線追蹤渲染中發(fā)生折射,但是如果沒(méi)有鏡面屬性,該類(lèi)型就不會(huì)發(fā)生折射。平坦的磨光效果可以用于磚或混凝土表面。它多用于不光滑的表面,是一種自然材質(zhì),常用來(lái)表現(xiàn)自然界的物體材質(zhì),如木頭、巖石等。
[0071]進(jìn)一步,在本發(fā)明一實(shí)施例中,還可以在虛擬對(duì)象的表面增加紋理,S卩,模型的動(dòng)畫(huà)參數(shù)包括該模型的每幀動(dòng)畫(huà)的紋理,此時(shí),步驟S106可選地實(shí)施為獲取該模型的當(dāng)前幀動(dòng)畫(huà)的紋理,并根據(jù)該模型的當(dāng)前幀動(dòng)畫(huà)的紋理對(duì)該模型的當(dāng)前幀動(dòng)畫(huà)進(jìn)行渲染,隨后,獲取該模型的下一幀動(dòng)畫(huà)的紋理,并根據(jù)該模型的下一幀動(dòng)畫(huà)的紋理對(duì)該模型的下一幀動(dòng)畫(huà)進(jìn)行渲染,直至渲染完成所有幀動(dòng)畫(huà)。
[0072]在步驟S106對(duì)模型進(jìn)行渲染的過(guò)程中可以通過(guò)增加光源的方式來(lái)增強(qiáng)展示效果,可以獲取預(yù)設(shè)的視角參數(shù)和燈光參數(shù),進(jìn)而根據(jù)預(yù)設(shè)的視角參數(shù)和燈光參數(shù),在模型上增加光源。在實(shí)際應(yīng)用中,燈光參數(shù)還可以包括環(huán)境燈光參數(shù)和主燈光參數(shù),通過(guò)視角參數(shù)、環(huán)境燈光參數(shù)以及主燈光參數(shù)的變化使得虛擬對(duì)象的展示效果更加豐富。
[0073]在本發(fā)明另一實(shí)施例中,模型的動(dòng)畫(huà)參數(shù)還可以包括循環(huán)渲染該模型的次數(shù),此時(shí),步驟S106可選地實(shí)施為根據(jù)循環(huán)渲染該模型的次數(shù),循環(huán)渲染該模型生成對(duì)應(yīng)的虛擬對(duì)象。例如,模型中是有動(dòng)作的,跑步的動(dòng)作,跑步是0.5秒的周期,需要讓用戶(hù)看起來(lái)是不停地在跑,那就需要重復(fù)這個(gè)0.5秒,它再點(diǎn)一下讓它變動(dòng)時(shí),就切換到另外那個(gè)動(dòng)作,再重復(fù)那個(gè)動(dòng)作。又例如,模型為地球,且地球在不停地自轉(zhuǎn),此時(shí),可以設(shè)定自轉(zhuǎn)的周期,如5秒,為了讓用戶(hù)看起來(lái)地球是不停地在自轉(zhuǎn),則可以在渲染時(shí)不斷地重復(fù)自轉(zhuǎn)的周期5秒。在實(shí)際應(yīng)用中,可以設(shè)定默認(rèn)狀態(tài)下根據(jù)動(dòng)畫(huà)時(shí)間循環(huán)的渲染整個(gè)模型動(dòng)畫(huà),也可以根據(jù)實(shí)際需求設(shè)定選項(xiàng)播放一次或多次。
[0074]在本發(fā)明一實(shí)施例中,可以設(shè)置idle(空閑)狀態(tài),根據(jù)該狀態(tài)進(jìn)行步驟S106的模型渲染。即,在空閑時(shí)間渲染模型,假設(shè)用戶(hù)的活動(dòng)為非idle狀態(tài),用戶(hù)指定了渲染模型的時(shí)間區(qū)間為1.01-2.0,并且只渲染一次,那么在完成用戶(hù)這項(xiàng)活動(dòng)后,就處于空閑時(shí)間,此時(shí)就可以渲染idle時(shí)間的模型,這段時(shí)間內(nèi)的模型狀態(tài)即為idle狀態(tài)。
[0075]在步驟S106根據(jù)該模型的動(dòng)畫(huà)參數(shù)將該模型渲染生成對(duì)應(yīng)的虛擬對(duì)象之后,還可以在移動(dòng)終端的顯示界面上播放虛擬對(duì)象。進(jìn)一步,本發(fā)明實(shí)施例可以預(yù)設(shè)播放時(shí)間區(qū)間,根據(jù)該預(yù)設(shè)的播放時(shí)間區(qū)間,在移動(dòng)終端的顯示界面上播放虛擬對(duì)象。
[0076]在本發(fā)明一實(shí)施例中,播放時(shí)間區(qū)間設(shè)置有空閑時(shí)間區(qū)間和非空閑時(shí)間區(qū)間。當(dāng)處于空閑時(shí)間區(qū)間時(shí),在移動(dòng)終端的顯示界面上播放虛擬對(duì)象,當(dāng)處于非空閑時(shí)間區(qū)間時(shí),在移動(dòng)終端的顯示界面上暫停虛擬對(duì)象。
[0077]在本發(fā)明的另一實(shí)施例中,在生成虛擬對(duì)象之后,可以將虛擬對(duì)象與現(xiàn)實(shí)場(chǎng)景畫(huà)面進(jìn)行融合,在移動(dòng)終端的顯示界面上展示融合后的虛擬場(chǎng)景。進(jìn)一步,在移動(dòng)終端的顯示界面上展示融合后的虛擬場(chǎng)景之后,用戶(hù)還可以與融合后的虛擬場(chǎng)景中的虛擬對(duì)象進(jìn)行交互,即,當(dāng)接收到用戶(hù)針對(duì)融合后的虛擬場(chǎng)景中的虛擬對(duì)象觸發(fā)的除指定操作以外的其他操作時(shí),響應(yīng)其他操作針對(duì)虛擬對(duì)象執(zhí)行相應(yīng)的操作,得到操作后的虛擬對(duì)象。隨后,將操作后的虛擬對(duì)象與場(chǎng)景畫(huà)面進(jìn)行融合,并展示。這里的其他操作可以是放大、縮小、位移、旋轉(zhuǎn)等操作,本發(fā)明實(shí)施例對(duì)此不做限制。
[0078]下面通過(guò)一具體實(shí)施例來(lái)詳細(xì)介紹本發(fā)明的在移動(dòng)終端上生成虛擬對(duì)象的方法的實(shí)現(xiàn)過(guò)程。在該實(shí)施例中,各個(gè)函數(shù)的接口及描述如下:
[0079](l)bool Import3DFromFiIe(const std:: string&pFile=,bool bEncrypt =false)
[0080]根據(jù)給定的模型文件路徑,以及是否加密的參數(shù)加載模型;
[0081](2)bool UpdateO
[0082]更新當(dāng)前幀的動(dòng)畫(huà)時(shí)間;
[0083](3)void SetAnimParam(float startTime,float endTime,AnimType playType=AnimTyp e_L00P)
[0084]設(shè)置非idle狀態(tài)要渲染的動(dòng)畫(huà)時(shí)間的區(qū)間;
[0085](4)void SetIdleTime(float startTime,float endTime)
[0086]設(shè)置idle狀態(tài)要渲染的動(dòng)畫(huà)時(shí)間的區(qū)間;
[0087](5)int DrawGLSceneO
[0088]渲染模型的當(dāng)前幀;
[0089](6)void setTextureFiles(std::vector<std::string>&files)
[0090]設(shè)置模型可換紋理路徑。
[0091 ]假設(shè)在目錄/var/mobi le/Containers/Bundle/Applicat1n/051CC79D_317E-450C-87B7-FB6CBBD487BB/test.app下有一個(gè)名為1.dae的模型文件。設(shè)定路徑字符串pFile= Vvar/mobiIe/Containers/BundIe/AppIi cat1n/051CC79D-317E-450C-87B7-FB6CBBD487BB/test.app/1.dae”。
[0092]圖2示出了根據(jù)本發(fā)明另一實(shí)施例的在移動(dòng)終端上生成虛擬對(duì)象的方法的流程圖。如圖2所示,該方法至少可以包括以下步驟S202至步驟S208。
[0093]步驟S202,調(diào)用模型加載函數(shù),利用該模型加載函數(shù)加載用于生成虛擬對(duì)象的模型文件。
[0094]在該步驟中,若模型加密,則調(diào)用函數(shù)Import3DFromFile(pFile,true);若模型未加密,則直接調(diào)用Import3DFromF ile(pFile)來(lái)加載模型文件。
[0095]步驟S204,從模型文件中解析出模型以及該模型的運(yùn)動(dòng)路徑、每幀動(dòng)畫(huà)的時(shí)長(zhǎng)以及每幀動(dòng)畫(huà)的紋理。
[0096]在該步驟中,若步驟S202返回true則表明模型加載成功,若未返回true則表明模型未加載成功,則需要返回步驟S202重新進(jìn)行加載。
[0097]步驟S206,獲取該模型的當(dāng)前幀動(dòng)畫(huà)的時(shí)長(zhǎng)和當(dāng)前幀動(dòng)畫(huà)的紋理,并根據(jù)該模型的運(yùn)動(dòng)路徑、當(dāng)前幀動(dòng)畫(huà)的時(shí)長(zhǎng)以及當(dāng)前幀動(dòng)畫(huà)的紋理對(duì)該模型的當(dāng)前幀動(dòng)畫(huà)進(jìn)行渲染。
[0098]步驟S208,獲取該模型的下一幀動(dòng)畫(huà)的時(shí)長(zhǎng)和下一幀動(dòng)畫(huà)的紋理,并根據(jù)該模型的運(yùn)動(dòng)路徑、下一幀動(dòng)畫(huà)的時(shí)長(zhǎng)以及下一幀動(dòng)畫(huà)的紋理對(duì)該模型的下一幀動(dòng)畫(huà)進(jìn)行渲染,直至渲染完成所有幀動(dòng)畫(huà),生成對(duì)應(yīng)的虛擬對(duì)象。
[0099]在步驟S206和步驟S208中,可以調(diào)用DrawGLScene ()函數(shù)渲染模型的當(dāng)前幀,在默認(rèn)狀態(tài)下可以根據(jù)動(dòng)畫(huà)時(shí)長(zhǎng)循環(huán)的渲染整個(gè)模型動(dòng)畫(huà);也可以設(shè)置idle狀態(tài)的時(shí)間區(qū)間和非idle狀態(tài)的時(shí)間區(qū)間。例如,要將一個(gè)模型動(dòng)畫(huà)分成兩段時(shí)間區(qū)間,分別為0-1.0、1.01-2.0,將時(shí)間區(qū)間0-1.0的動(dòng)畫(huà)設(shè)為1(116狀態(tài)播放,調(diào)用函數(shù)36?(116111^(0,1.0);將時(shí)間區(qū)間1.01-2.0的動(dòng)畫(huà)設(shè)為非i dI e狀態(tài)播放,若要循環(huán)播放該段動(dòng)畫(huà)則調(diào)用函數(shù)Se tAnimParam(1.01,2.0, AnimType_L00P),若只播放一次則調(diào)用SetAnimParam( 1.01,2.0 , AnimType_ONCE)ο
[0100]在步驟S206和步驟S208中,所渲染的模型有切換紋理的需求,例如,有兩張紋理圖分別為I 1.j P g和2 2.j P g,將兩張圖的路徑字符串存放在f i I e S中,調(diào)用函數(shù)setTextureFi Ies (files)后下一幀動(dòng)畫(huà)的清染將采用新紋理。
[0101]基于上文各個(gè)實(shí)施例提供的在移動(dòng)終端上生成虛擬對(duì)象的方法,基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例還提供了一種在移動(dòng)終端上生成虛擬對(duì)象的裝置。
[0102]圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的在移動(dòng)終端上生成虛擬對(duì)象的裝置的結(jié)構(gòu)示意圖。如圖3所示,該裝置至少可以包括模型文件加載模塊310、模型文件解析模塊320以及模型渲染模塊330。
[0103]現(xiàn)介紹本發(fā)明實(shí)施例的在移動(dòng)終端上生成虛擬對(duì)象的裝置的各組成或器件的功能以及各部分間的連接關(guān)系:
[0104]模型文件加載模塊310,適于調(diào)用模型加載函數(shù),利用所述模型加載函數(shù)加載用于生成虛擬對(duì)象的模型文件;
[0105]模型文件解析模塊320,與模型文件加載模塊310相耦合,適于從所述模型文件中解析出模型以及所述模型的動(dòng)畫(huà)參數(shù);
[0106]模型渲染模塊330,與模型文件解析模塊320相耦合,適于根據(jù)所述模型的動(dòng)畫(huà)參數(shù),將所述模型渲染生成對(duì)應(yīng)的虛擬對(duì)象。
[0107]本發(fā)明實(shí)施例提及的模型文件包含多種不同的文件格式,如obj、fbx、dae等文件格式,其中,obj文件格式可以支持直線、多邊形、表面和自由形態(tài)曲線,直線和多邊形通過(guò)它們的點(diǎn)來(lái)描述,曲線和表面則根據(jù)它們的控制點(diǎn)和依附于曲線類(lèi)型的額外信息來(lái)定義,這些信息支持規(guī)則和不規(guī)則的曲線,包括那些基于貝塞爾曲線、B樣條、基數(shù)和泰勒方程的曲線。
[0108]在本發(fā)明一實(shí)施例中,模型文件解析模塊320從模型文件中解析出的模型可以是二維模型或三維模型,本發(fā)明對(duì)此不作限制。進(jìn)一步,從模型文件中解析出的模型的動(dòng)畫(huà)參數(shù)不同時(shí),模型渲染模塊330根據(jù)該模型的動(dòng)畫(huà)參數(shù)對(duì)模型進(jìn)行渲染的方式也有所不同,下面將進(jìn)行詳細(xì)地介紹。
[0109]情況一,支持路徑動(dòng)畫(huà)。路徑動(dòng)畫(huà)是指模型按照設(shè)定的路徑來(lái)運(yùn)動(dòng),也就是說(shuō),模型的動(dòng)畫(huà)參數(shù)包括該模型的運(yùn)動(dòng)路徑以及每幀動(dòng)畫(huà)的時(shí)長(zhǎng)。此時(shí),模型渲染模塊330根據(jù)該模型的運(yùn)動(dòng)路徑以及每幀動(dòng)畫(huà)的時(shí)長(zhǎng),對(duì)該模型的每幀動(dòng)畫(huà)進(jìn)行渲染,以生成對(duì)應(yīng)的虛擬對(duì)象。例如,二維模型“圓”按照設(shè)定的路徑來(lái)運(yùn)動(dòng),根據(jù)該設(shè)定的路徑對(duì)該“圓”進(jìn)行渲染。又例如,三維模型“地球”繞著軸進(jìn)行自轉(zhuǎn),可以按照每幀動(dòng)畫(huà)的時(shí)長(zhǎng)對(duì)該“地球”進(jìn)行渲染,生成自轉(zhuǎn)的虛擬地球。
[0110]情況二,支持骨骼動(dòng)畫(huà)。骨骼動(dòng)畫(huà)是使用“骨頭”的運(yùn)動(dòng)來(lái)實(shí)現(xiàn)模型的動(dòng)畫(huà)。每個(gè)頂點(diǎn)被附著到一根骨頭(或者多根骨頭),一根骨頭只是一組頂點(diǎn)的一個(gè)控制點(diǎn)。這些概念類(lèi)似于人體的關(guān)節(jié),例如人體的膝關(guān)節(jié)或腕關(guān)節(jié)等。當(dāng)骨頭運(yùn)動(dòng)時(shí),每個(gè)附著在它上的頂點(diǎn)也跟著運(yùn)動(dòng)。也就是說(shuō),當(dāng)模型由多根“骨頭”或多條線段構(gòu)成時(shí),模型的動(dòng)畫(huà)參數(shù)包括該模型中線段的運(yùn)動(dòng)路徑以及每幀動(dòng)畫(huà)的時(shí)長(zhǎng)。此時(shí),模型渲染模塊330根據(jù)該模型中線段的運(yùn)動(dòng)路徑以及每幀動(dòng)畫(huà)的時(shí)長(zhǎng),對(duì)該模型的每幀動(dòng)畫(huà)進(jìn)行渲染,以生成對(duì)應(yīng)的虛擬對(duì)象。例如,從模型文件中解析出人體的模型,基于骨骼動(dòng)畫(huà)對(duì)該人體模型進(jìn)行渲染,可以生成“會(huì)跳舞的姑娘”的虛擬對(duì)象。這里的模型可以由多組頂點(diǎn)以及三角面構(gòu)成。
[0111]在本發(fā)明一實(shí)施例中,虛擬對(duì)象的表面上還可以映射不同的材質(zhì)來(lái)實(shí)現(xiàn)定向光照效果,例如Lambert材質(zhì),Lambert不包括任何鏡面屬性,對(duì)粗糙物體來(lái)說(shuō),這項(xiàng)屬性是非常有用的,它不會(huì)反射出周?chē)沫h(huán)境。Lambert材質(zhì)可以是透明的,在光線追蹤渲染中發(fā)生折射,但是如果沒(méi)有鏡面屬性,該類(lèi)型就不會(huì)發(fā)生折射。平坦的磨光效果可以用于磚或混凝土表面。它多用于不光滑的表面,是一種自然材質(zhì),常用來(lái)表現(xiàn)自然界的物體材質(zhì),如木頭、巖石等。
[0112]進(jìn)一步,在本發(fā)明一實(shí)施例中,還可以在虛擬對(duì)象的表面增加紋理,S卩,模型的動(dòng)畫(huà)參數(shù)包括該模型的每幀動(dòng)畫(huà)的紋理,此時(shí),模型渲染模塊330獲取該模型的當(dāng)前幀動(dòng)畫(huà)的紋理,并根據(jù)該模型的當(dāng)前幀動(dòng)畫(huà)的紋理對(duì)該模型的當(dāng)前幀動(dòng)畫(huà)進(jìn)行渲染,隨后,獲取該模型的下一幀動(dòng)畫(huà)的紋理,并根據(jù)該模型的下一幀動(dòng)畫(huà)的紋理對(duì)該模型的下一幀動(dòng)畫(huà)進(jìn)行渲染,直至渲染完成所有幀動(dòng)畫(huà)。
[0113]在模型渲染模塊330對(duì)模型進(jìn)行渲染的過(guò)程中可以通過(guò)增加光源的方式來(lái)增強(qiáng)展示效果,可以獲取預(yù)設(shè)的視角參數(shù)和燈光參數(shù),進(jìn)而根據(jù)預(yù)設(shè)的視角參數(shù)和燈光參數(shù),在模型上增加光源。在實(shí)際應(yīng)用中,燈光參數(shù)還可以包括環(huán)境燈光參數(shù)和主燈光參數(shù),通過(guò)視角參數(shù)、環(huán)境燈光參數(shù)以及主燈光參數(shù)的變化使得虛擬對(duì)象的展示效果更加豐富。
[0114]在本發(fā)明另一實(shí)施例中,模型的動(dòng)畫(huà)參數(shù)還可以包括循環(huán)渲染該模型的次數(shù),此時(shí),模型渲染模塊330根據(jù)循環(huán)渲染該模型的次數(shù),循環(huán)渲染該模型生成對(duì)應(yīng)的虛擬對(duì)象。例如,模型中是有動(dòng)作的,跑步的動(dòng)作,跑步是0.5秒的周期,需要讓用戶(hù)看起來(lái)是不停地在跑,那就需要重復(fù)這個(gè)0.5秒,它再點(diǎn)一下讓它變動(dòng)時(shí),就切換到另外那個(gè)動(dòng)作,再重復(fù)那個(gè)動(dòng)作。又例如,模型為地球,且地球在不停地自轉(zhuǎn),此時(shí),可以設(shè)定自轉(zhuǎn)的周期,如5秒,為了讓用戶(hù)看起來(lái)地球是不停地在自轉(zhuǎn),則可以在渲染時(shí)不斷地重復(fù)自轉(zhuǎn)的周期5秒。在實(shí)際應(yīng)用中,可以設(shè)定默認(rèn)狀態(tài)下根據(jù)動(dòng)畫(huà)時(shí)間循環(huán)的渲染整個(gè)模型動(dòng)畫(huà),也可以根據(jù)實(shí)際需求設(shè)定選項(xiàng)播放一次或多次。
[0115]在本發(fā)明一實(shí)施例中,可以設(shè)置idle(空閑)狀態(tài),根據(jù)該狀態(tài)進(jìn)行模型渲染。即,在空閑時(shí)間渲染模型,假設(shè)用戶(hù)的活動(dòng)為非idle狀態(tài),用戶(hù)指定了渲染模型的時(shí)間區(qū)間為1.01-2.0,并且只渲染一次,那么在完成用戶(hù)這項(xiàng)活動(dòng)后,就處于空閑時(shí)間,此時(shí)就可以渲染idle時(shí)間的模型,這段時(shí)間內(nèi)的模型狀態(tài)即為idle狀態(tài)。
[0116]在本發(fā)明一實(shí)施例中,如圖4所示,圖3展示的裝置還可以包括播放模塊340,與模型渲染模塊330相耦合,適于在模型渲染模塊330根據(jù)該模型的動(dòng)畫(huà)參數(shù)將該模型渲染生成對(duì)應(yīng)的虛擬對(duì)象之后,在移動(dòng)終端的顯示界面上播放虛擬對(duì)象。進(jìn)一步,本發(fā)明實(shí)施例可以預(yù)設(shè)播放時(shí)間區(qū)間,根據(jù)該預(yù)設(shè)的播放時(shí)間區(qū)間,在移動(dòng)終端的顯示界面上播放虛擬對(duì)象。
[0117]在本發(fā)明一實(shí)施例中,播放時(shí)間區(qū)間設(shè)置有空閑時(shí)間區(qū)間和非空閑時(shí)間區(qū)間。當(dāng)處于空閑時(shí)間區(qū)間時(shí),在移動(dòng)終端的顯示界面上播放虛擬對(duì)象,當(dāng)處于非空閑時(shí)間區(qū)間時(shí),在移動(dòng)終端的顯示界面上暫停虛擬對(duì)象。
[0118]在本發(fā)明的另一實(shí)施例中,在生成虛擬對(duì)象之后,可以將虛擬對(duì)象與現(xiàn)實(shí)場(chǎng)景畫(huà)面進(jìn)行融合,在移動(dòng)終端的顯示界面上展示融合后的虛擬場(chǎng)景。進(jìn)一步,在移動(dòng)終端的顯示界面上展示融合后的虛擬場(chǎng)景之后,用戶(hù)還可以與融合后的虛擬場(chǎng)景中的虛擬對(duì)象進(jìn)行交互,即,當(dāng)接收到用戶(hù)針對(duì)融合后的虛擬場(chǎng)景中的虛擬對(duì)象觸發(fā)的除指定操作以外的其他操作時(shí),響應(yīng)其他操作針對(duì)虛擬對(duì)象執(zhí)行相應(yīng)的操作,得到操作后的虛擬對(duì)象。隨后,將操作后的虛擬對(duì)象與場(chǎng)景畫(huà)面進(jìn)行融合,并展示。這里的其他操作可以是放大、縮小、位移、旋轉(zhuǎn)等操作,本發(fā)明實(shí)施例對(duì)此不做限制。
[0119]根據(jù)上述任意一個(gè)優(yōu)選實(shí)施例或多個(gè)優(yōu)選實(shí)施例的組合,本發(fā)明實(shí)施例能夠達(dá)到如下有益效果:
[0120]在本發(fā)明實(shí)施例中,可以在移動(dòng)終端上生成用戶(hù)個(gè)性化需求的虛擬對(duì)象,即首先調(diào)用模型加載函數(shù),利用該模型加載函數(shù)加載用于生成虛擬對(duì)象的模型文件,隨后從模型文件中解析出模型以及該模型的動(dòng)畫(huà)參數(shù),之后根據(jù)該模型的動(dòng)畫(huà)參數(shù),將該模型渲染生成對(duì)應(yīng)的虛擬對(duì)象。本發(fā)明實(shí)施例能夠根據(jù)模型的動(dòng)畫(huà)參數(shù)渲染生成對(duì)應(yīng)的虛擬對(duì)象,實(shí)現(xiàn)了生成的虛擬對(duì)象的動(dòng)態(tài)化,提高了趣味性和交互性。
[0121]在此處所提供的說(shuō)明書(shū)中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書(shū)的理解。
[0122]類(lèi)似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開(kāi)并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開(kāi)的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說(shuō),如下面的權(quán)利要求書(shū)所反映的那樣,發(fā)明方面在于少于前面公開(kāi)的單個(gè)實(shí)施例的所有特征。因此,遵循【具體實(shí)施方式】的權(quán)利要求書(shū)由此明確地并入該【具體實(shí)施方式】,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
[0123]本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中。可以把實(shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過(guò)程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的所有特征以及如此公開(kāi)的任何方法或者設(shè)備的所有過(guò)程或單元進(jìn)行組合。除非另外明確陳述,本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來(lái)代替。
[0124]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在權(quán)利要求書(shū)中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。
[0125]本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來(lái)實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的在移動(dòng)終端上生成虛擬對(duì)象的裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。
[0126]應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說(shuō)明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過(guò)同一個(gè)硬件項(xiàng)來(lái)具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱(chēng)。
[0127]至此,本領(lǐng)域技術(shù)人員應(yīng)認(rèn)識(shí)到,雖然本文已詳盡示出和描述了本發(fā)明的多個(gè)示例性實(shí)施例,但是,在不脫離本發(fā)明精神和范圍的情況下,仍可根據(jù)本發(fā)明公開(kāi)的內(nèi)容直接確定或推導(dǎo)出符合本發(fā)明原理的許多其他變型或修改。因此,本發(fā)明的范圍應(yīng)被理解和認(rèn)定為覆蓋了所有這些其他變型或修改。
[0128]本發(fā)明實(shí)施例的一方面公開(kāi)了Al、一種在移動(dòng)終端上生成虛擬對(duì)象的方法,包括:
[0129]調(diào)用模型加載函數(shù),利用所述模型加載函數(shù)加載用于生成虛擬對(duì)象的模型文件;
[0130]從所述模型文件中解析出模型以及所述模型的動(dòng)畫(huà)參數(shù);
[0131]根據(jù)所述模型的動(dòng)畫(huà)參數(shù),將所述模型渲染生成對(duì)應(yīng)的虛擬對(duì)象。
[0132]A2、根據(jù)Al所述的方法,其中,
[0133]所述模型的動(dòng)畫(huà)參數(shù)包括所述模型的運(yùn)動(dòng)路徑以及每幀動(dòng)畫(huà)的時(shí)長(zhǎng);
[0134]根據(jù)所述模型的動(dòng)畫(huà)參數(shù),將所述模型渲染生成對(duì)應(yīng)的虛擬對(duì)象,包括:
[0135]根據(jù)所述模型的運(yùn)動(dòng)路徑以及每幀動(dòng)畫(huà)的時(shí)長(zhǎng),對(duì)所述模型的每幀動(dòng)畫(huà)進(jìn)行渲染,以生成對(duì)應(yīng)的虛擬對(duì)象。
[0136]A3、根據(jù)Al所述的方法,其中,
[0137]所述模型由多條線段構(gòu)成,所述模型的動(dòng)畫(huà)參數(shù)包括所述模型中線段的運(yùn)動(dòng)路徑以及每幀動(dòng)畫(huà)的時(shí)長(zhǎng);
[0138]根據(jù)所述模型的動(dòng)畫(huà)參數(shù),將所述模型渲染生成對(duì)應(yīng)的虛擬對(duì)象,包括:
[0139]根據(jù)所述模型中線段的運(yùn)動(dòng)路徑以及每幀動(dòng)畫(huà)的時(shí)長(zhǎng),對(duì)所述模型的每幀動(dòng)畫(huà)進(jìn)行渲染,以生成對(duì)應(yīng)的虛擬對(duì)象。
[0140]A4、根據(jù)Al所述的方法,其中,
[0141]所述模型的動(dòng)畫(huà)參數(shù)包括所述模型的每幀動(dòng)畫(huà)的紋理;
[0142]根據(jù)所述模型的動(dòng)畫(huà)參數(shù),將所述模型渲染生成對(duì)應(yīng)的虛擬對(duì)象,包括:
[0143]獲取所述模型的當(dāng)前幀動(dòng)畫(huà)的紋理,并根據(jù)所述模型的當(dāng)前幀動(dòng)畫(huà)的紋理對(duì)所述模型的當(dāng)前幀動(dòng)畫(huà)進(jìn)行渲染;
[0144]獲取所述模型的下一幀動(dòng)畫(huà)的紋理,并根據(jù)所述模型的下一幀動(dòng)畫(huà)的紋理對(duì)所述模型的下一幀動(dòng)畫(huà)進(jìn)行渲染,直至渲染完成所有幀動(dòng)畫(huà)。
[ΟΙ45] A5、根據(jù)A1-A4任一項(xiàng)所述的方法,其中,
[0146]所述模型的動(dòng)畫(huà)參數(shù)包括循環(huán)渲染所述模型的次數(shù);
[0147]根據(jù)所述模型的動(dòng)畫(huà)參數(shù),將所述模型渲染生成對(duì)應(yīng)的虛擬對(duì)象,包括:
[0148]根據(jù)循環(huán)渲染所述模型的次數(shù),循環(huán)渲染所述模型生成對(duì)應(yīng)的虛擬對(duì)象。
[0149]A6、根據(jù)A1-A5任一項(xiàng)所述的方法,其中,根據(jù)所述模型的動(dòng)畫(huà)參數(shù),將所述模型渲染生成對(duì)應(yīng)的虛擬對(duì)象之后,還包括:
[0150]在所述移動(dòng)終端的顯示界面上播放所述虛擬對(duì)象。
[0151]A7、根據(jù)A6所述的方法,其中,在所述移動(dòng)終端的顯示界面上播放所述虛擬對(duì)象,包括:
[0152]預(yù)設(shè)播放時(shí)間區(qū)間;
[0153]根據(jù)所述播放時(shí)間區(qū)間,在所述移動(dòng)終端的顯示界面上播放所述虛擬對(duì)象。
[0154]AS、根據(jù)A7所述的方法,其中,
[0155]所述播放時(shí)間區(qū)間設(shè)置有空閑時(shí)間區(qū)間和非空閑時(shí)間區(qū)間;
[0156]根據(jù)所述播放時(shí)間區(qū)間,在所述移動(dòng)終端的顯示界面上播放所述虛擬對(duì)象,包括:
[0157]當(dāng)處于所述空閑時(shí)間區(qū)間時(shí),在所述移動(dòng)終端的顯示界面上播放所述虛擬對(duì)象;
[0158]當(dāng)處于所述非空閑時(shí)間區(qū)間時(shí),在所述移動(dòng)終端的顯示界面上暫停所述虛擬對(duì)象。
[0159]本發(fā)明實(shí)施例的另一方面還公開(kāi)了B9、一種在移動(dòng)終端上生成虛擬對(duì)象的裝置,包括:
[0160]模型文件加載模塊,適于調(diào)用模型加載函數(shù),利用所述模型加載函數(shù)加載用于生成虛擬對(duì)象的模型文件;
[0161]模型文件解析模塊,適于從所述模型文件中解析出模型以及所述模型的動(dòng)畫(huà)參數(shù);
[0162]模型渲染模塊,適于根據(jù)所述模型的動(dòng)畫(huà)參數(shù),將所述模型渲染生成對(duì)應(yīng)的虛擬對(duì)象。
[0163]B10、根據(jù)B9所述的裝置,其中,所述模型的動(dòng)畫(huà)參數(shù)包括所述模型的運(yùn)動(dòng)路徑以及每幀動(dòng)畫(huà)的時(shí)長(zhǎng),所述模型渲染模塊還適于:
[0164]根據(jù)所述模型的運(yùn)動(dòng)路徑以及每幀動(dòng)畫(huà)的時(shí)長(zhǎng),對(duì)所述模型的每幀動(dòng)畫(huà)進(jìn)行渲染,以生成對(duì)應(yīng)的虛擬對(duì)象。
[0165]B11、根據(jù)B9所述的裝置,其中,所述模型由多條線段構(gòu)成,所述模型的動(dòng)畫(huà)參數(shù)包括所述模型中線段的運(yùn)動(dòng)路徑以及每幀動(dòng)畫(huà)的時(shí)長(zhǎng),所述模型渲染模塊還適于:
[0166]根據(jù)所述模型中線段的運(yùn)動(dòng)路徑以及每幀動(dòng)畫(huà)的時(shí)長(zhǎng),對(duì)所述模型的每幀動(dòng)畫(huà)進(jìn)行渲染,以生成對(duì)應(yīng)的虛擬對(duì)象。
[0167]B12、根據(jù)B9所述的裝置,其中,所述模型的動(dòng)畫(huà)參數(shù)包括所述模型的每幀動(dòng)畫(huà)的紋理,所述模型渲染模塊還適于:
[0168]獲取所述模型的當(dāng)前幀動(dòng)畫(huà)的紋理,并根據(jù)所述模型的當(dāng)前幀動(dòng)畫(huà)的紋理對(duì)所述模型的當(dāng)前幀動(dòng)畫(huà)進(jìn)行渲染;
[0169]獲取所述模型的下一幀動(dòng)畫(huà)的紋理,并根據(jù)所述模型的下一幀動(dòng)畫(huà)的紋理對(duì)所述模型的下一幀動(dòng)畫(huà)進(jìn)行渲染,直至渲染完成所有幀動(dòng)畫(huà)。
[0170]B13、根據(jù)B9-B12任一項(xiàng)所述的裝置,其中,所述模型的動(dòng)畫(huà)參數(shù)包括循環(huán)渲染所述模型的次數(shù),所述模型渲染模塊還適于:
[0171]根據(jù)循環(huán)渲染所述模型的次數(shù),循環(huán)渲染所述模型生成對(duì)應(yīng)的虛擬對(duì)象。
[0172]B14、根據(jù)B9-B13任一項(xiàng)所述的裝置,其中,還包括:
[0173]播放模塊,適于在所述模型渲染模塊根據(jù)所述模型的動(dòng)畫(huà)參數(shù),將所述模型渲染生成對(duì)應(yīng)的虛擬對(duì)象之后,在所述移動(dòng)終端的顯示界面上播放所述虛擬對(duì)象。
[0174]B15、根據(jù)B14所述的裝置,其中,所述播放模塊還適于:
[0175]預(yù)設(shè)播放時(shí)間區(qū)間;
[0176]根據(jù)所述播放時(shí)間區(qū)間,在所述移動(dòng)終端的顯示界面上播放所述虛擬對(duì)象。
[0177]B16、根據(jù)B15所述的裝置,其中,所述播放時(shí)間區(qū)間設(shè)置有空閑時(shí)間區(qū)間和非空閑時(shí)間區(qū)間,所述播放模塊還適于:
[0178]當(dāng)處于所述空閑時(shí)間區(qū)間時(shí),在所述移動(dòng)終端的顯示界面上播放所述虛擬對(duì)象;
[0179]當(dāng)處于所述非空閑時(shí)間區(qū)間時(shí),在所述移動(dòng)終端的顯示界面上暫停所述虛擬對(duì)象。
【主權(quán)項(xiàng)】
1.一種在移動(dòng)終端上生成虛擬對(duì)象的方法,包括: 調(diào)用模型加載函數(shù),利用所述模型加載函數(shù)加載用于生成虛擬對(duì)象的模型文件; 從所述模型文件中解析出模型以及所述模型的動(dòng)畫(huà)參數(shù); 根據(jù)所述模型的動(dòng)畫(huà)參數(shù),將所述模型渲染生成對(duì)應(yīng)的虛擬對(duì)象。2.根據(jù)權(quán)利要求1所述的方法,其中, 所述模型的動(dòng)畫(huà)參數(shù)包括所述模型的運(yùn)動(dòng)路徑以及每幀動(dòng)畫(huà)的時(shí)長(zhǎng); 根據(jù)所述模型的動(dòng)畫(huà)參數(shù),將所述模型渲染生成對(duì)應(yīng)的虛擬對(duì)象,包括: 根據(jù)所述模型的運(yùn)動(dòng)路徑以及每幀動(dòng)畫(huà)的時(shí)長(zhǎng),對(duì)所述模型的每幀動(dòng)畫(huà)進(jìn)行渲染,以生成對(duì)應(yīng)的虛擬對(duì)象。3.根據(jù)權(quán)利要求1所述的方法,其中, 所述模型由多條線段構(gòu)成,所述模型的動(dòng)畫(huà)參數(shù)包括所述模型中線段的運(yùn)動(dòng)路徑以及每幀動(dòng)畫(huà)的時(shí)長(zhǎng); 根據(jù)所述模型的動(dòng)畫(huà)參數(shù),將所述模型渲染生成對(duì)應(yīng)的虛擬對(duì)象,包括: 根據(jù)所述模型中線段的運(yùn)動(dòng)路徑以及每幀動(dòng)畫(huà)的時(shí)長(zhǎng),對(duì)所述模型的每幀動(dòng)畫(huà)進(jìn)行渲染,以生成對(duì)應(yīng)的虛擬對(duì)象。4.根據(jù)權(quán)利要求1所述的方法,其中, 所述模型的動(dòng)畫(huà)參數(shù)包括所述模型的每幀動(dòng)畫(huà)的紋理; 根據(jù)所述模型的動(dòng)畫(huà)參數(shù),將所述模型渲染生成對(duì)應(yīng)的虛擬對(duì)象,包括: 獲取所述模型的當(dāng)前幀動(dòng)畫(huà)的紋理,并根據(jù)所述模型的當(dāng)前幀動(dòng)畫(huà)的紋理對(duì)所述模型的當(dāng)前幀動(dòng)畫(huà)進(jìn)行渲染; 獲取所述模型的下一幀動(dòng)畫(huà)的紋理,并根據(jù)所述模型的下一幀動(dòng)畫(huà)的紋理對(duì)所述模型的下一幀動(dòng)畫(huà)進(jìn)行渲染,直至渲染完成所有幀動(dòng)畫(huà)。5.根據(jù)權(quán)利要求1-4任一項(xiàng)所述的方法,其中, 所述模型的動(dòng)畫(huà)參數(shù)包括循環(huán)渲染所述模型的次數(shù); 根據(jù)所述模型的動(dòng)畫(huà)參數(shù),將所述模型渲染生成對(duì)應(yīng)的虛擬對(duì)象,包括: 根據(jù)循環(huán)渲染所述模型的次數(shù),循環(huán)渲染所述模型生成對(duì)應(yīng)的虛擬對(duì)象。6.根據(jù)權(quán)利要求1-5任一項(xiàng)所述的方法,其中,根據(jù)所述模型的動(dòng)畫(huà)參數(shù),將所述模型渲染生成對(duì)應(yīng)的虛擬對(duì)象之后,還包括: 在所述移動(dòng)終端的顯示界面上播放所述虛擬對(duì)象。7.根據(jù)權(quán)利要求6所述的方法,其中,在所述移動(dòng)終端的顯示界面上播放所述虛擬對(duì)象,包括: 預(yù)設(shè)播放時(shí)間區(qū)間; 根據(jù)所述播放時(shí)間區(qū)間,在所述移動(dòng)終端的顯示界面上播放所述虛擬對(duì)象。8.根據(jù)權(quán)利要求7所述的方法,其中, 所述播放時(shí)間區(qū)間設(shè)置有空閑時(shí)間區(qū)間和非空閑時(shí)間區(qū)間; 根據(jù)所述播放時(shí)間區(qū)間,在所述移動(dòng)終端的顯示界面上播放所述虛擬對(duì)象,包括: 當(dāng)處于所述空閑時(shí)間區(qū)間時(shí),在所述移動(dòng)終端的顯示界面上播放所述虛擬對(duì)象; 當(dāng)處于所述非空閑時(shí)間區(qū)間時(shí),在所述移動(dòng)終端的顯示界面上暫停所述虛擬對(duì)象。9.一種在移動(dòng)終端上生成虛擬對(duì)象的裝置,包括: 模型文件加載模塊,適于調(diào)用模型加載函數(shù),利用所述模型加載函數(shù)加載用于生成虛擬對(duì)象的模型文件; 模型文件解析模塊,適于從所述模型文件中解析出模型以及所述模型的動(dòng)畫(huà)參數(shù); 模型渲染模塊,適于根據(jù)所述模型的動(dòng)畫(huà)參數(shù),將所述模型渲染生成對(duì)應(yīng)的虛擬對(duì)象。10.根據(jù)權(quán)利要求9所述的裝置,其中,所述模型的動(dòng)畫(huà)參數(shù)包括所述模型的運(yùn)動(dòng)路徑以及每幀動(dòng)畫(huà)的時(shí)長(zhǎng),所述模型渲染模塊還適于: 根據(jù)所述模型的運(yùn)動(dòng)路徑以及每幀動(dòng)畫(huà)的時(shí)長(zhǎng),對(duì)所述模型的每幀動(dòng)畫(huà)進(jìn)行渲染,以生成對(duì)應(yīng)的虛擬對(duì)象。
【文檔編號(hào)】G06T13/00GK105893032SQ201610188695
【公開(kāi)日】2016年8月24日
【申請(qǐng)日】2016年3月29日
【發(fā)明人】陳杰
【申請(qǐng)人】北京奇虎科技有限公司, 奇智軟件(北京)有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1