一種界面動(dòng)畫(huà)的實(shí)現(xiàn)方法及裝置、移動(dòng)終端和電腦終端的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于游戲設(shè)計(jì)領(lǐng)域,尤其是涉及一種通過(guò)渲染三維模型的高性能界面動(dòng)畫(huà)的實(shí)現(xiàn)方法及裝置。
【背景技術(shù)】
[0002]界面動(dòng)畫(huà),是針對(duì)界面元素和操作控件制作的動(dòng)畫(huà),一方面可以提升界面的表現(xiàn)力和儀式感,另一反面增強(qiáng)了玩家的操作反饋,優(yōu)化玩家體驗(yàn),也渲染了游戲的代入感,已是游戲UI設(shè)計(jì)中不可或缺的一部分。
[0003]目前,界面動(dòng)畫(huà)制作一般有兩種方式,一種方式是Flash資源動(dòng)畫(huà),指使用Flash直接用原生工具進(jìn)行矢量動(dòng)畫(huà)制作,或是在Flash中導(dǎo)入主體2D圖片資源,利用Flash自身的動(dòng)作編輯系統(tǒng),或是通過(guò)程序腳本對(duì)資源進(jìn)行編輯,實(shí)現(xiàn)動(dòng)作和特效,當(dāng)需要對(duì)動(dòng)作進(jìn)行一些重復(fù)性的設(shè)置和操作時(shí),就會(huì)尋求程序代碼來(lái)解決。但這種動(dòng)畫(huà)表現(xiàn)能力具有很大的限制性,依賴(lài)特效,任何一個(gè)復(fù)雜的效果都離不開(kāi)特效的表達(dá),特別是在三維動(dòng)畫(huà)的顯示上,如果要實(shí)現(xiàn)一個(gè)精美的三維動(dòng)畫(huà),要增加額外的大量資源,增加磁盤(pán)空間,增加內(nèi)存消耗,會(huì)影響游戲性能,而且動(dòng)畫(huà)本身的制作效率也大大降低。
[0004]另一種方式是通過(guò)序列幀實(shí)現(xiàn)界面動(dòng)畫(huà),指使用動(dòng)畫(huà)編輯軟件設(shè)計(jì)動(dòng)作和特效,之后輸出一張張資源圖片的序列幀,再導(dǎo)入界面編輯器,對(duì)資源圖片進(jìn)行二次加工,生成動(dòng)畫(huà)。該方法簡(jiǎn)單,表現(xiàn)效果佳,但卻以消耗大量的資源為代價(jià)。除了資源消耗量大,后期維護(hù)成本也比較高,任何一個(gè)動(dòng)作或細(xì)節(jié)的修改,都需要重新導(dǎo)出、導(dǎo)入所有的資源圖片,不利于效果的調(diào)試和迭代。例如,一段幀率24的全屏動(dòng)畫(huà)(以1024*768為標(biāo)準(zhǔn))播放3秒,需要導(dǎo)入72張1024*768大小的圖片,假設(shè)每張圖片大小為1M,則這段動(dòng)畫(huà)就需要增加72M的界面資源,這對(duì)于游戲性能是極大的考驗(yàn),對(duì)程序的封裝也增加了一定的壓力。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的在于克服現(xiàn)有技術(shù)中的缺點(diǎn)與不足,提供一種節(jié)省界面資源同時(shí)保證動(dòng)畫(huà)表現(xiàn)力的界面動(dòng)畫(huà)的實(shí)現(xiàn)方法。
[0006]本發(fā)明是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的:
[0007]一種界面動(dòng)畫(huà)的實(shí)現(xiàn)方法,通過(guò)對(duì)場(chǎng)景中的三維模型動(dòng)畫(huà)中的每一幀三維模型進(jìn)行渲染,以獲得每一幀三維模型在場(chǎng)景中的渲染圖像。
[0008]相對(duì)于現(xiàn)有技術(shù),本發(fā)明的界面動(dòng)畫(huà)的實(shí)現(xiàn)方法通過(guò)將三維模型動(dòng)畫(huà)加載在場(chǎng)景中進(jìn)行渲染,渲染后的圖像可直接應(yīng)用在動(dòng)畫(huà)的顯示中或做為其他應(yīng)用的引用圖片源,優(yōu)化了動(dòng)畫(huà)的性能,同時(shí)保證了動(dòng)畫(huà)的表現(xiàn)力,達(dá)到了界面表達(dá)的效果,提升了形式感,大幅提升玩家體驗(yàn);另外,由于每幀三維動(dòng)畫(huà)渲染在顯示界面上之后,無(wú)需保存直接顯示下一幀三維模型,這樣極大程度上節(jié)省界面資源,不占用硬盤(pán)空間,保證游戲程序的高性能。
[0009]進(jìn)一步的,所述界面動(dòng)畫(huà)的實(shí)現(xiàn)方法,包括步驟:
[00?0]加載場(chǎng)景;
[0011]設(shè)定渲染參數(shù);
[0012]加載三維模型動(dòng)畫(huà)中的每一幀三維模型至場(chǎng)景中;
[0013]獲得每一幀三維模型在場(chǎng)景中的渲染圖像。
[0014]進(jìn)一步地,所述渲染參數(shù),包括進(jìn)行渲染的虛擬攝像機(jī)的位置、視場(chǎng)角和/或焦距。
[0015]進(jìn)一步地,在獲得每一幀三維模型在場(chǎng)景中的渲染圖像之后,還包括步驟:將每一幀渲染圖像顯示在UI界面的圖片上,以形成模型動(dòng)畫(huà)界面。從而優(yōu)化了 UI界面的動(dòng)畫(huà)的性能,以及保證了 UI界面動(dòng)畫(huà)的表現(xiàn)力。
[0016]進(jìn)一步地,在將每一幀渲染圖像顯示在UI界面的圖片上之后,還包括步驟:在UI界面上顯示靜態(tài)圖片,以形成靜態(tài)界面。
[0017]進(jìn)一步地,在UI界面上顯示靜態(tài)圖片之后,還包括步驟:釋放場(chǎng)景及三維模型動(dòng)畫(huà)資源。從而進(jìn)一步節(jié)省界面資源,減少硬盤(pán)空間的占用。
[0018]進(jìn)一步地,在UI界面上顯示靜態(tài)圖片之前,還包括步驟:在111界面上插播flash動(dòng)畫(huà),由flash動(dòng)畫(huà)完成模型動(dòng)畫(huà)界面與靜態(tài)界面的銜接。
[0019]進(jìn)一步地,加載的三維模型動(dòng)畫(huà)設(shè)有節(jié)點(diǎn)動(dòng)作,在加載三維模型動(dòng)畫(huà)中的每一幀三維模型至場(chǎng)景的過(guò)程中,當(dāng)判斷當(dāng)前幀的三維模型的動(dòng)作為節(jié)點(diǎn)動(dòng)作時(shí),執(zhí)行插播flash動(dòng)畫(huà)。
[0020]另外,本發(fā)明還提供一種節(jié)省界面資源同時(shí)保證動(dòng)畫(huà)表現(xiàn)力的界面動(dòng)畫(huà)的實(shí)現(xiàn)裝置,包括場(chǎng)景加載模塊、渲染參數(shù)設(shè)定模塊、模型動(dòng)畫(huà)加載模塊和模型渲染模塊,其中,
[0021]場(chǎng)景加載模塊用于加載場(chǎng)景;
[0022]渲染參數(shù)設(shè)定模塊用于設(shè)定渲染參數(shù);
[0023]模型動(dòng)畫(huà)加載模塊用于加載三維模型動(dòng)畫(huà)中的每一幀三維模型至場(chǎng)景中;
[0024]模型渲染模塊用于獲得每一幀三維模型及場(chǎng)景的渲染圖像。
[0025]相對(duì)于現(xiàn)有技術(shù),本發(fā)明的界面動(dòng)畫(huà)的實(shí)現(xiàn)裝置通過(guò)加載場(chǎng)景和三維模型動(dòng)畫(huà),獲得的渲染圖像可直接應(yīng)用在動(dòng)畫(huà)的顯示中或做為其他應(yīng)用的引用圖片源,優(yōu)化了動(dòng)畫(huà)的性能,同時(shí)保證了界面動(dòng)畫(huà)的表現(xiàn)力,達(dá)到了界面表達(dá)的效果,提升了形式感,大幅提升玩家體驗(yàn);另外,由于每幀三維動(dòng)畫(huà)渲染在顯示界面上之后,無(wú)需保存即直接顯示下一幀三維模型,這樣極大程度上節(jié)省界面資源,不占用硬盤(pán)空間,保證游戲程序的高性能。
[0026]進(jìn)一步地,還包括顯示模塊,用于將每一幀渲染圖像顯示在UI界面的圖片上,以形成模型動(dòng)畫(huà)界面。
[0027]進(jìn)一步地,所述渲染參數(shù),包括進(jìn)行渲染的虛擬攝像機(jī)的位置、視場(chǎng)角和/或焦距。
[0028]進(jìn)一步地,還包括靜態(tài)圖片顯示模塊,用于在UI界面上顯示靜態(tài)圖片。
[0029]進(jìn)一步地,還包括資源釋放模塊,用于釋放場(chǎng)景及三維模型動(dòng)畫(huà)資源。
[0030]進(jìn)一步地,還包括flash動(dòng)畫(huà)插播模塊,用于在UI界面上插播flash動(dòng)畫(huà),由flash動(dòng)畫(huà)完成模型動(dòng)畫(huà)界面與靜態(tài)界面的銜接。
[0031]進(jìn)一步地,加載的三維模型動(dòng)畫(huà)設(shè)有節(jié)點(diǎn)動(dòng)作,還包括一節(jié)點(diǎn)動(dòng)作判斷模塊,用于在加載三維模型動(dòng)畫(huà)中的每一幀三維模型至場(chǎng)景的過(guò)程中,當(dāng)判斷當(dāng)前幀的三維模型的動(dòng)作為節(jié)點(diǎn)動(dòng)作時(shí),通知flash動(dòng)畫(huà)插播模塊插播flash動(dòng)畫(huà)。
[0032]另外,本發(fā)明還提供了與該界面動(dòng)畫(huà)的實(shí)現(xiàn)裝置對(duì)應(yīng)的移動(dòng)客戶端和電腦客戶端。
[0033]為了能更清晰的理解本發(fā)明,以下將結(jié)合【附圖說(shuō)明】闡述本發(fā)明的【具體實(shí)施方式】。
【附圖說(shuō)明】
[0034]圖1本發(fā)明界面動(dòng)畫(huà)成像的原理示意圖。
[0035]圖2是本發(fā)明實(shí)施例1的一種界面動(dòng)畫(huà)實(shí)現(xiàn)方法的步驟流程圖。
[0036]圖3是本發(fā)明實(shí)施例1的一種界面動(dòng)畫(huà)實(shí)現(xiàn)裝置的結(jié)構(gòu)示意圖。
[0037]圖4是本發(fā)明實(shí)施例2的一種界面動(dòng)畫(huà)實(shí)現(xiàn)方法的步驟流程圖。
[0038]圖5是本發(fā)明實(shí)施例2的一種界面動(dòng)畫(huà)實(shí)現(xiàn)裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0039]由于在現(xiàn)有技術(shù)中,界面動(dòng)畫(huà)的實(shí)現(xiàn)需要預(yù)先存儲(chǔ)每一幀動(dòng)畫(huà)的圖像,之后再調(diào)用顯示,當(dāng)需要顯示同一動(dòng)畫(huà)的不同角度的圖像時(shí),同樣需要另外再存儲(chǔ)對(duì)應(yīng)的動(dòng)畫(huà)圖像以供調(diào)用,這樣會(huì)占用大量?jī)?nèi)存。本案為了解決上述問(wèn)題,提出一種界面動(dòng)畫(huà)顯示的新的思路。請(qǐng)參閱圖1,本案顯示動(dòng)畫(huà)的思想為,設(shè)置一個(gè)場(chǎng)景B,在場(chǎng)景B中設(shè)置有虛擬攝像機(jī)A,同時(shí)將為模型動(dòng)畫(huà)設(shè)置在場(chǎng)景B中,通過(guò)設(shè)置虛擬攝像機(jī)A的渲染參數(shù),對(duì)場(chǎng)景B中的三維模型動(dòng)畫(huà)中的每一幀三維模型C進(jìn)行渲染,以獲得每一幀三維模型C在場(chǎng)景B中的渲染圖像,并將渲染圖像在界面D上顯示,這樣隨著每一幀的三維模型C的改變,顯示界面上也會(huì)出現(xiàn)對(duì)應(yīng)的三維模型動(dòng)畫(huà)對(duì)應(yīng)的界面動(dòng)畫(huà)。
[0040]基于以上發(fā)明思路,本案通過(guò)以下的具體實(shí)施例來(lái)進(jìn)行說(shuō)明。