當前位置:首頁 » 編程軟體 » maya動畫師mel腳本編程全攻略

maya動畫師mel腳本編程全攻略

發布時間: 2022-12-23 03:26:56

❶ 關於mayamel編寫命令的疑問

mel是Maya Embedded Language(Maya內置語言)的縮寫,是一種強大的命令和腳本語言,讓你直接控制Maya的特徵、進程和工作流程。mel能做什麼,不能做什麼?能做的mel有一個很重要的功能是編寫界面,Maya的整個界面是用mel編寫的,Maya中的所有界面元素都可以編寫到你自己的mel程序界面中,你可以用mel跟據自己的習慣定製自己的操作界面。Maya中的所有的按鈕命令都是通過mel來調用的,你可以記錄並把其中一些命令組合起來,通過一鍵或按鈕來自動執行這一組命令,就像PhotoShop里的Actions一樣。Maya中的每一步操作都是在執行mel,因此Maya的任何一個功能,能做的任何一項操作,都可以加到你自己的mel程序中。mel有著和c語言類似的語法,有強大的字元串處理功能,還包含一些較為低層的命令(比如說獲取選擇物體的名稱和獲取點在空間中的坐標值等命令),可以編寫一些Maya中沒有的,較為復雜的功能。不能做的mel是一種腳本語言,受腳本解釋器(Command Engine)和Maya內置命令的影響,還是有很多局限的。mel不能使用ActiveX插件。mel只能根據Maya中已有的命令(dll或mll中注冊過的命令)進行擴展,無法直接調用dll模塊中的函數。我們平常使用的dll或exe程序文件是經過編譯器優化的二進制文件,命令的執行速度非常快。mel腳本語言是文本,有一個腳本解釋器分析的過程,命令的執行速度較慢,大約要慢20倍。mel不支持指針,不能對內存進行直接操作。這就導致了很多方面的效率超級低下,對內存的間接操作可能會使運行速度降低100倍甚至1000倍以上。不過這樣也有一個不容爭辯的好處,就是不會產生內存泄漏,保障了Maya的穩定性。mel不能讀寫二進制文件。既然mel不支持指針,不支持數據結構,就算能夠讀寫二進制文件意義也不大。mel不能編寫程序渲染器、播放器;不能編寫Maya中不存在的界面元素,如TreeView、RichEdit、透明窗口等;不能編寫讀取二進制文件的程序,如3dmax(*.max)、LightWave(*.lwo,*.lw)等。有人問過mel能不能編寫病毒問題。答案是肯定的。編寫mel病毒不需要什麼高超的技能,只要通過mel調用dos命令或 JavaScript/VBScript命令就行了。編寫病毒是一件損人不利己的事,mel病毒決對不能代表編寫者的技術高深,只能說明他的素質低劣。 mel病毒極其罕見,只聽說國內有人編過,並害了自己人。如果萬一你被mel病毒格式了硬碟或刪除了文件,可以用EasyRecover之類的程序來恢復,但有一點一定要記住,就是在恢復文件之前千萬不要對受損的硬碟進行寫操作!包括不能把恢復的數據存到受損的硬碟上!否則再厲害的高手也救不了你。學Maya一定要學mel嗎?不一定非要學mel。但由於Maya與mel的關系太密切了,Maya的用戶界面就是用mel編寫的,你在Maya中的每一步操作都是在執行mel,你也經常會在表達式里用到mel,或使用別人編寫的外部mel程序,這一切都要求你至少要對mel有一個初步的了解。可以先學mel再學Maya嗎?不可以。只有先熟悉的Maya的操作後才可以學mel。一般至少學兩個月以上的Maya,才可以學mel。學mel是否要有編程基礎?是否應該先學C語言再學mel?有編程基礎的確會對學mel有很大幫助,但這並不是說學mel一定要有編程基礎。C語言和Java語言雖然在語法上與mel很相似,但在編程的思路方面有很大差距,mel更注重代碼的簡潔而非代碼運行的高效率。由於mel是不需要編譯的腳本語言,對一些編程的規范要求不是很嚴格,學習起來會比C或Java更簡單一些。學mel是否要學好數學?是否要學好圖形學?如果你是學理科的,而且以後打算在3D圖形編程這方面發展,那麼學好數學和圖形學是必須的。如果你是搞藝術的,學mel只是為了輔助Maya作圖,那麼你就少在數學和圖形學上浪費時間。mel是比較高層的腳本語言,一般都是直接調用Maya中已經編好的演算法,你只要熟練掌握Maya的操作就行了。如果你有比較好的圖形學基礎,可能反而會不喜歡使用mel,因為很多優秀的演算法無法用mel實現 - mel的速度太慢了。如何編寫mel?mel是腳本語言,這就意味著你可以用任何文本編輯器來編寫,比如寫字板、記事本等。Maya自帶的編輯器不好用,所以我們一般使用外部編輯器來編寫mel。比較專業的編輯器有:TextPad、 UltraEditor、EditPlus等,有了這些編輯器後還要在網上(比如Highend3d)下載一個mel語法加亮文件,配置好後,才好用。如何使用mel?mel編輯器單行的mel命令,可以直接在命令行(Command Line)執行,也可以在Window > General Editors > Command Shell執行。多行的mel代碼,可以在Script Editor中按Ctrl+Enter執行。shelf在Shelf中執行mel。把要執行的代碼選中,用滑鼠拖放到Shelf上,Shelf上多了一個mel圖標,點這個圖標,就可以執行你的mel代碼了。使用textToShelf命令。比如:textToShelf "cube" "polyCube";可以在當前Shelf上建一個polyCube命令的圖標。使用Shelf Editor,添加、編輯你的mel代碼,或更改圖標。mel文件mel文件的名字必須取與文件中的主函數相同的名字。要把mel文件復制到我的文檔/Maya/5.0/scripts目錄中,然後在命令行輸入主函數名就可以執行這個函數命令。源化腳本(Source Script)Source Script可以使mel文件中的代碼或命令立即生效。有幾種方法可以Source Script,比如說可以在命令行執行source yourScript.mel,或用Script Editor的File > Source Script...,或直接把你的mel文件拖放到Maya的視窗中。啟動文件userSetup.mel要想在Maya每次啟動時都執行某一段代碼,需要把這段代碼加到Maya的啟動文件userSetup.mel中。具體方法是在我的文檔/Maya/5.0/scripts目錄中新建一個文本文件並重命名為userSetup.mel,然後把你的代碼加到這個文件中。如果scripts目錄中已經存在了userSetup.mel,就把你的代碼加到這個文件的結尾。其它也可以通過快捷鍵、菜單、Marking Menu、mll插件、外部程序文件、JavaScript等方法來調用mel。如何學習mel?學mel最好的參考手冊就是Maya的幫助文檔,遇到問題時,應首先從這些文檔中找答案。我把文檔中的Mel Command Reference部分做成了chm文件便於查詢,可以點此處下載。要想提高自已的水平,需要多看別人編寫的mel代碼。<disk>:\\Alias\\Maya6.0\\scripts目錄中存放著所有 Maya自帶的mel,這些mel可以隨意抄寫,修改並發布,無版許可權制,是我們學習的範本。另外在Maya官方網站和Highend3d也可以下載到大量有用的mel供我們學習。什麼是表達式?mel與表達式有什麼關系?mel與表達式的關系,Maya幫助文檔中講得很清楚:Expressions have a different purpose from MEL commands and MEL scripts. You enter a MEL command to do a single action, for example, to create a sphere.A MEL script is a list of commands you create to do a sequence of actions, for instance, create a wall-shaped object and apply a brick texture to it.Because you store a MEL script in a file on disk, you can run a script in different scenes and different work sessions, whether today or next year.An expression animates one or more attributes over time in a single scene. By default, an expression executes each frame as an animation plays. After you create an expression, it executes whenever you play the animation-including when you play the animation after saving, closing, and reopening the scene.A MEL command or script is not part of a scene after you execute it. You must execute it again to repeat the action.做幾點補充說明:mel是用戶與Maya內部機制交流的通道。mel不能直接編寫節點和屬性,因此往往要使用表達式才能對物體進行實時控制。表達式是與動畫不可分割的,表達式與動畫的時間(time或frame)有密切的關系,表達式對動畫的每一幀都要進行計算。在表達式中可以使用mel,但很多mel用在表達式中是沒有意義的,比如說一般不會把編寫界面的mel用在表達式中。mel腳本可以用於任何場景。表達式只能用於一個場景,另一個場景即使用到相同的表達式,也要重新創建。表達式主要是對物體的屬性進行控制,可以用等號對物體的屬性直接取值或賦值,例如:cone.translateX = 3;而mel就必須用getAttr或setAttr來做同樣的事情了,例如:setAttr cone.translateX 3;什麼是MayaAPI?與mel有什麼關系?API - Application Programmer Interface(應用程序界面)。也有人稱作SDK,是一種專門給程序員使用的界面或介面。MayaAPI提供了Maya的5個dll文件。這些dll中包含控制Maya的大量類和函數,我們通過這些類和函數用vc++編寫自己的dll(mll)文件,這些函數通過Maya的方式(比如用mel命令的形式)來調用。我們常用到的*.mll插件都是通過MayaAPI編寫的。MayaAPI比mel更強大,更復雜,效率更高,能做到許多mel做不到的事情,運行速度在mel的十倍以上。MayaAPI的功能主要體現在以下幾點:編寫mel命令。 執行mel命令。 進行創建物體,選擇、縮放、刪除等基本操作。 編寫manipulator。 編寫contexts(tool)。 編寫屬性節點。 編寫材質節點。 文件輸入輸出。 編寫獨立的exe控制台程序。MayaAPI程序因為使用vc++,可以使用MayaAPI,MFC,還有很多SDK,幾乎是無所限制。不過不能改動Maya底層的東西,不能更改Maya的運作方式。使用MayaAPI,需要有vc++的編程經驗,並具有圖形學基礎

❷ maya中的mel腳本是什麼意思

mel語言是maya自己的一套編程語言,mel是maya的基礎,是比較偏底層的東西。如果你稍有編程基礎的話,可以很容易掌握它。我們可以看到除了maya的插件(maya內部很多組件也都是以插件形式存在的)以外,所有的操作都可以在script editor窗口中有相應的mel語言與之對應。例如:創建一個常規的polygon球體,打開windows-->General Editors-->Script Editor,可以看到:polySphere -r 1 -sx 20 -sy 20 -ax 0 1 0 -tx 2 -ch 1;;這句話的意思是創建一個polygon球體(polySphere),其半徑為1(-r 1),x、y軸向的分段皆為20(-sx 20 -sy 20),軸向為Y軸向上(-ax 0 1 0),顯示方式為有鋸齒貼圖(-tx 2),並帶有歷史紀錄(-ch 1)。參見help中的polySphere詞條。

最好的方法還是買書自己學,可以參考《Maya動畫師MEL腳本編程全攻略》(以前看過,很快就能上手)。

附上我以前學習的一些筆記,希望能給你一些幫助:

1.得到所有被選中對象的列表並存入數組:「string $sel[] = `ls -sl`;」
2.在表達式中可以直接用「=」給對象的屬性賦值或取值;而mel中則必須通過getAttr和setAttr來實現,這種方式效率比較低
3.「==」是判斷是否相等;「!=」不等於
4.定義變數:「float $rotation_value;」
5.為對象添加屬性:Window-->Attribute Editor;Attributes-->Add Attribute
6.在數學表達式中的向量:可以對向量中的單個分值賦值,如:$abc.x=3;但是不可以這樣賦值:$abc=<<$abc.x,1,1>>
7.向量運算(Maya中的點都是向量存儲,因此要定位的話向量比較重要):向量相減:代表向量從一個點移到另一個點所需行進的方向和距離,減數指向被減數
8.向量操作:unit(格式化)/unit($vectoer1);mag(長度)/mag($vectoer1);angle(夾角,弧度制,如果想獲得角度將它乘以180/pi,方向為逆時針)/angle($vector1l,$vector2);cross(叉積,與兩個向量正交,即垂直的第三個向量,其長度為:dot運算)/cross($vector1l,$vector2);dot(=mag($vector1)*mag($vector2)*cos(angle($vector1,$vector2)))/($vector1l,$vector2);rot(將一個向量繞著由另一個向量所定義的軸旋轉一定的角度)/rot($vector1,$vector_axis,$degrees)
9.檢測兩個向量平行或垂直:dot(unit($vector1),unit($vector2)),如果=0,那麼垂直;如果=1,那麼平行
10.在mel語言中,不能把屬性值賦給變數,必須用如下格式獲得:$val=`getAttr expression1.time`;
11.連接屬性:connectAttr 屬性1 屬性2
12.創建表達式:express -string "屬性1=值";;適用於mel中對屬性的賦值
13.變數:數組變數/$t={1,2,3};聲明變數/int $t;
14.全局變數:Maya要求在每一個使用全局變數的域中重新聲明該變數,如:
global int $a=1;
proc print_a(){
global int $a;
print($a);
}
print_a();
15.將一個整數轉換為一個浮點數:float(3);;將浮點數轉換為整數:int(3.7),結果為向下取整=3
16.算術比較運算:print(5>6);結果為:0或1
17.運算符:+,-,*,/,%,+=,-=,*=,/=,++,--,&&,||,!
18.取相鄰最大整數:ceil($f);取相鄰最小整數:floor($f)
19.在mel中的向量:不能直接將一個值賦給向量的一個分量,如:$abc.x=3;必須這樣賦值:$abc=<<$abc.x,1,1>>
20.分隔字元串:tokenize "string1" $myarray;得到的結果將是以空白符來拆分字元串,並存入數組中;又:tokenize "string1" "char" $myarray;將得到以char來拆分字元串,並存入數組中
21.數組中所有沒有被賦值的元素默認為0
22.數組的尺寸:size($myarray)
23.如果需要在腳本中使用一個非常的數組,在結束時使用mel中的clear命令清楚該數組:clear $myarray
24.模式選擇:-c標記或不適用標記將選擇創建模式;-q選擇查詢模式;-e選擇編輯模式
如:sphere -q -radius nurbsSphere1 返回半徑
sphere -e -radius 15 nurbsSphere1 修改半徑
25.當希望存儲命令的返回值時,可以在賦值運算的右邊將命令置入反引號(``)中。如:string $coneNodeNames[]=`cone -name testing2`
26.使用eval命令:string $spherecommand="sphere"; string $nodenames[]=eval($spherecommand);表示創建一個球體,將sphere命令的返回值存入$nodenames數組中
27.在腳本中有三種運行mel命令的方法:(一)如果不關心返回值,作為獨立一行的語句獨立運行;(二)如果想將返回值存入一個變數,將其放入反引號中;(三)如果想在字元串中構造命令並執行它,使用eval函數命令。

❸ 指教MAYA腳本mel的安裝與使用說明

就是說你在maya軟體里的mel輸入欄這里輸入分別輸入RageMergeFaces和spinFaces(每次只輸入一個名稱,即第一次輸入RageMergeFaces)然後全選RageMergeFaces字樣,利用滑鼠把他拖到shelf上就可以了。然後再次輸入spinFaces字樣,重復上一步驟就可以了

❹ 求maya初級中文MEL教程,書和視頻都行,謝謝。

你可以先去【繪學霸】網站找「MAYA影視製作」板塊的【免費】視頻教程-【點擊進入】完整入門到精通視頻教程列表: www.huixueba.net/web/AppWebClient/AllCourseAndResourcePage?type=1&tagid=307&zdhhr-11y04r-235581710

想要系統的學習可以考慮報一個網路直播課,推薦CGWANG的網路課。老師講得細,上完還可以回看,還有同類型錄播課可以免費學(贈送終身VIP)。

自製能力相對較弱的話,建議還是去好點的培訓機構,實力和規模在國內排名前幾的大機構,推薦行業龍頭:王氏教育。
王氏教育全國直營校區面授課程試聽【復制後面鏈接在瀏覽器也可打開】: www.huixueba.com.cn/school/3dmodel?type=3&zdhhr-11y04r-235581710

在「MAYA影視製作」領域的培訓機構里,【王氏教育】是國內的老大,且沒有加盟分校,都是總部直營的連鎖校區。跟很多其它同類型大機構不一樣的是:王氏教育每個校區都是實體面授,老師是手把手教,而且有專門的班主任從早盯到晚,爆肝式的學習模式,提升會很快,特別適合基礎差的學生。

大家可以先把【繪學霸】APP下載到自己手機,方便碎片時間學習——繪學霸APP下載: www.huixueba.com.cn/Scripts/download.html

❺ maya中mel文件如何使用

使用腳本語言編輯器

本章包括以下內容: 1、打開腳本編輯器;2、打開一個腳本程序;3、把一個MEL腳本程序文件作為源文件 ;
4、保存腳本文字;5、執行一個腳本程序;6、清除狀態信息;7、清除指令輸入;8、響應一個指令;
9、顯示程序中的語句行號;10、顯示堆棧跟蹤。

1、打開腳本編輯器
可以通過選擇Window > General Editors > Script Editor或者點擊Maya窗口右下部的Script Editor圖標打開腳本編輯器。
腳本編輯器提供以下菜單選項:

Open Script--打開腳本程序
Source Script--把一個腳本程序文件作為源文件
Save Selected--保存腳本程序
Execute--執行腳本程序
Clear History--清除歷史
Clear Input--清除輸入
Echo All Commands--返回所有指令的返回值
Show Line Numbers--顯示行號
Show Stack Trace--顯示堆棧跟蹤

編輯命令

下表列出了在腳本編輯器中有效的鍵盤命令。(在表達式編輯器和一些輸入框中它們也是有效的。) 命令 定義 平台
Ctrl+c Copy IRIX、Windows
Ctrl+x Cut IRIX、Windows
Ctrl+v Paste IRIX、Windows
Ctrl+k 刪除到本行末 IRIX
Ctrl+d 刪除下一個字元 IRIX
Ctrl+a 移動游標到行首 IRIX
Ctrl+e 移動游標到行末 IRIX
Ctrl+a 選擇編輯框中的所有文字 Windows

2、打開一個腳本程序

我們可以打開一個腳本程序以便檢查、執行或找出它的問題。打開一個腳本程序時並不執行它。
只是在腳本編輯器的輸入欄里簡單地把它顯示出來。

要執行顯示在腳本編輯器的輸入欄里的一些或者全部腳本程序,可以用滑鼠選擇它,然後按鍵盤的數字Enter鍵。

當你想把一些或者全部內容拖拉到櫃架上並在那裡產生一個圖標時,打開一個腳本程序就是非常有用的。
可以點擊該圖標執行這個程序。

為了打開一個腳本文件:

1--從腳本語言編輯器中選擇File > Open Script。出現一個文件瀏覽器。

2--選擇要打開的腳本文件。

把一個腳本程序作為源文件

把一個MEL腳本程序文件作為源文件,執行所有的MEL指令並聲明包含在該腳本程序文件中的所有的全局過程。
如果你在一個腳本程序文件中修改了一個程序,Maya 並不把這個改變登記給該程序,直到你把它的程序文件作為源文件。
這是因為Maya把執行了的程序保存到了存儲器中。當你把一個腳本程序文件作為源文件時,Maya再次讀該腳本程序文件里的那個程序。

為了把一個腳本程序作為源文件:

1--從腳本語言編輯器中選擇File > Open Script。出現一個文件瀏覽器。

2--選擇要打開的腳本文件。

把一個腳本程序作為源文件之後,該文件里的所有MEL指令會執行。該腳本程序中的所有全局過程會被聲明,但並不被執行。
MEL指令是按照它們出現在文件中的順序執行的,並且應當沒有錯誤。如果產生了一個錯誤,執行會中斷並不再裝載更多的程序。

當你把一個MEL腳本程序作為源文件之後,不聲明或者不執行局部過程。
但是,如果你是通過在腳本編輯器或指令行里輸入而聲明了一個局部過程,該過程會被聲明為全局過程,你可以在任何時候執行它。

執行一個程序可以通過執行一個MEL指令實現。當你想把一個腳本程序作為源文件,並具有執行該文件中的程序的作用時,這是很有用的。
為了這樣做,要首先聲明該程序,然後聲明通過一個文件瀏覽器執行該程序的指令。

4、保存腳本文字

使用File > Save Selected指令從腳本編輯器保存腳本文字。可以從指令輸入(底部)將文字高亮化,
也可以通過腳本編輯器的狀態信息(頂部)部分。Maya 將會把高亮的文字部分保存到你說明的目錄里的一個 .mel 文件中。

5、執行一個腳本程序

當你想執行一個預先已經源化了的腳本程序時,可以在腳本編輯器的指令輸入欄(底部)輸入該程序的名字,然後進行下面工作中的一種:

按 Ctrl + Enter 鍵;
或者
按數字鍵盤的 Enter 鍵;
或者
從腳本編輯器里選擇 Edit > Execute。

也可以使用這些指令執行一個在腳本編輯器里已經打開了的腳本程序的定義。如果MEL腳本定義沒有出現失敗,
則該定義是從腳本編輯器的底部移到頂部。否則該定義不會移動,並且在頂部會顯示出一個錯誤信息。

提示:
可以首先選取MEL script的一部分然後只執行這一部分(Ctrl+Enter)。 它不會刪除其它部分。

6、清除狀態信息

要清除狀態信息(腳本編輯器的頂部),從腳本編輯器里選擇Edit > Clear History。這將會刪除掉所有的狀態信息文字。
使用這個指令時應當小心一些,因為沒有辦法撤消它。

7、清除指令輸入

要清除指令輸入文字(腳本編輯器的頂部), 從腳本編輯器里選擇Edit > Clear Input。這將會刪除掉所有的指令輸入文字。
使用這個指令時應當小心一些,因為沒有辦法撤消它。

8、響應一個指令

當你用Maya工作時,對應的MEL指令常常出現在腳本編輯器的頂部。預設情況下,只有那最重要的指令才會顯示。

你可以在腳本編輯器里選擇Edit > Echo All Commands ,虛擬地顯示與你的Maya作用相關的所有指令。
它可以幫助你學習哪些MEL指令觸發作用。

在你的Maya的作用之間並不是總有一對一的對應關系,這些指令返回響應到腳本編輯器里。
如果你使用一個腳本程序去打開屬性編輯器,一些MEL指令出現在腳本編輯器里(響應是打開的):

buildObjectEdMenu MayaWindow|menu4|menuItem56;
editSelected;
editMenuUpdate MayaWindow|menu2;

但是,只有以下的MEL指令需要引入屬性編輯器:

editSelected;

同時,對於一些作用來說,也不總是會將MEL指令的響應返回到腳本編輯器里。如,當你選擇了一個屬性編輯器時,
腳本編輯器的頂部沒有返回任何信息。

要關閉返回信息,從腳本編輯器里再次選擇 Edit > Echo All Commands。

9、顯示程序中的語句行號

如果你在執行一個長的程序時由於錯誤而出現了問題,可以打開腳本程序的行號,你就可以更容易地找到錯誤。
要顯示錯誤指令的行號,從腳本編輯器里選擇Edit > Show Line Numbers。當你打開了Show Line Numbers選項,
Maya 在腳本編輯器狀態信息框(頂部)的旁邊顯示腳本程序的行號。

要關掉行號,在腳本編輯器菜單里再次選擇Edit > Show Line Numbers。

Maya將顯示行號的設置保存下來作為以後使用。如果打開了行號,當下一次你運行Maya時它們會出現在腳本編輯器里。

10、顯示堆棧跟蹤

如果你用埋入的腳本程序文件執行一個腳本程序時出現了問題,打開堆棧跟蹤選項顯示文件結構中的腳本程序錯誤。
要顯示一個腳本文件的堆棧跟蹤,在腳本編輯器里選擇Edit > Show Stack Trace。Maya會在一個窗口裡顯示堆棧跟蹤,
在腳本編輯器里顯示一個錯誤信息。

使用腳本語言結點

一個腳本語言結點是一個包括了一個 MEL腳本語言程序的結點。
當該結點產生或者當該結點被破壞時,該程序被執行,它取決於腳本結點的類型。

本章包括以下內容:
1、了解腳本語言結點;
2、產生腳本語言結點;
3、測試腳本語言;
4、編輯腳本語言結點;
5、設立腳本語言結點的執行;
6、刪除腳本語言結點。

1、了解腳本語言結點

腳本語言結點是把一個MEL腳本語言程序存儲到一個Maya場景文件中的一種方法。
腳本語言結點也包含了用於產生用戶界面的所有MEL指令,並被用MAYA文件保存。

你可以用不同的方法執行腳本語言程序。可以指明一個腳本程序結點執行它的程序:

當該結點是從一個文件中讀出的;

在渲染一楨圖像的之前或者之後;

在渲染一個動畫的之前或者之後。

當一個文件關閉著時使用File > Open或者File > New

一個腳本語言程序結點有三個屬性:
Before、After和Type。決定於腳本程序的類型,當執行該程序時,說明Before和After屬性。

2、產生腳本語言結點

可以使用表達式編輯器產生腳本語言結點。

為了產生一個腳本語言結點:

1--選擇Window > Expression Editor。

2--在Expression Editor中選擇Select Filter > By Script Node Name。

任何現存的Script Nodes顯示在Script Nodes表中。

3--在Expression Editor的Script window中輸入腳本程序。

4--在Script Node Name框中輸入一個名字。

5--定義你想要使腳本成為一個之前或者之後的腳本程序。

6--點擊Create鍵。

這產生腳本結點。現在你可以定義它的類型。

7--從Execute On 下拉菜單里選擇以下的一個腳本程序結點類型:

Demand
當你使用scriptNode指令,隱含地需求它時,運行腳本文件(看在線指令文件的scriptNode指令的信息)。
忽略這種類型的腳本文件的之前和之後的屬性。

Open/Close
如果你已經指定了該腳本文件作為之前的腳本文件,當以批處理模式讀文件時腳本被執行。如果你把它
作為之後的腳本文件,當文件被關閉或者沒有以圖示用戶界面模式提供,或者當該結點被刪除時,它被執行。

GUI Open/Close

如果你已經指定了該腳本文件作為之前的腳本文件,當以圖示用戶界面模式運行MAYA,在讀文件時腳本文件
被執行。如果你把它作為之後的腳本文件,當文件被關閉,或者沒有以圖示用戶界面模式提供,或者當該結
點被刪除時,它被執行。

UI Configuration (內部)

之前的腳本文件包括了用戶界面設置的信息。它是由Maya或者一個plug-in為了保存面板排列和編輯狀態信息
而自動的產生的。當你打開一個文件時,這個腳本結點執行它的腳本文件。在執行之後,該結點被刪除掉。之
後的腳本是不會運行的。如果一個文件被提供或被輸入,這個結點將會不存在。

軟體渲染

如果你選派好腳本作為之前的腳本,腳本的執行在一個動畫之前被渲染。如果你選派好腳本作為之後的腳本,
腳本的執行在一個動畫之後被渲染。

軟體楨渲染

如果你選派好腳本作為之前的腳本,腳本的執行在一個楨之前被渲染。如果你選派好腳本作為之後的腳本,腳
本的執行在一個楨之後被渲染。

8--點擊Edit鍵給腳本結點賦類型。

9--如果你想增加另外一個腳本結點,點擊New Script Node鍵。

Script窗口和Script Node Name框被清除,你可以輸入一個新的腳本結點。

熱點內容
戴爾伺服器系統設置如何設置 發布:2025-07-16 18:02:09 瀏覽:958
為什麼換安卓這么難 發布:2025-07-16 17:14:44 瀏覽:421
轉動密碼鎖怎麼開 發布:2025-07-16 17:14:37 瀏覽:611
伺服器和網關ip 發布:2025-07-16 17:09:35 瀏覽:930
如何用net映射伺服器盤符 發布:2025-07-16 17:08:50 瀏覽:13
小飛機android 發布:2025-07-16 16:51:00 瀏覽:236
python獲取api 發布:2025-07-16 16:35:28 瀏覽:740
安卓應用耗電優化是什麼 發布:2025-07-16 16:29:39 瀏覽:502
惠普電腦都有什麼配置的 發布:2025-07-16 15:51:49 瀏覽:520
hadoop編譯native 發布:2025-07-16 15:48:57 瀏覽:256