先看效果圖
下面來(lái)講解制作流程
1. 創(chuàng)建草的筆刷,適當(dāng)調(diào)整參數(shù)如圖。讓草直一點(diǎn),隨后好任意旋轉(zhuǎn)
調(diào)整筆刷生長(zhǎng)動(dòng)畫。我們將主要通過(guò)設(shè)置start time來(lái)生成草地生長(zhǎng)的動(dòng)畫。當(dāng)然,如果你愿意,你還可以調(diào)整speed的值來(lái)獲得不同的生長(zhǎng)速度
重命名筆刷為:grass,創(chuàng)建一個(gè)空的組物體,我們將用它來(lái)放隨后復(fù)制的筆刷物體。創(chuàng)建一個(gè)circle并作100幀的縮放動(dòng)畫。讓circle發(fā)射粒子,速度為0,我們將在每一個(gè)粒子產(chǎn)生的地方放置一個(gè)筆刷。場(chǎng)景如圖
選擇粒子,創(chuàng)建creation expression:
string $grassN[]=`duplicate -rr -un grass`;//copy grass
parent $grassN[0] grassGrp; //put the duplicated brush under the grassGrp
vector $p=particleShape1.birthWorldPosition/2.5;//不知道為什么這個(gè)birthWorldPosition和絕對(duì)坐標(biāo)只有出入。總較實(shí)際的小,所以我除了個(gè)系數(shù)。
move -a ($p.x) ($p.y) ($p.z) $grassN[0];
rotate -r 0 (rand(360)) 0 $grassN[0];//let brush natural
string $nTemp[]=`listHistory $grassN[0]`;//find duplicated brush curve
parent $nTemp[3] grassGrp;
string $cmd="setAttr "+$nTemp[1]+".startTime "+frame/25;//set the starting grow time
eval($cmd);
現(xiàn)在復(fù)制的筆刷能夠順利的生長(zhǎng)了,但是回放的時(shí)候卻不能自動(dòng)刪除,我們得在0幀的時(shí)候reset一下
選擇grassGrp創(chuàng)建一個(gè)命名為reset的表達(dá)式:
if(frame==0)
{
select -r -hi grassGrp;//select group and it's children
select -tgl grassGrp; //deselect the group Obj
delete;
}
下面來(lái)講解制作流程
1. 創(chuàng)建草的筆刷,適當(dāng)調(diào)整參數(shù)如圖。讓草直一點(diǎn),隨后好任意旋轉(zhuǎn)
調(diào)整筆刷生長(zhǎng)動(dòng)畫。我們將主要通過(guò)設(shè)置start time來(lái)生成草地生長(zhǎng)的動(dòng)畫。當(dāng)然,如果你愿意,你還可以調(diào)整speed的值來(lái)獲得不同的生長(zhǎng)速度
重命名筆刷為:grass,創(chuàng)建一個(gè)空的組物體,我們將用它來(lái)放隨后復(fù)制的筆刷物體。創(chuàng)建一個(gè)circle并作100幀的縮放動(dòng)畫。讓circle發(fā)射粒子,速度為0,我們將在每一個(gè)粒子產(chǎn)生的地方放置一個(gè)筆刷。場(chǎng)景如圖
選擇粒子,創(chuàng)建creation expression:
string $grassN[]=`duplicate -rr -un grass`;//copy grass
parent $grassN[0] grassGrp; //put the duplicated brush under the grassGrp
vector $p=particleShape1.birthWorldPosition/2.5;//不知道為什么這個(gè)birthWorldPosition和絕對(duì)坐標(biāo)只有出入。總較實(shí)際的小,所以我除了個(gè)系數(shù)。
move -a ($p.x) ($p.y) ($p.z) $grassN[0];
rotate -r 0 (rand(360)) 0 $grassN[0];//let brush natural
string $nTemp[]=`listHistory $grassN[0]`;//find duplicated brush curve
parent $nTemp[3] grassGrp;
string $cmd="setAttr "+$nTemp[1]+".startTime "+frame/25;//set the starting grow time
eval($cmd);
現(xiàn)在復(fù)制的筆刷能夠順利的生長(zhǎng)了,但是回放的時(shí)候卻不能自動(dòng)刪除,我們得在0幀的時(shí)候reset一下
選擇grassGrp創(chuàng)建一個(gè)命名為reset的表達(dá)式:
if(frame==0)
{
select -r -hi grassGrp;//select group and it's children
select -tgl grassGrp; //deselect the group Obj
delete;
}