3dmax腳本

Script中的變數代表其他的值。 Script中的變數還可以存儲其他的內容。 (studen

概述

簡介

MAXScript是用來擴展MAX功能的工具,用戶可以使用它添加新的特徵或設定自定義的MAX,這樣它被定製成符合你的要求的樣式。還可以用MAX記錄用戶的動作,這樣以後可以使用它們減少重複的動作。還可以用Script告訴MAX你需要的場景的類型讓MAX提供合適的場景,或者告訴MAX你所的事,或著輸入你希望執行的指令的時候告訴它希望發生什麼事情。

MAX Script語言的基礎知識

變數

MAXScript中的變數代表其他的值。當在公式中提到一個變數時,實際上指的是變數存儲的值。而且除了數字以外,MAXScript中的變數還可以存儲其他的內容。變數命名可以用任何名稱。最好把它們命名成能幫助你記住變數代表什麼含義的名稱。
要把一個值賦予一個變數需要使用符號。MAX計算符號右邊的表達式並把結果存儲在名為X的變數中。然後只要在listener視窗中輸入X,按下Enter,就能看到X的值是多少。
例如:X=25
變數可以存儲字符串,字元串是一組字元。例如:student36=”zhouyi”或者grouchy=”Mynameis”+student36
Point3數據類型代表三維點。下面是使用點的幾個例子和注釋:
POS=[0,0,0]——在(0,0,0)創建新的點
POS.X=7——把X坐標改成7
POS=POS+(6,6,6)——把它移動(6,6,6)
除了這些基本數據類型外,場景中的每個對象都有自己的數據類型。在較大對象內的數據片段被稱為成員或屬性。大多數場景對象都有name。Position兩個變數描述對象的名稱。MAX還有一個內置的特殊變數,它代表當前被選定的任何對象。這個變數用$表示。


流程圖

當MAX開始執行腳本時,它從腳本的第一行開始處理它,然後移到下一行。對腳本的執行一直繼續下去直到在腳本檔案中再也沒有代碼行為止。MAX允許你在腳本檔案中嵌入注釋或註解,幫助理解正在發生的事情。要插入注釋,需要檔案中加兩個連字元(——)。當MAX遇到雙連字元時,它跳過注釋和該行上的其他任何內容,移到腳本下一行。
常用的流程結構如下:

條件:
條件是控制腳本中的程式流程的一個方法。正常情況下,MAX處理每一行,無論這一行是什麼,然後退出。但是當有了條件,如果表達式是Ture,則MAX只執行某些行。
條件語句遵循下面的格式:
If<expr>then<stuff>
<expr>是要計算的表達式,<stuff>是表達式等於True時要執行的一些MAXScript。還可以用關鍵字else指定,如果表達式等於false,則發生什麼事件。如:
if(student36=”zhouyi”)then

score=100

else

score=80

循環
循環是另外一種MAXScript語言結構(呵呵,好象無論哪一種計算機語言都有循環語句啊),讓你能無視正常的執行流程。而不是每次處理腳本中的每一行,然後退出,而是MAXScript循環結構對一件事情重複做幾次。例如下面所有不及格學生的成績可以改為及格:
student=1
forscore<60do

score=60

集合陣列
MAXScript有一些非常有用的特性用來幫助用戶操縱一組對象。一組對象被稱為一個集。集中的變數沒有特別的順序,只是被組合在一起。下面設定了所有的名字為box開頭的物體的顏色為藍色:
A=$box*
A.wirecolor=bule


表達式

表達式是MAX用來做出決定的內容。表達式比較兩樣東西,根據比較的結果做出簡單的結論。
表達式”10>1”是一個簡單的表達式,它詢問:“10大於1嗎?”,表達式總是在提問“是or不是”類型的問題。當你在MAXScript一視窗中(或腳本內)輸入表達式時,MAX計算表達式。如果表達式是正確的,則列印Ture,如果不正確,則列印false
有時需要一個對不僅有兩個數據的表達式進行判斷。MAXScript有and、or和not運算符幫助你構建這樣的表達式。
and運算符組合兩個表達式,詢問“這兩個表達式都是Ture嗎?”如果兩個都為Ture,則整個表達式等於Ture。但只要其中一個表達式為False,則整個表達式是False。而且可以使用括弧來組合表達式,所以有and運算符的表達式可能是下面的樣子(a<b)and(a<b)。
or運算符類似於and,但是如果其中一個表達式為Ture或兩個都是Ture,則表達式的結果為Ture。如:(a==b)or(a<b)
not運算符把表達式的值從ture翻轉成false或者從false翻轉成ture。


函式的使用

MAXScript一個特性是函式。函式是小的MAXScript塊,像是建立分程式的程式。例如,如果你想計算所有數值的平均值,使用函式不僅在需要計算許多數字的平均值時使腳本非常短,而且也使它更容易被閱讀。如果函式不正確,那么可以在腳本的頂端對它進行修改,如果沒有使用這個函式就必須查找你的腳本,找到計算平均值的每處代碼,然後解決問題。
腳本的製作和使用


記錄腳本

在Listener視窗中,進入MicroReconder選單,選定Enable。MacroReconder現在是打開的,可以準備開始編寫MAXScript。對場景中的物體進行為了一系列的操作以後,完成腳本了,在MAXScriptListener視窗中,選定MicroReconderEnable,關閉MicroReconder。
執行腳本
我們開始檢查MAXScript成果。給場景添加一個其他物體,確保在進行下一步之前選定它。MAXScriptListener視窗頂端的面板中,選定所有的文本然後按下“shift=enter”告訴MAX執行MAXScript。你製作的Script就可以起作用了。

相關詞條

相關搜尋

熱門詞條

聯絡我們