水鹰脚本系列——3DS MAX 脚本入门教程
http://tech.ddvip.com 2008年05月06日 社区交流
内容摘要:MAXScript可以运用各种数学工具来完成高级复杂的程序设计任务。可以对含有大量对象的集合进行操作。例如在复杂的场景中选择物体,可以把大量物体放置在精确的位置上,例如在山或路边放置一些树木,使用MAXScript操作起来是非常的方便。
box()
box pos:[60,0,0]
box pos:[-60,0,0]
sphere pos:[0,70,0]
omnilight pos:[0,-100,150]
circle()
既然是自动完成的,那我们就直接访问了。访问场景中的对象可以使用路径名,前面讲过用路径名,访问单个对象用美元符号$加上对象的名字就可以了,但如果要把刚才创建的三个box一起向Y轴移动100,应该怎么办呢?使用带有通配符的路径名:
$box*.pos.y=100
$box* 表示场景中所有以box开头的对象,*表示任意个字符。
如果把那三个box和一个球体一起操作呢?它们都是内置几何体对象集:
select geometry --选择所有的几何 体
geometry.pos=[0,0,0]-把所有的几何体移动到时原点
选择所有的对象,下面提供有两种方式:
select $* --以路径名的方式选择所有的对象
select objects --以内置对象集的方式选择所有的对象
下面把内置对象集列出,以供参考:
对象集 (ObjectSet)
对象集是描述主场景对象种类的。
objects -- 全部对象
geometry -- 标准的 3ds Max 分类(categorie)
lights--灯光
cameras--摄像机
helpers--帮助物体
shapes--二维形状
systems--系统对象
spacewarps--空间扭曲
selection -- 当前选择的对象
集合的属性
接着上面的内容进行操作。
输入selectionSets["盒子集"].center 返回"盒子集"中心 [0,-50,12.5]
输入selectionSets["球体集"].count 返回"球体集"总数3
输入selectionSets["盒子集"].max 返回"盒子集"最大范围[62.5,-37.5,25]
来源:mediastime 责编:豆豆技术应用