摘 要:大規(guī)模群組動畫是虛擬現(xiàn)實技術(shù)研究的熱點之一。CS群組是用來模擬大量人物、動物和植物,并對其行為進(jìn)行控制的一種技術(shù)。結(jié)合群組動畫相關(guān)技術(shù),詳細(xì)闡述群組動畫的實現(xiàn)方法及操作流程,研究基于代理對象的方法實現(xiàn)群組動畫,并對代理對象行為加以控制,以提高三維動畫制作效率。
關(guān)鍵詞:三維動畫軟件;CS群組;代理
隨著計算機(jī)硬件性能的提高及虛擬現(xiàn)實技術(shù)的發(fā)展,CS群組動畫技術(shù)廣泛應(yīng)用在影視作品的特效制作當(dāng)中。場景中那些對觀眾產(chǎn)生強(qiáng)烈視覺沖擊的宏大、生動的場面,都是由三維動畫軟件的群組動畫技術(shù)生成的。傳統(tǒng)的關(guān)鍵幀技術(shù)是由動畫師手工設(shè)定每個角色的具體路徑和動畫,因此需要大量的時間和人力,而隨著三維軟件功能的提升,使用群組動畫和粒子技術(shù)制作大規(guī)模的動畫場景不再是難題。本文研究使用CS群組實現(xiàn)動畫過程,探討CS的群組使用方法與操作技巧,與讀者交流,達(dá)到共同提高的目的。
一、前期準(zhǔn)備
利用三維動畫軟件角色動畫系統(tǒng)中的群組功能可以在場景中創(chuàng)建大規(guī)模的角色運(yùn)動,比如萬馬奔騰、人物聚集動畫。有些時候我們可以使用 3ds Max粒子系統(tǒng)模擬這樣的運(yùn)動,但粒子系統(tǒng)會導(dǎo)致不穩(wěn)定的運(yùn)動,產(chǎn)生角色之間的交叉和不真實的轉(zhuǎn)向等問題。使用 CS的群組系統(tǒng)能很好地解決這些問題,因此我們這里著重講解利用群組實現(xiàn)大規(guī)模場景的方法。
群組動畫就是所有角色個體的集合,所以要完成群組動畫,先要使用三維軟件3ds Max制作角色個體及角色個體動畫。群體動畫技術(shù)的一個關(guān)鍵是角色模型簡化,另一個關(guān)鍵就是角色個體動畫。它制作的好壞與否直接影響后面的群組動畫,所以盡量讓動畫流暢合理,讓角色能在不同的動作模式間產(chǎn)生千變?nèi)f化的動作,也能避免群組動畫的機(jī)械性和重復(fù)性。動畫過渡效果可以使用 “變形器”修改器來完成,以實現(xiàn)角色不同動作之間的自然平滑過渡。
二、代理對象的創(chuàng)建
群組模塊中有兩個最主要的工具,即群組和代理。如果在場景中顯示大量的角色對象,那么對計算機(jī)系統(tǒng)配置有很高要求,也會給系統(tǒng)計算帶來麻煩。3ds Max 的 CS群組中代理的出現(xiàn)可以減輕計算機(jī)負(fù)荷。CS群組系統(tǒng)的仿真計算就是使用被稱為代理的不可渲染的輔助對象來進(jìn)行的??射秩緦ο笠院髮⒈绘溄拥竭@些輔助對象上。在3ds Max中新建面板 “輔助對象”中創(chuàng)建代理對象,然后對默認(rèn)的代理參數(shù)進(jìn)行設(shè)置,可以修改角色運(yùn)動的速度、轉(zhuǎn)彎的角度、轉(zhuǎn)向時的權(quán)重及傾斜角度,讓代理的運(yùn)動符合角色的運(yùn)動狀態(tài)。通過合理的參數(shù)設(shè)置能得到更精細(xì)的角色運(yùn)動效果。
三、分布代理對象
目前場景中的代理對象只有一個,要創(chuàng)建成百上千的角色就需要先對代理進(jìn)行復(fù)制。先創(chuàng)建群組輔助對象,確保群組處于選中狀態(tài),在修改面板中找到設(shè)置,單擊 “散布”按鈕,在 “克隆”選項卡中單擊 “要克隆的對象”下面的按鈕,拾取場景中的代理對象delegate001,設(shè)置想要克隆的數(shù)量,這樣就會在場景中創(chuàng)建出多個代理對象。
接下來我們要設(shè)置代理對象分布位置和代理方向。將重疊在同一位置的代理隨機(jī)分布到場景中已經(jīng)創(chuàng)建好的代理對象的表面上,也可以指定散布對象方向的選項,指定向前和向上的軸,指定一個對象作為指向的目標(biāo)對象。
四、設(shè)置行為
群組是通過一系列的行為對代理進(jìn)行控制。在群組中可以創(chuàng)建各種各樣的行為:墻排斥行為、墻搜索行為、定向行為、搜索行為、曲面到達(dá)行為、曲面跟隨行為、漫步行為、空間扭曲行為、腳本化行為、路徑跟隨行為、速度變化行為和避免行為。這些行為分別適應(yīng)了代理所代表的人物、動物的多種行為,例如模擬魚群的動作,主要用到三個行為:第一尋找目標(biāo),用于找到并跟隨噪波控制器運(yùn)動的幾何球體;第二尋找魚群,用于找到魚群的質(zhì)心;第三魚群避讓,避免代理之間相互撞擊。此外還可以添加一個風(fēng)空間扭曲來驅(qū)動魚群,呈現(xiàn)出魚受到大海涌浪的作用。添加的 “搜索行為”,可以將任何指定為代理的靜止或運(yùn)動的目標(biāo),在群組模擬期間朝著目標(biāo)移動,并在必要的時候進(jìn)行翻轉(zhuǎn)。這樣動畫師就可以在干預(yù)較少的情況下生成復(fù)雜、流暢的群體動畫。
五、行為指定
有了行為設(shè)置后,需要指定它們到代理上,這樣群組對象才能控制代理,并生成指定的動作。因為代理將要指定相同的行為屬性,所以沒有必要分別為它們指定這些行為,可以將它們創(chuàng)建為一個組,然后統(tǒng)一指定行為。如果需要設(shè)定行為對代理影響的效果,就需要修改權(quán)重。在 “行為指定”列表的每個行為后面都有一個權(quán)重值,權(quán)重是指定的行為或認(rèn)知控制器的相對效果,指定的權(quán)重值越高,它的相對效果越明顯。
在為代理指定了行為之后,如果拖動時間滑塊,代理并沒有任何的動作,是因為沒有對這些行為進(jìn)行解算。解算后,單擊動畫播放按鈕,會發(fā)現(xiàn)所有的代理生成了跟隨目標(biāo)的動畫。
六、角色與代理關(guān)聯(lián)
創(chuàng)建了新的代理,并且進(jìn)行了模擬運(yùn)算后,就可以為全部的代理指定模型了?;氐缴⒉紒韯?chuàng)建以前的克隆方向并使用 “對象/代理聯(lián)合”鏈接,綁定相關(guān)的模型到其代理上,這樣動畫屬性可以源自它們,隱藏代理和跟隨對象[3]。在同一個群組中,我們還可以為代理設(shè)置多個組,然后為每個組指定不同的行為,這樣就可以使場景中的代理對象分組執(zhí)行不同的動作,形成更為復(fù)雜的群組聚集效果。
七、結(jié)語
在動畫教學(xué)中,首先應(yīng)從心理上打破學(xué)生對群組動畫制作的距離感與恐懼感,從簡單的實例入手,讓學(xué)生學(xué)會對群體運(yùn)動的編輯與控制,激發(fā)學(xué)生的學(xué)習(xí)興趣,讓學(xué)生能靈活應(yīng)用群組工具,對不同規(guī)模和不同隊形的群體運(yùn)動實現(xiàn)有效控制,從而提高動畫制作的效率。
參考文獻(xiàn)
[1]李健,毛天露,蔣浩,等。群組動畫中的隊形約束與控制方法 [J]計算機(jī)輔助設(shè)計與圖形學(xué)學(xué)報,2010,(7):1158-1165。
[2]黃晟盛。群組動畫運(yùn)動控制的研究及應(yīng)用 [D]杭州:浙江大學(xué),2006。
[3]詹振毅。三維軟件中實現(xiàn)群組動畫的開發(fā)與應(yīng)用[J]影視技術(shù),2004,(5):36-38。