Part1前言
3ds max是目前國内動畫行業使用最普遍的、功能強大的三維動畫設計軟體,它除了具有互動操作方式外,還提供了程式設計開發工具——MAXScript腳本語言。MAXScript是3ds max衆多插件中最有特色的一個。可以這樣說,MAXScript把Max幾乎所有的功能重寫一遍(少數功能除外),而且能實作無法用滑鼠鍵盤實作的操作。

Part2MaxScript偵聽器
初次學習MaxScript,建議先從監聽器開始學習。打開界面如下:
然後啟用宏錄制器
之後我們通過界面的操作,就會自動被捕捉并顯示,我們可以這樣學習文法。例如我們建立一個球體,會在界面輸出如下指令
Sphere radius:24.7171 pos:[-8.16896,15.7796,0] isSelected:on
我們在下面的腳本區域輸入同樣的指令,就會自動建立一個球體。
Part3建立腳本
當我們遇到複雜腳本的時候,偵聽器單行執行往往無法滿足需求,這個時候,我們可以建立一個腳本,點選計算所有,即可執行腳本
此時,監聽器還是需要打開,他可以監聽腳本執行的異常情況,并給出提示。示例如下:
Part4基本文法
1擷取對象
通過$可以擷取目前被選中的對象
$
通過$+對象名稱 可以擷取指定的對象
$sphere002
2添加注釋
有兩種添加注釋的方式,如下,分别為單行和多行的注釋。
#多行注釋
/*
*/
#單行注釋
--
3定義函數
通過function關鍵字可以定義函數,參數直接跟在後面即可。調用方法的話,就是函數名然後後面跟着參數
#定義函數
function createSpheres count growth =
(
for i in 1 to count do
Sphere radius:(i*growth) position:[i^2*growth,0,0]
)
#調用函數
createSpheres 25 10
4定義數組
#定義數組并輸出
a = #(1,3,5,7,9)
for i in a do
print(i)
#輸出
1
3
5
7
9
#數組通路,從下标1開始
a[1]
#輸出
1
#通過collect關鍵字可以動态生成一個數組
a = for i in 1 to 5 collect i
#輸出
#(1, 2, 3, 4, 5)
5循環
# 步長為5的循環
for t in 0 to 10 by 5 do
print(t)
# 輸出
0
5
10
6case轉換
case 有兩種判斷方法,分别如下
# 在後面判斷
exper =1
case of
(
(exper == 1):
Sphere radius:20
(exper == 2):
Sphere radius:40
)
# 在前面判斷
exper =2
case exper of
(
1:
Sphere radius:20
2:
Sphere radius:40
)
7動畫
可以設定不同位置的關鍵幀,進而實作動畫。下面示例為0-100幀的小球沿着x軸移動的動畫。
Sphere radius:20 segs:30 pos:[0,0,0] name:"ball"
animate on
(
at time 0 $ball.pos = [-100,0,0]
at time 100 $ball.pos = [100,0,0]
)
Part5總結
本文主要簡單總結了MaxScript腳本入門使用。