首页 > 代码库 > MAXScript基础语法

MAXScript基础语法

showclass的用法
语法:showClass <pattern_string> [ :<stream> ]

  • showClass "Box.* "--显示Box这个类所包含的属性
  • showClass "path*"--显示所有类名以 path 开头的类
  • showClass "noise.*" --显示 noise 类贴图所有可存取的属性
  • showClass "*:mod*" --显示所有 modifier 类
  • showClass "*.*rad*" --显示拥有属性名中包含字符 rad 的属性的所有类
  • showClass "*.*" to:f --显示所有类、超类、属性,并输出到指定文件
  • showClass "*:*controller*" --显示所有在其超类名中包含字符 controller 的类

showProperties()函数
showProperties()函数用来显示某一特定 MAXWrapper 类对象的属性
语法:showProperties <maxwrapper_object> [ <property_pattern> ] [ to:<stream> ]

  • showProperties $foo.bend --显示对象 foo 的 Bend_modifier 的属性
  • ffdmod = $baz. ‘ FFD_Box_4x4x4 ‘ --指向对象 baz 的 FFD_modifier
  • showProperties ffdmod "disp*" to:log--显示 FFD_modifier 里以 disp 开头的属性
  • showProperties $foo.pos.controller--显示position类controller里的次级controller

 

移动旋转缩放

  • move(移动)
  • move <name_obj> [(x,y,z)]
  • move myBox [10,0,0]
  • scale(缩放)
  • scale <name_obj> [(x,y,z)]
  • rotate(旋转)
  • rot_obj=eulerangles x y z
  • rotate myBox rot_obj

 


添加修改器
语法:addmodifier obj_name (modifier_name<parameters>)

  • addmodifier myBox (Twist angle:30)
  • myBox.twist.angle=60--修改Modifier参数

 

创建动画

animate On

(

at time 0(myBox.pos=[-100,0,0]; myBox.scale=[1,1,0.25])

at time 100(myBox.pos=[100,0,0]; myBox.scale=[1,1,3])

)


数组
数组是一组数据的集合,在 MAXScript 里,数组的每个元素可以是任何不同的数据类
型,而且可以被单独获取
语法:#(<expr>,<expr>)
每个<expr>都可以为数字、表达式、字符


方法

  • classOf <value>--返回<value>所属的数据类型
  • superClassOf <value>--返回<value>的超级类,也即<value>所属类的父类
  • for obj in $* do(if classOf obj == Box then append allBoxes obj)
  • isKindOf <value> <class>--如果<value>继承自类<class>,则返回 True,否则返回 False
  • allBoxes=for obj in $* where(isKindOf obj Box)do collect obj
  • issTructDef <value>--如果<value>是一个结构定义,则返回 True
  • isStruct <value>--如果<value>是一个结构类的数据,则返回 True
  • isController <value>--如果<value>是一个控制器,则返回 True

 

MAXScript基础语法