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