用Maya制作物體熔化變形的三維效果動(dòng)畫的方法和技巧。我們用大家最熟悉的花瓶作為熔化變形的對(duì)象。
建立花瓶的剖面曲線,用revolve命令建立花瓶曲面。
選擇花瓶,選擇菜單 deform-create lattice-options 設(shè)置 s=6,t=6,u=6,選create。
這里把lattice轉(zhuǎn)換成柔體,選擇ffd1 lattice,選菜單soft/rigid bodies - create soft body - options,采用默認(rèn)的屬性,點(diǎn)擊create。
建立一個(gè)nurbs平面,移動(dòng)到花瓶的下端,patches U=10 V=10 請(qǐng)確認(rèn)花瓶和平面在初始的時(shí)候沒有接觸。
加一個(gè)重力場(chǎng)到柔體,選擇ffd1lattice,選擇fields-gravity;添加碰撞屬性,選擇ffd1 lattice,然后選擇平面,選菜單 particles-make collide。
消除錯(cuò)誤
現(xiàn)在動(dòng)畫已經(jīng)產(chǎn)生了,不過(guò)有可能產(chǎn)生錯(cuò)誤的計(jì)算。我們可以通過(guò)添加兩個(gè)屬性和幾行exPRession來(lái)解決這個(gè)問(wèn)題。
在outline窗口,選display-shapes 為on,選擇 ffd1latticeParticleShape 選擇菜單 modify-add attribute.. 然后按如下設(shè)置
attribute name = spread
Data Type = Float
Attribute Type = Scalar
選擇add,添加一個(gè)屬性,然后采用相同的設(shè)置,添加多一個(gè)屬性叫thickness,點(diǎn)擊ok。
現(xiàn)在建立expression,使其產(chǎn)生熔化的效果,選擇ffd1latticeParticleShape,然后Window -> Animation Editors -> Expression Editor.
寫入下面的表達(dá)式:
vector$melt = ffd1LatticeParticleShape.worldPosition; float $spread = ffd1LatticeParticleShape.spread; float $thickness = ffd1LatticeParticleShape.thickness; if ($melt.y < $thickness) ffd1LatticeParticleShape.velocity = unit_ (ffd1LatticeParticleShape.worldPosition - <<0,0,0>>) * $spread;
點(diǎn)擊create。
現(xiàn)在很容易就可以通過(guò)spread和thickness屬性來(lái)控制熔化的動(dòng)畫了,選擇ffd1latticeParticle,在channel box里面,把spread設(shè)置為4,把thickness設(shè)置為1,看看動(dòng)畫的效果。
更進(jìn)一步控制動(dòng)畫
(1)如果要減緩熔化的速度,可以把gravity的magnitude屬性降低。
(2)試驗(yàn)一下不同的spread和thickness的搭配,會(huì)有不同的效果。
(3)也可以加一些turbulence場(chǎng)來(lái)使動(dòng)畫更隨機(jī)。