學習啦 > 論文大全 > 技術論文 > 網絡編程技術論文(2)

網絡編程技術論文(2)

時間: 家文952 分享

網絡編程技術論文

  網絡編程技術論文篇二

  Maya編程技術

  摘要:對Maya中表達式和腳本這2種動畫編程技術分別作了介紹,最后比較了這2種編程技術。

  關鍵詞:動畫編程;表達式;腳本;MEL

  中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2013)36-8409-02

  Rendering properties on Maya Particles

  YU Hai-wen

  (College of Information Engineering NanChang University ,Nanchang 330000,China)

  Abstract:The expression of Maya and script in the 2 animated programming technology are introduced;In the end ,Comparison between the 2 kinds of programming technology.

  Key words:Animated programming; Expression; Script; MEL(Maya Embedded Language)

  本文主要介紹Maya表達式和腳本的一般用法。

  1 表達式

  表達式動畫是一種建立在數學模型基礎上的動畫控制方式,即將動畫的運動軌跡、與時間的關系、與某個屬性的關系轉化為數學運算的模型關系,來達到控制物體產生動畫的目的。

  1.1 動畫方式

  所有的三維軟件控制動畫的方式有3種:關鍵幀動畫、關聯動畫、表達式動畫。

  1)關鍵幀動畫直接記錄物體參數隨時間的變化關系;

  2)關聯動畫記錄兩個屬性之間的變化關系;

  3)表達式動畫則將動畫中的相關參數、時間屬性、運動軌跡等用數學公式模擬表示出來;

  1.2 控制物體運動的基本方式

  1)Keyframe(關鍵幀動畫)

  2)Set Driven Key(驅動關鍵幀)

  3)Constraint(約束)

  4)Motion Path(路徑動畫)

  5)Expression(表達式動畫)

  6)Direct Connection(屬性關聯)

  在這6種方式中,Set Driven Key(驅動關鍵幀)、Constraint(約束)、Direct Connection(屬性關聯)都是標準的關聯動畫,而Motion Path(路徑動畫)則將關鍵幀動畫與關聯動畫的優(yōu)勢結合起來,顯得對運動中軌跡的控制和屬性的關聯更加靈活。

  1.3 表達式動畫

  在3DMax、Maya等3D軟件中,一般首先通過建模建立所需要的場景、角色、等,而表達式動畫的實質是將這些建模中所定義的場景物體、角色等定義為對象,結合采用面向對象的程序設計方法,在表達式編程中利用參數來控制這些對象,這些參數可以是時間參數,也可以是對象的一個參數受控于另一個參數來產生某種數學運算下的動畫軌跡,最終實現建立與改變模型與動畫的設計。故通過表達式創(chuàng)建出的三維動畫就稱為表達式動畫。

  除了特別加以說明,一般情況下,表達式動畫對物體運動的控制是全程的,而且只要表達式中關聯的數學模型描述是對的,那么動畫中受控物體屬性值一般就不會出現錯誤動作。

  例如,九大行星運動軌跡都是橢圓,顯然這種動畫用軌跡動畫很難實現,但用表達式動畫結合數學中橢圓公式的應用,就很易于實現;而且,表達式動畫實現中,通過修改幾個簡單的參數就可以很輕松地調整橢圓軌跡、形狀等,相比于關鍵幀動畫需要修改大量參數而言,方便得多。

  2 腳本

  2.1 MEL

  MEL(Maya Embedded Language),意思就是“Maya內嵌語言”,是Maya自帶的高級編程語言,由于涉及到對Maya中建模得到的物體對象的操作,建議必須具備有面向對象編程語言的基礎的用戶學習它。

  Maya中所有的用戶界面,包括菜單、視窗、各種工具都是MEL語言編寫而成的。用戶在Maya中進行的所有操作,無論是通過菜單還是通過命令行,或者是采用其他方式對場景或場景中的物體進行的操作,實際上都是通過調用MEL命令實現的。

  Maya的MEL命令對用戶是完全開放的,即給出了一個開放的拓展空間,用戶可以自己擴展和定制Maya。比如,用戶可以編寫自己的界面而不必用類似C++這種較為底層的外部開發(fā)工具,用戶可以像搭積木一樣隨意拼裝自己的工具,可以自己開發(fā)Maya默認狀態(tài)下不能提供的功能,或重新組織Maya的功能等,即通過MEL,可以按照自己的喜好在Maya下創(chuàng)建出特定的項目環(huán)境。

  2.2 腳本使用

  在腳本中有三種運行MEL命令的方法:

  如果返回值在以后不需要保留引用,則可以作為獨立語句運行;

  如果返回值在以后需要保留引用,比如想將返回值存入某變量,則可以考慮將其放入反引號中;

  如果想在字符串中構造某命令并執(zhí)行它,則使用eval函數命令。

  MEL腳本使用的情況無非是如下幾種需求:

  在Script editor窗口或純文本編輯器下產生MEL程序;

  執(zhí)行用戶建模、動畫、渲染等的腳本程序;

  可以按項目特定的場景自定義UI,則用戶使用MEL指令時可以脫離Maya的UI,直接使用熱鍵,訪問快速而方便;

  直接給某屬性輸入準確的值;

  比如用MEL腳本建立一個球:

  1)打開記事本;

  2)在記事本中輸入:

  Global proc mysp()

  {

  sphere -p 0 0 0 -ax 0.5 1 0 -ssw 0 -esw 300 -r 1.5 -d 3 -ut 0 -tol 0.01 -s 16 -nsp 16 -ch 1;

  }

  3)保存該文件,文件名:mysp.mel(注意后綴!);

  4)之后運行該文件,就可以在Maya按mysp.mel腳本文件中的制定參數中建立一個球。

  當然,腳本運行的環(huán)境設置、腳本書寫的基本規(guī)則、變量的定義、MEL中的數學邏輯運算等,因篇幅原因,不再詳細解釋。

  3 MEL和表達式的區(qū)別

  1) MEL是間接控制物體屬性,是Maya編程的核心,也是利用Maya在3D世界自由創(chuàng)作的必需的語言工具;而表達式是直接控制物體屬性;

  2) 在屬性賦值或取值方面:在表達式編程中可以直接用“=”;而MEL腳本中則通過函數getAttr和setAttr來實現;

  3) 表達式里有time和frame這兩個變量可以調用,而MEL無法直接使用(通過其他方法使用,比如currentTime -q);等。

  參考文獻:

  [1] “火星時代”網站資源.Autodesk Maya培訓系列[Z].

  [2] 張寶榮.Maya總動員—動畫編程篇[M].北京:清華大學出版社,2011.

  
看了“網絡編程技術論文”的人還看:

1.計算機網絡技術論文的范文

2.淺談網絡技術的論文3篇

3.網絡技術論文三篇

4.計算機網絡技術類論文范文

5.網絡技術應用論文三篇

2786718