MaxScript入门指引系列(二)变量和语句

   

每一种编程语言都有其语法,如同MatLab的脚本语言,MaxScript的脚本语言的语法相当简单。对于声明变量时,无需像C++那样在变量前面加数据类型;循环和判断语句也显得特别直白。

 

1. 变量和数据类型
MaxScript的数据类型主要有四种:float, integer, boolean, string
变量的声明格式:variableName = variableValue;
如在listener中输入:myVariable=34.5, 则说明变量myVariable是float型,执行后返回值34.5。
变量表达式:
如再输入:2*myVariable,执行后返回69.0。说明上一语句定义的变量在该句仍然可以使用,只有在清除该变量之后,它才会失去作用。
数据类型转换: variable as datatype
如:"35" as integer, 则将字符串类型转化为整型了。注意:字符串类型用双引号括起来。

2. 循环语句 :
for obj in $ do
(
code goes here
)
当然事先需在场景中选择物体。意思是,在选中的每一个物体中,都要执行括号中的语句。

3. 比较操作符 :==, !=, >, <, 返回值为true/false
如输入:5 == 2,则返回false;

4. 判断语句if
if(expression resulting in true or false) do
(
code goes here
)

Practice : 在场景中创建了一个小球矩阵,对其中的一些小球添加了bend修改器。任务:对添加了修改器的物体,修改bend的一些参数。
--为了查看该修改器的属性,先选择一个应用了该修改器的物体,然后使用如下语句查询:
showproperties $Sphere09.bend
  .BendAngle (Angle) : float
  .BendDir (Direction) : float
  .BendAxis (Axis) : integer
  .FromTo (Limit) : boolean
  .BendFrom (LowerLimit) : float
  .BendTo (UpperLimit) : float
  .Center : point3
  .Gizmo : transform
false
--选中场景中所有物体,对每个物体进行逐个判断,若应用了bend,则需修改其参数;对于没有应用bend的物体,不应进行修改它的参数。
for obj in $ do
(
if(obj.modifiers[#bend] != undefined) do
(
obj.modifiers[#bend].BendAngle = 60
obj.modifiers[#bend].BendDir = 30
obj.modifiers[#bend].BendAxis=2
)
)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值