
諸暨動(dòng)畫(huà)設(shè)計(jì)制作虛擬行人的5種行為
2)角色行為控制模型 在對(duì)虛擬角色動(dòng)力控制模型的建?;A(chǔ)上,我們通過(guò)對(duì)受力向量的數(shù)學(xué)計(jì)算得出合成受力,從而 驅(qū)使虛擬行人的各種行為。
(1)位置點(diǎn)追尋與逃離行為。 位置點(diǎn)追尋行為( seek)用于調(diào)整角色的速度向量指向目標(biāo)位置,使得虛擬角色朝著指定的位置運(yùn) 動(dòng)。目標(biāo)速度的方向由角色指向目標(biāo),大小為最大速度或者是角色的當(dāng)前速度,而角色的受力速度方 向則是目標(biāo)速度與當(dāng)前速度的差值。 逃離行為( flee)的具體策略和追尋是一樣的,只是目標(biāo)速度相反。圖5. 23 追尋與逃離圖5. 24 到達(dá)
(2)到達(dá)行為。 到達(dá)( arrival)行為在角色距離目標(biāo)比較遠(yuǎn)的時(shí)候,和追逐是一模一樣的。但是,它并不會(huì)控制 角色全速通過(guò)目標(biāo)。當(dāng)角色離目標(biāo)比較近的時(shí)候,它會(huì)使角色減速,最終緩慢到達(dá)指定的位置。如圖 5-24所示,角色在距離目標(biāo)一定距離的時(shí)候就會(huì)開(kāi)始減速,該距離可作為該行為控制中的參數(shù)。
(3)避開(kāi)障礙。 避開(kāi)障礙行為賦予了一個(gè)角色躲開(kāi)環(huán)境中障礙的能力,這一點(diǎn)在虛擬場(chǎng)景中至關(guān)重要。在檢測(cè)時(shí) ,我們將虛擬角色和各種障礙都抽象為球體,這樣做可以實(shí)現(xiàn)更有效率的碰撞檢測(cè)。 如圖5.25所示,避開(kāi)障礙行為的過(guò)程如下:在角色的前進(jìn)路線方向上繪制一個(gè)虛擬的圓柱體(圖 5. 25中淺色的圓柱體),圓柱體的地面半徑等于角色的保衛(wèi)球半徑(確保將角色包含進(jìn)去),圓柱體 的高由角色的速度和靈活性等參數(shù)決定。算法對(duì)每個(gè)障礙物進(jìn)行遍歷,判斷圓柱體是否與它相碰,只 需采用簡(jiǎn)單的幾何計(jì)算即可實(shí)現(xiàn)相交性檢測(cè)。對(duì)落在圓柱體影響范圍外的障礙無(wú)需處理,否則選擇距 離圓柱體最近的障礙物圖5. 25 避開(kāi)障礙 *flash動(dòng)畫(huà)創(chuàng)作與后期視頻處理技術(shù)*作為最有可能發(fā)生碰撞的候選障礙物。避開(kāi)障礙行為通過(guò)對(duì)角色 施加與圓心到障礙物中心相反的推力來(lái)使它遠(yuǎn)離障礙物。
(4)路徑跟隨。 路徑跟隨行為會(huì)使一個(gè)角色沿著一條既定的路線前進(jìn)。我們將路徑描述為一根中心線和一條半徑 。中心線代表了這條路徑的方向,而以這個(gè)中心線和半徑生成的“圓柱體”就是這條路徑。路徑跟隨 行為使角色沿著這個(gè)特定的路徑管道前進(jìn),如果最初角色沒(méi)有在這T -路徑之內(nèi),它就必須首先選擇就 近位置進(jìn)入這條路徑才能實(shí)現(xiàn)跟隨行為。路徑跟隨行為iJ:意如圖5. 26所示。 圖5. 26 路徑跟隨
(5)漫游。 漫游是隨機(jī)行為控制的一種。在每一幀對(duì)角色施加一個(gè)隨機(jī)的外力。會(huì)造成角色的不規(guī)則運(yùn)動(dòng), 無(wú)法保證運(yùn)動(dòng)的真實(shí)感。于是我們保持外力施加的方向,并在每一幀的位置加上一個(gè)隨機(jī)的位移,使 角色隨機(jī)的從一個(gè)地點(diǎn)走到另一個(gè)地點(diǎn)。具體做法是:將控制力固定在角色前方一個(gè)球體上(見(jiàn)圖5. 27中的大圓),每一幀將一個(gè)隨機(jī)的位移添加在上一幀的控制力上,訐將得到的結(jié)果強(qiáng)制約束到這個(gè) 球體的表面。其中球體的半徑?jīng)Q定了漫游中最大的“力”,隨機(jī)位移的大小由圖中的小圓半徑?jīng)Q定。 漫游行為示意圖如圖5-27所示。
轉(zhuǎn)載請(qǐng)注明:
諸暨flash動(dòng)畫(huà)制作公司:http://www.haldonestatewines.com/city193/