水鹰脚本系列——3DS MAX 脚本入门教程

http://tech.ddvip.com   2008年05月06日    社区交流

内容摘要:MAXScript可以运用各种数学工具来完成高级复杂的程序设计任务。可以对含有大量对象的集合进行操作。例如在复杂的场景中选择物体,可以把大量物体放置在精确的位置上,例如在山或路边放置一些树木,使用MAXScript操作起来是非常的方便。

  现在回忆一下以前是如何改变对象属性的。例如前面提到改变box01的长度,语法是 $Box01.length=20,这和给变量赋值的语法是一样的。从这里可以看出,对象的属性实质上也是一个变量,只因为是对象特有的变量,就称为属性了,访问变量直接用变量名,访问属性要在属性名前加上对象名,中间用一个小数点隔开,称为点语法,这就是变量和属性的关系。既然可以把一个变量分配给另外一个变量,就可以把一个对象的属性分配给一个变量,也可以把一个变量分配给一个对象的属性,还可以把一个对象的属性分配给另外一个对象的属性,有的人把它称为双词模式。有的人会想,现在到了这一步,索性来个一不做二不休,把整个对象分配给一个变量,以后访问时更加方便,这也是允许的。举例如下:

  height=50

  myBox=box length:20 width:20 height:height

  zPos=mybox.height+10

  mySphere=sphere radius:10 pos:[0,0,zPos]

  结果如图3-1所示

水鹰脚本系列——3DS MAX 脚本入门教程

  图3-1

  --第二句中height:height是把变量height分配给这个box的height属性,第三句是算出Z轴的坐标,准备分配给后面要产生的球体的Z轴坐标,第四句pos:[0,0,zPos] 是把变量zPos的值分配给球体的Z轴。

  注:鉴于要有一定基础,变量的作用范围(即全局变量和局部变量)和增量放在第五部分了。

  2、数组和集合

  数组(array),是一系列有序数据的集合,每一个数据就是一个元素,它有两种表现形式:

  #( 表达式 1 , 表达式2 …… )

  #( ) --空数组

  例如把常量15,16.2,80这几个数据放在一起,就可以用数组存放:

来源:mediastime    责编:豆豆技术应用

正在加载评论...