【第1部分 MAXScript语法基础】
第1章 了解MAXScript
1.1 如何开始 MAXScript
1.2 如何新建、编辑、运行脚本文件
1.3 在 3ds max 开始运行时加载所需的脚本文件
1.4 MAXScript Listener 窗口
1.4.1 MAXScript Listener 窗口的功能及特点
1.4.2 MAXScript Listener 命令
1.4.3 宏记录器(MacroRecorder)
1.4.4 Listener 日志文件
1.5 MAXScript Editor 窗口
1.5.1 MAXScript Editor 窗口功能及特点
1.5.2 MAXScript Editor 窗口的菜单命令
1.6 MAXScript 桌面状态
1.7 快速学习 MAXScript 语言的两个方法
1.8 一个简单的 MAXScript 例子
1.8.1 用 MAXScript 创建一个简单的 Box 对象
1.8.2 修改 Box 对象
1.8.3 Box 对象的标准转换
1.8.4 Box 对象的更多转换
1.8.5 为 Box 对象创建动画
打开MaxScript Listener。
Listener窗口分成上下两部分:上部分是宏记录区域,下部分是输出区域。用户操作3dsmax过程中每一条可记录的命令都会作为一行脚本语言显示在Listener窗口的宏记录区域里。
除了可以在脚本菜单栏里打开,另一种方法是在命令面板里按下锤子符号,选择UTILITY|MaxScript,可以打开MaxScript卷展栏。
MAXScript 卷展栏各按钮说明如下:
Open Listener 打开 MAXScript Listener 窗口。
New Script 打开一个新的 MAXScript Editor 窗口来写入新的脚本。
Open Script 打开一个已存储的脚本文件,该脚本文件会被显示在一个新的MAXScript Editor 窗口里。
Run Script 打开并运行脚本文件,运行过程的所有输出都会显示在 Listener 窗口的输出区域里。
Utilities 显示当前可用的脚本工具清单,只有显示在该清单里的脚本工具,MAXScript 才能执行它。有关脚本工具的更多内容请参见本书第 15 章。
我们已经知道如何开始 MAXScript了,接下来将学习如何新建、编辑、运行已有的脚本文件。脚本文件后缀为*.ms 或*.mse。
熟悉 AutoCAD 的内嵌语言AutoLISP的读者应该知道:AutoCAD在每次启动时都会在文件搜索路径里查找文件acad.lsp,一旦找到该文件,就会自动装载它。在3ds max里也有类似功能。
假如我们有一个函数库,并且每次在MAXScript里都需要预先装载它们用来对界面作一些设置、装载一些工具卷栏脚本时,如果这些工作都能在启动3ds max时由系统自动进行,将会大大简化我们的工作。在3ds max里,启动脚本文件startup.ms就可以实现这种功能。
1.4 MAXScript Listener 窗口
1.4.1 MAXScript Listener 窗口的功能及特点
1. 编辑、执行窗口中间的命令
1.4.3 宏记录器(MacroRecorder)
1.5 MAXScript Editor 窗口
1.5.1 MAXScript Editor 窗口功能及特点
-- create a sphere, convert it to a mesh, and animate all vertices s=sphere radius:100 converttoMesh s animatevertex s #all -- on each frame, move each vertex around randomly animate on ( for v=1 to s.numverts do ( v_pos_track="$"+s.name+".Vertex_"+(v as string)+".controller" v_pos=execute(v_pos_track) at time 0 v_pos_last=v_pos.value for t=1f to 20f do ( at time t ( v_pos.value=v_pos_last+(random [-5,-5,-5][5,5,5]) v_pos_last=v_pos.value ) ) ) )
1.6 MAXScript桌面状态
1.7 快速学习MAXScript语言的两个方法
1.8 一个简单的 MAXScript 例子
通过前面的讲述,读者应该对 MAXScript 脚本语言已经有一个比较初步的认识了,通过下面的例题将对 MAXScript 语言如何创建和修改场景对象有一个比较具体的了解。这些例题中有一些内容可能读者觉得很陌生,不要紧,这些内容在以后的章节里会慢慢涉及到。
1.8.1 用 MAXScript 创建一个简单的 Box 对象
用MaxScript可以创建常见的对象,如Box和Cylinder等,比如在Listener窗口输入:
Box()
将在3dsmax视窗里用参数默认值创建一个Box对象。也可以将该对象赋值给一个变量,以便在随后的运算中引用它:
myBox=Box()
注意:如果在创建对象时不指定任何参数,必须在函数名后加一对括号“()”,这样MAXScript才能知道使用参数的默认值来创建对象,如果在调用函数时指定了一个或多个参数的值,则不需要再在后面加括号了,如:myBox=Box length:20 20 height:20