![對象屬性表達式_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/11/2ff141b1-c73e-42b5-bc68-73ba2b422bab/2ff141b1-c73e-42b5-bc68-73ba2b422bab1.gif)
![對象屬性表達式_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/11/2ff141b1-c73e-42b5-bc68-73ba2b422bab/2ff141b1-c73e-42b5-bc68-73ba2b422bab2.gif)
![對象屬性表達式_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/11/2ff141b1-c73e-42b5-bc68-73ba2b422bab/2ff141b1-c73e-42b5-bc68-73ba2b422bab3.gif)
![對象屬性表達式_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/11/2ff141b1-c73e-42b5-bc68-73ba2b422bab/2ff141b1-c73e-42b5-bc68-73ba2b422bab4.gif)
![對象屬性表達式_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/11/2ff141b1-c73e-42b5-bc68-73ba2b422bab/2ff141b1-c73e-42b5-bc68-73ba2b422bab5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、藝術(shù)與傳媒學院藝術(shù)與傳媒學院第第八八章章 對象屬性表達式對象屬性表達式 唐俊唐俊v 第一節(jié)第一節(jié) 表達式表達式 第一節(jié)第一節(jié) 表達式表達式 v (1)表達式的定義v 在Maya中,表達式是計算場景中一個或多個屬性值的腳本。v 我們知道,通過創(chuàng)建一系列的關(guān)鍵幀,可以將任何屬性在Maya中動畫化。表達式也可以用于將屬性動畫化,但不是通過設(shè)置關(guān)鍵幀,而是通過MEL命令來定義屬性的值而實現(xiàn)的。表達式可用于創(chuàng)建復雜的動畫,而不涉及或很少涉及手動操作。第一節(jié)第一節(jié) 表達式表達式 v (2)表達式的分類v 共有兩種類型的表達式:v 控制單個對象屬性(per-object attributes)的對象屬對象屬
2、性表達式性表達式(object attribute expressions);v 控制粒子對象中的單個粒子屬性(per-particle attributes)的粒子表達式粒子表達式(particle expressions)。第一節(jié)第一節(jié) 表達式表達式 v 雖然表面上這兩種表達式十分類似,但是這兩種表達式的創(chuàng)建和使用卻有很大的區(qū)別。本章著重學習對象屬性表達式(object attribute expressions)。v 第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v 舉例舉例1:nurbs球體勻速穿過球體勻速穿過X軸軸v 用結(jié)構(gòu)化的程序設(shè)計方法用結(jié)
3、構(gòu)化的程序設(shè)計方法“自頂向下、逐步求精自頂向下、逐步求精”來分來分析問題:析問題:v 第一步,創(chuàng)建一個nurbs球體;v 第二步,讓球體勻速穿過X軸。第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v進一步細化:進一步細化:v 第一步,創(chuàng)建一個nurbs球體;手動創(chuàng)建即可,可以實現(xiàn)。v 第二步,讓球體勻速穿過X軸讓球體的translateX屬性和時間聯(lián)系起來。 第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v “第二步第二步”再一次細化:再一次細化:v 在表達式中,需要獲取當前的時間。Maya提供了兩種預定義的函數(shù):time和frame。v time函數(shù)存儲當前時間(以秒為單位)。v frame函數(shù)
4、存儲當前幀。v “第二步”可以實現(xiàn)為:v 球體的translateX屬性= time函數(shù)或frame函數(shù);第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v 舉例舉例2:創(chuàng)建一個帶有屬性:創(chuàng)建一個帶有屬性revolutions的球體。當?shù)那蝮w。當revolutions屬性從屬性從0變化到變化到1時,球體繞時,球體繞Y軸旋轉(zhuǎn)一周。軸旋轉(zhuǎn)一周。v 用結(jié)構(gòu)化的程序設(shè)計方法用結(jié)構(gòu)化的程序設(shè)計方法“自頂向下、逐步求精自頂向下、逐步求精”來分來分析問題:析問題:v 第一步,創(chuàng)建球體v 第二步 ,增加屬性revolutionsv 第三步,用revolutions屬性來控制球體繞Y軸的旋轉(zhuǎn)第二節(jié)第二節(jié) 對象屬性表
5、達式對象屬性表達式 v 進一步細化:進一步細化:v 第一步,創(chuàng)建球體手動創(chuàng)建即可,可以實現(xiàn)。v 第二步,增加屬性revolutions打開屬性編輯器,手動增加即可,可以實現(xiàn)。v 第三步,用revolutions屬性來控制球體繞Y軸的旋轉(zhuǎn)用revolutions屬性來控制球體的rotateY屬性。第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v“第三步第三步”再一次細化:再一次細化:v 用revolutions屬性01的變化控制球體的rotateY屬性0360變化。v球體的rotateY屬性=revolutions屬性*360第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v 舉例舉例3:兩個球體,都
6、繞:兩個球體,都繞Y軸旋轉(zhuǎn),球體軸旋轉(zhuǎn),球體1滯后于球體滯后于球體2 45。v 用結(jié)構(gòu)化的程序設(shè)計方法用結(jié)構(gòu)化的程序設(shè)計方法“自頂向下、逐步求精自頂向下、逐步求精”來分來分析問題:析問題:v 第一步,創(chuàng)建兩個球體v 第二步,控制球體1繞Y軸的旋轉(zhuǎn)滯后于球體2 45第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v 進一步細化:進一步細化:v 第一步,創(chuàng)建兩個球體手動創(chuàng)建即可,可以實現(xiàn)。v 第二步,控制球體1繞Y軸的旋轉(zhuǎn)滯后于球體2 45球體1的rotateY屬性滯后于球體2的rotateY屬性45。第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v “第二步第二步”再一次細化:再一次細化:v 球體2的
7、rotateY屬性=球體1的rotateY屬性-45v 補充:補充:v 可以用球體1的rotateY屬性來控制球體2的rotateY屬性;反之,不行。第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v 舉例舉例4:在場景中橫向移動的球體上下擺動。:在場景中橫向移動的球體上下擺動。v 用結(jié)構(gòu)化的程序設(shè)計方法“自頂向下、逐步求精”來分析問題:v 第一步,創(chuàng)建球體v 第二步,控制球體橫向移動v 第三步,控制球體的上下擺動第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v 進一步細化:進一步細化:v 第一步第一步,創(chuàng)建球體手動創(chuàng)建即可,可以實現(xiàn)。v 第二步第二步,控制球體橫向移動兩種辦法v 第一種辦法,關(guān)鍵幀
8、動畫v 第二種辦法,讓球體勻速穿過X軸讓球體的translateX屬性和時間聯(lián)系起來。球體的translateX屬性= time函數(shù)或frame函數(shù);v 第三步第三步,控制球體的上下擺動控制球體的translateY屬性,讓它的值上下波動。第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v “第三步第三步”再一次細化:再一次細化:v 控制球體的translateY屬性,讓它的值上下波動v 能否直接用time函數(shù)或frame函數(shù)來控制?第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v 對于沒有規(guī)律的隨機行為, Maya提供了兩種常用的隨機函數(shù):v rand函數(shù)rand(1,2)生成1和2之間的隨機數(shù)字
9、。每次調(diào)用的結(jié)果都不一樣。v noise函數(shù)noise(自變量)生成一個隨機數(shù)字,有兩個特征:v 函數(shù)的自變量相同時,計算結(jié)果也相同;v 大小相近的自變量,計算結(jié)果也相近。第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v能否用能否用rand函數(shù)來控制?函數(shù)來控制?vnurbsSphere1.translateY=rand(0,1);v運動毫無規(guī)律,每次播放到相同的幀,都會生成不同數(shù)字,球體的translateY屬性值也就不同。第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v能否用能否用noise函數(shù)來控制?函數(shù)來控制?vnurbsSphere1.translateY=noise(nurbsSphe
10、re1.translateX); 第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v 球體運動不像以前那樣亂,現(xiàn)在希望它的運動稍微平穩(wěn)一些v nurbsSphere1.translateY=noise(nurbsSphere1.translateX/2);v noise函數(shù),輸入值變化速度小了,輸出的值變化速度也相應的變小。第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v希望波動的幅度大一些vnurbsSphere1.translateY=5*noise(nurbsSphere1.translateX); 第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v 如果希望有規(guī)律的波動如果希望有規(guī)律的波動sin
11、函數(shù)函數(shù) vy=sin(x)x0y1-12232第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v用sin函數(shù)來控制vnurbsSphere1.translateY=sin(輸入);第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v輸入可以是v1、輸入是位移的變化:、輸入是位移的變化:v輸入輸入nurbsSphere1.translateXvnurbsSphere1.translateY=sin(nurbsSphere1.translateX);第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v希望波動的快一些希望波動的快一些vnurbsSphere1.translateY=sin(nurbsSphere
12、1.translateX*5);v希望波動的幅度大一些希望波動的幅度大一些vnurbsSphere1.translateY=5*sin(nurbsSphere1.translateX*5);第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v2、輸入是時間的變化:、輸入是時間的變化:v輸入time函數(shù)或frame函數(shù)vnurbsSphere1.translateY= sin(time);第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v希望波動的快一些希望波動的快一些vnurbsSphere1.translateY=sin(time*5);v希望波動的幅度大一些希望波動的幅度大一些vnurbsSpher
13、e1.translateY=5*sin(time);第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v 或者用或者用frame函數(shù)函數(shù)v nurbsSphere1.translateY= sin(frame);v 希望波動的慢一些希望波動的慢一些v nurbsSphere1.translateY=sin(frame/5);v 希望波動的幅度大一些希望波動的幅度大一些v nurbsSphere1.translateY=5*sin(frame);第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v隨時間和位移的變化的區(qū)別在于如果位移不變,則球體不上下波動。而時間則不會。第二節(jié)第二節(jié) 對象屬性表達式對象屬性表
14、達式 v 舉例舉例5:要使一個球體在移動中自動地時隱時現(xiàn)。:要使一個球體在移動中自動地時隱時現(xiàn)。v 用結(jié)構(gòu)化的程序設(shè)計方法“自頂向下、逐步求精”來分析問題:v 第一步,創(chuàng)建球體v 第二步,控制球體移動v 第三步,使球體時隱時現(xiàn)第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v 進一步細化:進一步細化:v 第一步第一步,創(chuàng)建球體手動創(chuàng)建即可,可以實現(xiàn)。v 第二步第二步,控制球體移動有多種辦法v 第一種辦法,關(guān)鍵幀動畫v 第二種辦法,讓球體的translateX、translateY、translateZ屬性和時間聯(lián)系起來。v 第三種辦法,使用路徑動畫,我們使用此方法手動創(chuàng)建即可,可以實現(xiàn)。第二節(jié)第二
15、節(jié) 對象屬性表達式對象屬性表達式 v第三步第三步,使球體時隱時現(xiàn)控制球體的材質(zhì)的R、G、B屬性,隨時間或者位移的變化而在01之間變化。 第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v“第三步第三步”再一次細化:再一次細化:v控制球體的材質(zhì)的R、G、B屬性在01之間變化想到了使用sin函數(shù),sin函數(shù)在-11之間變化,只需做一些修改。v材質(zhì)的R、G、B屬性=( sin(輸入)+1)/2;v只需要確定輸入第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v 1、輸入是位移的變化:、輸入是位移的變化:v 材質(zhì)的R、G、B屬性=( sin(輸入)+1)/2;v 輸入球體離原點(0,0,0)的距離v Maya
16、提供了mag(當前坐標)函數(shù)來計算當前坐標離原點的距離。第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v 2、輸入是時間的變化:、輸入是時間的變化:v 材質(zhì)的R、G、B屬性=( sin(時間函數(shù))+1)/2v 材質(zhì)的R、G、B屬性=( sin(frame)+1)/2v 如果希望顏色變化的慢一些,需要控制如果希望顏色變化的慢一些,需要控制sin( )函數(shù)的輸入函數(shù)的輸入v 材質(zhì)的R、G、B屬性=(sin(frame/20)+1)/2;第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v 用用time函數(shù)函數(shù)v 材質(zhì)的R、G、B屬性=( sin(time)+1)/2v 如果希望顏色變化的快一些,需要控制如
17、果希望顏色變化的快一些,需要控制sin( )函數(shù)的輸入函數(shù)的輸入v 材質(zhì)的R、G、B屬性=( sin(time*5)+1)/2第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v 舉例舉例6:創(chuàng)建一個磁體對象,在給定的距離內(nèi)會吸引另一:創(chuàng)建一個磁體對象,在給定的距離內(nèi)會吸引另一個磁體個磁體磁體表達式。磁體表達式。v 用結(jié)構(gòu)化的程序設(shè)計方法“自頂向下、逐步求精”來分析問題:v 第一步第一步,創(chuàng)建一個球體作為磁鐵,并控制球體移動v 第二步第二步,創(chuàng)建一個圓柱體,在第一幀的時候,移動到指定位置,作為被吸引的對象v 第三步第三步,控制球體吸引圓柱體第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v 進一步細化:
18、進一步細化:v 第一步第一步,創(chuàng)建一個球體作為磁鐵,并控制球體移動手動創(chuàng)建即可,可以實現(xiàn)。v 第二步第二步,創(chuàng)建一個圓柱體,在第一幀的時候,移動到指定位置,作為被吸引的對象手動創(chuàng)建圓柱體,v if (第一幀)v 圓柱體移動到指定的位置第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v 第三步第三步,控制球體吸引圓柱體v 計算球體和圓柱體之間的距離用mag()函數(shù)v if (距離 5)v 球體吸引圓柱體v elsev 圓柱體位置不變第二節(jié)第二節(jié) 對象屬性表達式對象屬性表達式 v 這個效果有個缺陷:一旦球體吸引了圓柱體,球體和圓柱體位置重合,而不是貼在表面。v 需要進行修改v if (距離 5)v 球體吸引圓柱體需要進行修改v 我們希望在X方向進行吸引,吸引后,球體和圓柱體貼在表面,而不是位置重合。 第二節(jié)第二節(jié) 對象屬性表達式對象屬性表
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年二手房購買合同例文(4篇)
- 2025年產(chǎn)品銷售代理合同參考樣本(三篇)
- 2025年個人房屋抵押借款服務合同(2篇)
- 2025年二手房購房正規(guī)合同(2篇)
- 2025年二手車分期付款合同(2篇)
- 2025年九年級思想品德上學期工作總結(jié)樣本(三篇)
- 2025年五年級數(shù)學教研組總結(jié)(2篇)
- 2025年臨時工合同簡單版(2篇)
- 健身連鎖股權(quán)轉(zhuǎn)讓居間協(xié)議
- 汽車內(nèi)飾運輸協(xié)議模板
- 金蛇納瑞2025年公司年會通知模板
- 《記念劉和珍君》課件
- 北京市城市管理委員會直屬事業(yè)單位公開招聘10人高頻難、易錯點500題模擬試題附帶答案詳解
- 禁止送禮的協(xié)議書
- 2024年版《輸變電工程標準工藝應用圖冊》
- 2024年高考數(shù)學試卷(北京)(空白卷)
- 2024從洞見到生意:阿里健康特色人群消費趨勢報告-阿里健康x一財商學院
- 《2023-2024中國區(qū)塊鏈發(fā)展年度報告》
- 人教版2024年新教材七年級上冊英語starter unit 1 -unit7重點短語句型清單
- 排水管網(wǎng)更新改造項目經(jīng)濟效益和社會效益分析
- 護理服務在產(chǎn)科中的應用課件
評論
0/150
提交評論