内容摘要:MAXScript可以运用各种数学工具来完成高级复杂的程序设计任务。可以对含有大量对象的集合进行操作。例如在复杂的场景中选择物体,可以把大量物体放置在精确的位置上,例如在山或路边放置一些树木,使用MAXScript操作起来是非常的方便。
#(15,16.2,80)
把变量放到数组中:
x=10
y=20
z=30
#(x,y,z)--返回#(10, 20, 30)
把数组分配给一个变量 :
arr=#(x,y,z)--返回#(10, 20, 30)
访问数组元素:
arr[2]--第二个元素,返回20
改变数组元素的值:
arr[1]=236
arr--再次访问数组时,其内部元素的值已经改变了,返回#(236, 20, 30)
选择集(selectionSet)
这个对应于手工在场景中命名的选择集,也可以用脚本命名选择集。
先创建几个对象,输入:
b01=box pos:[-50,-50,0]
b02=box pos:[50,-50,0]
sp01=sphere pos:[0,0,0]
sp02=sphere pos:[50,50,0]
sp03=sphere pos:[50,50,0]
下面的代码创建一个名字为"盒子集"的选择集,它包含有刚才创建的两个box:
selectionSets["盒子集"]=$box*
下面的代码创建一个名字为"球体集"的选择集,它包含有刚才创建的两个sphere:
selectionSets["球体集"]=$sphere*
在工具栏中点击命名选择集按钮,可以看到刚才创建的选择集,如图3-2所示。

图3-2
输入selectionSets["盒子集"][1],访问第一个元素,结果返回:
$Box:Box01 @ [-50.000000,-50.000000,0.000000]
输入move selectionSets["球体集"] [0,20,0],整个“球体集”向Y轴移动了20。
集合(collections)
在使用MAXScript 时有许多值都是一系列的集合,很明显的有数组、 通配符路径名选择集,内置对象集。集合不用你特意去指定,它是系统自动完成的。例如我们现在用下面的代码创建一些对象:
来源:mediastime 责编:豆豆技术应用