本章包括以下內(nèi)容: 1、了解腳本語(yǔ)言;2、設(shè)立腳本語(yǔ)言環(huán)境。
1、了解腳本語(yǔ)言
編寫(xiě)腳本語(yǔ)言程序是產(chǎn)生maya埋入式語(yǔ)言(mel)腳本程序的過(guò)程。一個(gè)腳本語(yǔ)言程序是一個(gè)mel指令或者mel序列的集。通過(guò)產(chǎn)生腳本語(yǔ)言程序,你可以利用maya的用戶界面使執(zhí)行任務(wù)自動(dòng)化,可以獲得"under the hood"訪問(wèn)maya所有的各個(gè)部分,還可以對(duì)界面進(jìn)行擴(kuò)展和自定義。
2、設(shè)立腳本語(yǔ)言環(huán)境
為了設(shè)立腳本語(yǔ)言環(huán)境,需要考慮以下內(nèi)容:
⑴、腳本語(yǔ)言文件
⑵、建立腳本語(yǔ)言路徑
⑶、在腳本語(yǔ)言程序中使用程序
⑴、腳本語(yǔ)言文件
一個(gè)mel腳本文件(*.mel)是一個(gè)包含mel指令、mel程序或者二者都有的文件。典型地,是用一個(gè)mel腳本文件執(zhí)行一系列的指令。如,可以寫(xiě)一個(gè)腳本程序以產(chǎn)生一個(gè)墻形狀的物體,然后再給它施加一個(gè)磚的紋理。
可以用一個(gè)文字編輯器寫(xiě)一個(gè)mel腳本文件然后把它保存到磁盤(pán)的一個(gè)文件中。mel腳本文件使用文件擴(kuò)展名 .mel??梢园涯_本文件用于不同的場(chǎng)景中和不同的工作期間中。當(dāng)執(zhí)行一個(gè)mel腳本文件時(shí),它并不變成為場(chǎng)景的一個(gè)部分,因此如果你要想重復(fù)它的作用時(shí),應(yīng)該每次都執(zhí)行該腳本程序。
⑵、建立腳本文件路徑
在缺省狀態(tài)下,maya在你的scripts目錄中查找mel腳本文件。
在缺省狀態(tài)下,這個(gè)目錄定義在你的login名下。例子如下:
(irix) ~elvis/maya/scripts
(windows nt) c:/aw/elvis/maya/scripts
使你的腳本文件可以運(yùn)行的最簡(jiǎn)單的方法是把它們放在上述路徑里。
注意你的scripts目錄缺省地包含了一些腳本文件。它們以menu_作為名字的開(kāi)始,用于maya內(nèi)部。
你可以給maya用于查找腳本文件的缺省路徑增加目錄。
為腳本文件路徑增加一個(gè)目錄(在irix中):
1--在一個(gè)irix shell中,設(shè)立環(huán)境變量maya_script_path給附加目錄的路徑。
2--從這個(gè)shell啟動(dòng)maya。
為腳本文件路徑增加一個(gè)目錄(在windows nt中):
1--使用windows nt explorer或者my computer,顯示maya nt bin目錄的內(nèi)容。
缺省時(shí)是c:/aw/mayax.x/bin。
2--雙擊mayaenvironment.exe啟動(dòng)該程序。
這樣顯示出了你的home、project、plug-in、script和bitmap目錄的路徑。該路徑包括在安裝期間產(chǎn)生的缺省路徑和你后來(lái)定義的任何路徑。不能改變?nèi)笔÷窂健?
對(duì)于plug-in、script和bitmap路徑,用分號(hào)(;)分離路徑,這些項(xiàng)可以定位。
在這個(gè)窗口中禁止編輯路徑。但你可以用以下的步驟代替。
重要事項(xiàng):
如果你的計(jì)算機(jī)上安裝了maya nt的多個(gè)版本,你會(huì)看到一個(gè)版本的路徑。版本號(hào)是在窗口的標(biāo)題欄里。為了看另外的版本的路徑,點(diǎn)擊previous或next。為了保存一個(gè)版本的路徑,點(diǎn)擊save。如果你的計(jì)算機(jī)只裝了一個(gè)版本,這些鍵會(huì)變暗。
3--點(diǎn)擊maya script path框旁邊的change鍵。
注意,如果你改變了home路徑,這就按照新的home路徑改變了project、plug-in、 script和bitmap路徑。會(huì)詢問(wèn)你是否想這樣做。點(diǎn)擊cancel可以放棄這個(gè)改變。
4--在change setting窗口中輸入(或者編輯)一個(gè)路徑。
一般地,可以增加缺省路徑,但是不能重置它們。當(dāng)你定義路徑時(shí)使用左斜線或者右斜線。
為了定義一個(gè)遠(yuǎn)程路徑,可以將一個(gè)隱含目錄與你的計(jì)算機(jī)上的一個(gè)驅(qū)動(dòng)器字符對(duì)應(yīng)起來(lái)。細(xì)節(jié)請(qǐng)看你的windows nt文件。
如果需要輸入多個(gè)路徑,使用分號(hào)把這些路徑分離開(kāi)。
如果要使用一個(gè)文件瀏覽器從別的文件系統(tǒng)查找和選擇一個(gè)路徑,點(diǎn)擊browse。
為了返回到你原來(lái)的缺省路徑中,點(diǎn)擊restore default。這對(duì)于當(dāng)你定義了一個(gè)不正確的路徑或者想刪除廢棄的路徑是非常有用的。
5--點(diǎn)擊ok。
例子(irix)
為了給scripts路徑增加~/maya/scripts/clipfx and remote/x/scripts目錄,在啟動(dòng)maya之前給irix增加以下目錄:
setenv maya_script_path ~/maya/scripts/clipfx:/remote/x/scripts
隨后maya將能夠在~/maya/scripts, ~/maya/scripts/clipfx, 或者/remote/x/scripts中找到你的腳本文件。
⑶、在腳本文件中使用程序
你可以在mel腳本文件中使用全局和局部程序。全局程序在它們的文件外邊是可見(jiàn)的;局部程序僅在它們的文件內(nèi)部是可見(jiàn)的。
如果maya遇到一個(gè)沒(méi)有定義的指令,它會(huì)為找到一個(gè)與該指令有相同基名的mel腳本文件搜索腳本路徑。當(dāng)它找到該文件之后,它在該文件中會(huì)聲明所有的全局mel程序。任何具有與該指令有相同基名的全局程序會(huì)被執(zhí)行。
如,假定你在運(yùn)行一個(gè)saywhat指令。因?yàn)闆](méi)有這樣的一個(gè)saywhat指令,maya會(huì)在它的所有的script路徑中對(duì)一個(gè)叫做saywhat或者saywhat.mel的文件進(jìn)行搜索。如果在一個(gè)script目錄中,它找到了有以下內(nèi)容的saywhat.mel腳本文件:
proc red5() {print("red5 standing by.../n");}
global proc saywhat() {print("saywhat online/n");}
global proc gogo() {print("gogo online/n");}
然后全局程序saywhat和gogo被聲明,并執(zhí)行saywhat程序。結(jié)果是:
saywhat online
因?yàn)間ogo全局程序已經(jīng)聲明過(guò)了;現(xiàn)在就可以在指令行中或者在腳本語(yǔ)言編輯器中輸入gogo運(yùn)行它。
使用maya內(nèi)部腳本文件
maya有一些用于它的用戶界面和其他運(yùn)算細(xì)節(jié)的mel腳本文件。你可以在alias|wavefront中查找這些腳本文件,學(xué)習(xí)專(zhuān)業(yè)腳本程序作者的這些技術(shù)。這些腳本文件是在由缺省定義的以下述目錄開(kāi)始的目錄中:
(irix) /usr/aw/mayax.x/scripts
(windows nt) c:/aw/
[1] [2] 下一頁(yè)
新聞熱點(diǎn)
疑難解答
圖片精選