MaxScript入门指引系列(三)随机变量

来源:互联网 发布:淘宝好评返现处罚通知 编辑:程序博客网 时间:2024/05/08 23:13

1. 生成随机数:

  • 输入:random 1.0 35.0, 则生成一个介于1.0-35.0之间的数,小数点说明了该数据类型是float.
  • 定义随机变量:diceThrow = random 1 6, 则生成一个介于1-6之间的整数。

 

2. 数据类型:Point3,它是形如【X, Y, Z】

  • 定义Point3变量:myPoint3Variant = [5,4,1]
  • 访问Point3变量的元素:myPoint3Variant.y, 运行后返回4。 x,z 元素同样方式访问。

 

3. 查询并设置物体的位置

  • 查询物体的位置:$.pos,运行后返回选中物体的位置。
  • 设置物体的位置/改变物体的位置状态:$.pos = [0, 0, 0], 将选中物体的位置移到坐标原点。
  • 注意:pos/position表达的是一种状态,下面要讲的move则是一种动作,相对当前位置移动多少单位的意思。

 

4. 物体移动
创建一个小球,并且选中它,在listener中输入:
$.pos = [0, 0, 0] --将该小球定位在坐标原点上
move $ [3,2,0] --相对当前位置沿着x轴正向移动了3个单位,沿着y轴正向移动了2个单位,在z轴上没有移动。
$.pos --显示移动后此时的位置,应该为[3,2,0]
move $ [3,2,0]--再相对当前位置沿着x轴正向移动了3个单位,沿着y轴正向移动了2个单位,在z轴上没有移动。
$.pos--显示移动后此时的位置,应该为[6,4,0]

Practice:假设要创建一个篱笆园,我们用一组很高的长方体作为篱笆。但是它们看起来太一致了,想办法把它的高度随机打乱。
--对选中的每一个物体,将物体的高度随机化。
for obj in $ do
(
randHeight = random 90.0 110.0 --在90.0-110.0之间生成浮点型随机数,并付给randHeight变量
obj.height = randHeight
)
--对选中的每一个物体,将物体的位置随机化
for obj in $ do
(
randX=random -5.0 5.0
randY=random -5.0 5.0
move obj [randX, randY, 0]
)

参考网站:http://www.maxforums.org/threads/introductory_maxscript_tutorial/0001.aspx

原创粉丝点击