官术网_书友最值得收藏!

模擬制作任務

任務一 篝火

任務背景

《小龍阿布》的劇本里有一個山洞,居住著一只邪惡的狐貍。由于山洞里光線不足,環境很黑,所以山洞里有一堆篝火,用來照亮山洞。

任務要求

設計制作一團篝火,要求符合整體的動畫風格。

任務分析

一團篝火基本上由木材、火焰、火星、煙等組成。木材是模型建造的,不需要特效人員來制作。火焰、火星、煙都可以通過Maya粒子來產生,再用后期合成軟件對渲染出來的特效素材進行調色等操作,最后和渲染組提供的圖片進行匹配合成。

本案例的重點、難點

如何讓粒子運動具備火焰運動的特征。

利用后期合成軟件對素材添加一些特效濾鏡產生火焰效果。

【素材來源】“光盤\素材\模塊02\任務一\abu”

操作步驟詳解

創建粒子發射器

01 啟動Maya,在開始制作案例前先設置以下工程目錄:選擇【File】>【Project】>【New】命令,彈出【New Project】對話框。在【Name】中設定工程目錄名,【Location】中設置工程目錄的路徑。單擊【Use Defaults】按鈕,系統會自動將【Project Locations】中的項目設置為默認值,然后單擊【Accept】按鈕,完成工程目錄的創建,如圖2-1所示。

圖2-1

02 將Maya狀態欄中的模塊改為“Dynamics”模塊,如圖2-2所示。

圖2-2

03 新建一條曲線作為粒子的發射器,選擇【create】>【CV Curve Tool】命令,在視窗中創建一條CV曲線,如圖2-3所示。

圖2-3

04 將這條CV曲線作為粒子的發射器,讓粒子從這條CV曲線上發射。先在視圖中選擇曲線,再選擇【Particles】>【Emit from object】>令,彈出【Emitter Options(Emit from object)】對話框,修改【Emitter name】和【Emitter type】01的屬性,如圖2-4所示。

圖2-4

05 對話框中的其他選項暫時先設定為默認值,單擊【Create】按鈕創建發射器。選擇【Window】>【Outliner】命令,彈出【Outliner】窗口,雙擊粒子名稱重命名,如圖2-5所示。

圖2-5

06 在【Outliner】窗口中選擇粒子發射器,按【Ctrl+A】組合鍵打開粒子發射器的屬性面板,修改【Rate】、【Direction X】、【Speed】、【Normal Speed】屬性,如圖2-6和圖2-7所示。

圖2-6

07 在【Outliner】窗口中選擇粒子,按【Ctrl+A】組合鍵打開粒子的屬性面板。先調節粒子壽命,因為默認的粒子壽命方式是Live forever,即粒子永遠存在,但是在實際案例中需要粒子在發射后經過一段時間便消失,于是需要在【Lifespan Mode】下拉菜單中選擇“Random range”選項,如圖2-8所示。

圖2-7

圖2-8

08 此時將時間線設置為500幀,因為默認的100幀時間線并不能完整地反映出所做出的效果,然后播放動畫,視圖中顯示粒子運動的效果,如圖2-9所示。

圖2-9

給粒子添加場

09 粒子附著在CV曲線上,并沒有向上運動的趨勢。下面就需要借助Maya的Fields(場)來實現所想要的運動效果。先要運用Uniform這個力場來給粒子一個向上的力,Uniform的作用就是可以使被影響物體往某個方向運動。在【Outliner】窗口中選中粒子,選擇【Fields】>【Uniform】>命令,彈出【Uniform Options】對話框,在【Uniform Field name】中為力場命名。將【Magnitude】值設置為“4”, 【Magnitude】是一個控制力場的強度值。將衰減值【Attenuation】設置為“0”,將【Direction X】設置為“0”, 【Direction Y】設置為“1”,本案例中需要【Uniform】力場來影響粒子在Y軸上的動勢,具體設置如圖2-10所示。

圖2-10

10 單擊【Create】按鈕創建力場,播放動畫觀察現在的粒子效果,如圖2-11所示。

圖2-11

11 現在粒子有了一個向上運動的狀態,但是離火焰的形態還相差很多。再為粒子添加上擾亂場【Turbulence Field】02,擾亂場的作用是可以使被影響的物體產生不規則的噪波運動效果,利用它可以模擬自然界中某些液態或者氣態(如空氣和水)無規則的運動狀態。在選中粒子的情況下選擇【Fields】>【Turbulence】>命令,彈出【Turbulence Options】對話框,為擾亂場命名,更改力場強度值【Magnitude】,衰減值【Attenuation】以及頻率值【Frequency】,【Frequency】是指振蕩力場的振動頻率,然后調節【Noise level】和【Noise Ratio】兩個數值來控制形成噪波的等級以及比率,如圖2-12所示。

圖2-12

給擾亂場添加表達式

12 單擊【Create】按鈕創建擾亂場,然后需要在擾亂場的【Phase Y】值上添加一個簡單的表達式,使得擾亂場在Y軸方向上能產生隨機的變化,來模擬火苗隨機抖動的效果,在【Turbulence】屬性面板中【PhaseY】數值框中單擊鼠標右鍵,在彈出的快捷菜單中選擇【Create New Expression】命令,如圖2-13所示。

圖2-13

13 彈出【Expression Editor】對話框,輸入表達式:flame turbulenceField.phaseY=-2.5*time;如圖2-14所示。

圖2-14

14 單擊【Edit】按鈕創建表達式,播放動畫預覽效果,這時粒子已經大致上具備了火焰的形態了,但還有需要調整之處,如圖2-15所示。

圖2-15 目前粒子效果

調節粒子的透明度和顏色

15 下面調整粒子的透明度,調整透明度能讓粒子在上升過程中有個漸隱的效果,使得粒子不是突然消失。選擇粒子,打開粒子的屬性菜單,下拉滾動條,在【Add Dynamic Attributes】擴展欄中單擊【Opacity】按鈕,如圖2-16所示,為粒子添加透明度屬性,彈出【Particle Opacity】對話框,選中【Add Per Particle Attribute】復選框,如圖2-17所示。

圖2-16

圖2-17

16 單擊【Add Attribute】按鈕完成屬性添加,這時在【Per Particle(Array)Attributes】面板中會多出一個【Opacity PP】的屬性,右鍵單擊【Opacity PP】后邊的空白部位,在出現的快捷菜單中選擇【Create Ramp】03命令,為【Opacity PP】屬性連接上一張【Ramp】貼圖,用黑白兩種顏色來控制粒子的透明度,如圖2-18所示。

圖2-18

17 然后在屬性面板中找到【Ramp Attributes】面板,將【Ramp】貼圖進行調整,用【Ramp】貼圖控制粒子透明度,貼圖的黑色區域代表透明,白色區域代表不透明,如圖2-19所示。

圖2-19

18 最后給粒子賦予一個顏色,以便能在后期軟件中方便處理粒子,方法與給粒子添加透明度屬性差不多。在選中粒子的情況下打開粒子的屬性菜單,下拉滾動條,在【Add Dynamic Attributes】擴展欄中單擊【Color】按鈕,如圖2-20所示,為粒子添加色彩屬性,彈出【Color Opacity】對話框,選中【Add Per Particle Attribute】復選框,如圖2-21所示。

圖2-20

圖2-21

19 單擊【Add Attribute】按鈕完成屬性添加,這時在【Per Particle(Array)Attributes】面板中會多出一個【RGB PP】的屬性,右鍵單擊【RGB PP】后邊的空白部位,在彈出的快捷菜單中選擇【Create Ramp】命令,為【RGB PP】屬性連接上一張【Ramp】貼圖,如圖2-22所示。

圖2-22

20 切換到【Ramp Attributes】面板,將【Ramp】貼圖顏色改為白色,此時播放動畫,粒子顏色就變成白色,有利于輸出到后期軟件中進行調整,如圖2-23所示。

圖2-23

渲染輸出圖片

21 然后需要將做好的粒子輸出成序列幀圖片的格式,方法有很多種。本案例介紹運用Hardware Render Buffer算出序列幀圖片的方法。這種方法與普通的硬件渲染方法相比較要快速很多,但是輸出圖片的質量沒有硬件渲染高,因為這種方法類似于屏幕截圖,只是將界面中的粒子以截圖的方式輸出序列幀。調整好粒子在視窗中的角度和位置,選擇【Window】>【Rendering Editors】>【Hardware Render Buffer】命令,打開【Hardware Render Buffer】窗口,選擇【Render】>【Attributes】命令,打開屬性面板,設置輸出圖片序列幀名稱、起始幀和結束幀、圖片尺寸以及圖片格式,具體參數設置如圖2-24所示。

圖2-24

22 參數設置好后在【Hardware Render Buffer】窗口上的菜單中選擇【Render】>【Render Sequence】命令,開始輸出序列幀圖片,輸出的圖片可在工程目錄設置中的【images】文本框中顯示的路徑中找到。

利用Fusion軟件對素材進行調整和合成

23 下面需要在Fusion 5.2軟件中完成,打開Fusion5.2,將輸出的序列幀圖片導入到工作區,先為序列幀圖片添加Defocus節點,選擇【Tools】>【Blur】>【Defocus】命令,將圖片節點與Defocus 1節點相連接,如圖2-25所示。

圖2-25

24 單擊工作區中的Defocus節點打開工作區右側的屬性面板,調整Defocus節點屬性,如圖2-26所示。

圖2-26

25 然后連接上Displace節點04,在菜單欄中選擇【Tools】>【Warp】>【Displace】命令,創建Displace節點,將Displace 1節點與Defocus 1節點相連接,如圖2-27所示。

圖2-27

26 選中Displace節點,調整其屬性,具體設置參數如圖2-28所示。

圖2-28

27 最后調整火焰顏色,通過ColorCorrector節點調整粒子顏色,使之得到最后想要達到的效果。ColorCorrector節點是個很強大的調色節點,能夠方便地調整畫面暗部、中部、亮部等不同部位的色彩屬性。選擇【Tools】>【Color】>【ColorCorrector】命令,創建ColorCorrector節點,將Displace節點與ColorCorrector節點相連接。先進行整體的調整,修改【Gain】值和【Gamma】值,如圖2-29所示。

圖2-29

28 分別調整火焰暗部、中部、亮部的色彩,使之達到我們想要的效果,如圖2-30所示。

圖2-30

29 此時得到的就是最終效果,通過調節ColorCorrector節點,可以得到各種不同顏色的火焰效果,包括普通火焰以及各種各樣的魔法火焰效果。讀者可以根據實際需要自行調整相關屬性,以便得到更好的效果。最終效果如圖2-31所示。

圖2-31

任務二 火焰人

任務背景

《小龍阿布》的動畫中有一只老虎,由于它得到了一枚龍珠,所以擁有了法力,可以控制火焰。老虎的身上經常會發出熊熊大火,用它來攻擊敵人。

任務要求

老虎的全身包裹在熊熊大火里面,就好像是老虎的毛發一樣,隨著老虎的運動而運動。產生的火焰還要照亮周圍的物體。本案例中火焰要求用Sprites類型的粒子來制作,與篝火案例有所區別。

任務分析

利用三維軟件Maya把老虎的三維模型變成一個面發射器,再通過面發射器發射粒子,調節粒子發射器和粒子的屬性產生火焰的運動特征。粒子從老虎身上發射出來后要往上運動,所以要給粒子添加力場。

本案例的重點、難點

怎么使用Sprites類型的粒子產生火焰運動。

【素材來源】“光盤\素材\模塊02\任務二\abu”

操作步驟詳解

創建粒子和發射器

01 啟動Maya,將狀態欄中的模塊改為“Dynamics”模塊。選擇場景中的物體,選擇【Particles】>【Emit from object】命令,創建粒子發射器。選擇【window】>【Outliner】命令,彈出【Outliner】窗口,更改粒子名稱為“particle fire”,如圖2-32所示。

圖2-32

02 在【Outliner】窗口中選擇“particle fire”粒子,按【Ctrl+A】組合鍵打開粒子的屬性面板,先調整發射器的屬性,切換到發射器屬性面板,調整【Emitter type】為“Surface”,使粒子能從其他物體表面上發出,調整粒子數量為“2000”,然后將屬性面板的滾動條向下拉,找到【Basic Emsision Speed Attributes】擴展欄,將粒子發射速度設為“0”,速度的隨機值設置為“10”如圖2-33和圖2-34所示。

圖2-33

圖2-34

03 設置好發射器屬性后調整粒子的屬性。將屬性欄的滾動條下拉到【Render Attributes】屬性欄,選擇發射的粒子類型,在【Particle Render Type】下拉菜單中選擇“Sprites”選項,單擊【Current Render Type】按鈕顯示出Sprites粒子的基本屬性,調整屬性如圖2-35所示。

圖2-35

04 調整粒子壽命值,在【Lifespan Attributes】擴展欄的【Lifespan Mode】下拉菜單中選擇“Random range”選項,然后設置【Lifespan】值以及【Lifespan Random】值,如圖2-36所示。

圖2-36

給粒子設置目標物體Goal

05 然后為粒子添加Goal屬性,在【Outliner】窗口中選擇粒子,再按住【Ctrl】鍵選中場景中發射粒子的物體,再選擇【Particles】>【Goal】命令,為粒子添加上Goal屬性。接著切換到發射器屬性面板,在【Basic Emitter Attributes】擴展欄中選中【Need Parent UV(NURBS/Poly surfaces only)】復選框。切換到粒子屬性面板,在【Add Dynamic Attributes】選項欄下單擊【General】按鈕,彈出【Add Attributes】對話框,切換到Particle面板,按住【Ctrl】鍵選擇面板中的“goalU”、“goalV”、“parentU”、“parentV”,單擊【OK】按鈕完成屬性創建,如圖2-37所示。

圖2-37

06 這時在【Per Particle(Array)Attributes】面板中會多出“goalU”、“goalV”、“parentU”、“parentV”屬性,如圖2-38所示,右鍵單擊【goalU】后邊的空白部位,在彈出的快捷菜單中選擇【Creating Expression...】命令,彈出【Expression Editor】對話框,為屬性添加表達式。

圖2-38

particle fireShape.goalU=particle fireShape. parentU;

particle fireShape.goalV=particle fireShape. parentV;

單擊【Create】按鈕完成添加表達式。

07 此時播放動畫觀察粒子效果,發現粒子只是均勻地分布在物體表面,并沒有像火焰一樣有一種上升的趨勢,如圖2-39所示。

圖2-39

為粒子添加力場

08 下面需要為粒子添加力場使之有向上運動的趨勢,選中粒子,在菜單欄中選擇【Fields】>【Uniform】命令,為粒子添加【Uniform】力場,在【Outliner】窗口選中【Uniform】力場,打開立場的屬性面板,調節力場屬性,如圖2-40所示。

圖2-40

09 此時粒子已經有了向上運動的趨勢,繼續切換回粒子屬性面板的【Per Particle(Array)Attributes】板塊,為【Goal PP】屬性連接上一張【Ramp】貼圖,右鍵單擊【Goal PP】后邊的空白處,在彈出的快捷菜單中選擇【Create Ramp】命令,然后在屬性面板中找到【Ramp】面板,將【Ramp】貼圖進行調整,如圖2-41所示。

圖2-41

給粒子賦予材質

10 下面為精靈粒子添加材質貼圖。在菜單欄中選擇【Window】>【Rendering Editors】>【Hypershade】命令,打開材質編輯器窗口,在左側材質選擇面板中選擇“Lambert”材質,此時在【Hypershade】窗口的工作區域會顯示Lambert材質球,在選擇粒子的情況下右鍵單擊Lambert材質球,選擇【Assign Material To Selection】選項,如圖2-42所示。

圖2-42

11 此時已經為粒子添加上了Lambert材質。選中粒子,在粒子的屬性面板中找到Lambert材質屬性面板,單擊在【Color】屬性后的按鈕,彈出【Create Render Node】對話框,在【Textures】選項卡下的【2D Textures】區域中,單擊【File】為【Color】屬性連接上貼圖,如圖2-43所示。

圖2-43

12 接下來會直接切換到File節點的屬性面板,單擊【Image Name】后邊的按鈕,導入火焰的序列幀圖片,選中【Use Image Sequence】復選框,這個選項的作用是在播放動畫時精靈粒子顯示的是序列幀動畫的效果;取消選中【Use Image Sequence】復選框時,精靈粒子只顯示單幀圖片的效果,如圖2-44所示。

圖2-44

13 下拉屬性面板的滾動條,找到【Color Balance】擴展欄,打開后設置火焰貼圖的顏色,單擊【Color Gain】調色框,彈出【Color Chooser】對話框,選擇接近橘紅色的顏色,單擊【Accept】按鈕,如圖2-45所示。

圖2-45

14 返回Lambert材質的屬性面板,將【Common Material Attributes】擴展欄下的【Diffuse】值設置為“2”。播放動畫預覽下效果,如圖2-46所示。

圖2-46

調整粒子的大小和隨機值

15 現在的效果離最終要達到的最終效果還是有很大差距的,接下來需要調整粒子的大小以及再給它一個隨機旋轉的值,使得火焰有更多的變化。切換回粒子屬性面板,在【Add Dynamic Attributes】選項欄下單擊【General】按鈕,彈出【Add Attributes】對話框,切換到【Particle】選項卡,按住【Ctrl】鍵選擇面板中的“spriteScaleXPP”、“spriteScaleYPP”、“spriteTwistPP”,單擊【OK】按鈕完成創建屬性,如圖2-47所示。

圖2-47

16 右鍵單擊【spriteTwistPP】后面的空白部位,在彈出的快捷菜單中選擇【Creating Expression】命令,彈出【Expression Editor】對話框,為屬性添加表達式:

particle fireShape.spriteTwistPP=rand(-10,10);

particle fireShape.spriteScaleXPP=rand(.5, 1.5)*particle fireShape.spriteScaleX;

particle fireShape.spriteScaleYPP=rand(.5, 1.5)*particle fireShape.spriteScaleXPP;

單擊【Edit】按鈕完成添加表達式,此時再播放時間線預覽動畫,發現粒子發射時已經有了一些隨機的旋轉角度變化,只是粒子大小還不夠,需要調整粒子大小。此時無須修改表達式來調整粒子大小,只需要調整粒子屬性面板中【Render Attributes】卷展欄下的【Sprite Scale X】屬性,將值設置為“3”,如圖2-48所示。

圖2-48

調整粒子的透明度

17 再來為精靈粒子添加透明度的屬性,用【Bump】貼圖來控制粒子透明度,使粒子壽命結束時消失得不是那么突然。選擇粒子,打開粒子的屬性菜單,下拉滾動條,在【Add Dynamic Attributes】面板中單擊【Opacity】選項,如圖2-49所示,為粒子添加透明度屬性,彈出【Particle Opacity】對話框,選中【Add Per Particle Attribute】復選框,如圖2-50所示。

圖2-49

圖2-50

18 單擊【Add Attribute】按鈕完成屬性添加,這時在【Per Particle(Array)Attributes】面板中會多出一個【Opacity PP】的屬性,右鍵單擊【Opacity PP】后邊的空白部位,在出現的快捷菜單中選擇【Create Ramp】命令,為【Opacity PP】屬性連接上一張【Ramp】貼圖,用黑白兩種顏色來控制粒子的透明度,如圖2-51所示。

圖2-51

19 播放動畫觀察粒子,火焰的效果已經基本形成了,但是火焰并不是十分自然,因為我們為精靈粒子附上的貼圖是序列幀圖片,現在所有的粒子發射出來后每一幀的畫面都是一樣的,這就需要給這些粒子發射時的序列幀顯示賦予隨機值,使得粒子發射時火焰形態不那么統一。切換回粒子屬性面板,在【Add Dynamic Attributes】選項欄下單擊【General】按鈕,彈出【Add Attributes】對話框,切換到【Particle】面板,選擇【spriteNumPP】,單擊【OK】按鈕創建屬性,右鍵單擊【spriteNumPP】后邊的空白部位,在彈出的快捷菜單中選擇【Creating Expression】命令,彈出【Expression Editor】對話框,為屬性添加表達式:

particle fireShape.spriteNumPP=rand(1,50);

然后在【Expression Editor】對話框中找到【Particle】選項,選擇【Runtime before dynamics】,因為之前的表達式都是添加在【Creation】中,在【Runtime before dynamics】的【Expression】文本框中添加表達式:

particle fireShape.spriteNumPP+=1;

單擊【Edit】按鈕創建表達式。

20 播放動畫預覽,此時火焰表現已經自然很多了。為了使火焰更加自然,再為粒子添加一個【Turbulence】力場,在選中粒子的情況下選擇【Fields】>【Turbulence】命令創建立場。在【Outliner】窗口中選擇【Turbulence】力場,打開其屬性面板,調整其【Turbulence Field Attributes】卷展欄下的屬性如圖2-52所示。

圖2-52

21 在這里還可以為【Phase Y】這個屬性添加表達式,使得Turbulence力場在Y軸方向上能產生隨機變化來模擬火苗隨機抖動的效果,在【Turbulence】屬性面板中【Phase Y】的數值框中單擊右鍵,在彈出的快捷菜單中選擇【Creat New Expression】命令,打開【Expression Editor】對話框,如圖2-53所示。為【Phase Y】添加表達式,輸入表達式:

turbulenceField1.phaseY=-5*time;

圖2-53

22 此時預覽下最終效果,如圖2-54所示。

圖2-54

主站蜘蛛池模板: 老河口市| 莱阳市| 庆云县| 达日县| 富阳市| 鄂伦春自治旗| 栖霞市| 怀来县| 普洱| 攀枝花市| 百色市| 肇州县| 紫阳县| 余姚市| 罗定市| 阿瓦提县| 漳浦县| 张家界市| 肥乡县| 怀柔区| 邹城市| 申扎县| 邢台市| 介休市| 莆田市| 高邮市| 漳平市| 巩义市| 张家港市| 东光县| 顺昌县| 瓦房店市| 镇平县| 沅陵县| 五家渠市| 五华县| 韶关市| 大洼县| 庆阳市| 白朗县| 左权县|