[2018年工作重点规划]二.max脚本加强编写能力

1.阅读MaxScript 官方文档

知识点:

Listener 窗口

在当前鼠标位置按下 Enter 键,插入一个空行。

当用户把鼠标移到左边边框边缘时,会变成一个指向右边的箭头,单击鼠标可以选取整行文本;按住鼠标拖动可以进行多行选择

 

MacroRecorder 记录器

Listener 窗口还有一个很重要的功能:记录用户在 3ds max 界面里的大部分操作,每一

个可记录的命令会作为一个命令行显示在 Listener 窗口的宏记录区域里。这种功能类似于
录音机的录音功能。

. Enable
如果 Enable 被选择,宏记录才会在 Listener 窗口里生成相应 MAXScript 命令。
2. Explicit Scene Object Names/Selection-Relative Scene Object Names
一对互斥开关,指定在生成的宏记录中使用对象名还是选择符“$”。
如果选择 Explicit Scene Object Names,生成的宏记录为如下形式:
move $Sphere03 [10,10,0]
如果选择 Selection-Relative Scene Object Names,生成的宏记录为如下形式:
move $ [10,10,0]
3. Absolute Transform Assignments/Relative Transform Operations
一对互斥开关,指定在生成的宏记录中使用绝对转换赋值还是相对转换操作。
如果选择 Absolute Transform Assignments,当在视窗里移动一个对象选集时,生成的
宏记录为如下形式:
$.position = [55.6739,23.5,0]
如果选择 Relative Transform Operations,相应的宏记录为如下形式:
move $ [0,-47.8044,0]
第 1 章 了解 MAXScript
9
当选择 Absolute Transform Assignments 选项时,绝对转换赋值仅用于单个对象被转换
的情况,如果对象选择集里有多个对象,产生的宏记录仍然使用相对转换操作。
4. Explicit Sub-object Sets/Selection-Relative Sub-object Sets
一对互斥开关,指定在生成的宏记录中使用子对象标识符还是子对象选择集属性。
如果选择 Explicit Sub-object Sets,生成的宏记录为如下形式:
move $Sphere02.verts[#{20..32, 51..65}] [40.0986,10.3648,0]
如果选择 Selection-Relative Sub-object Sets,生成的宏记录为如下形式:
move $Sphere02.selectedVerts [40.0986,10.3648,0]
如果使用 Selection-Relative Sub-object Sets 选项,记录下来的脚本也可以用于别的选择
集,这样可以生成一些通用的脚本。如果用户希望脚本总是对同一子对象进行操作,而不
是当前的选择集,就可以使用 Explicit Sub-object Sets 选项。
5. Command Panel Switchings
如果选择 Command Panel Switchings 选项,宏记录会为不同命令面板之间的切换生成
脚本命令。在绝大多数情况下,记录命令面板之间的切换是多余的,因为大多数脚本并不
依赖用户界面的状态。
6. Tool Selections
如果选择 Tool Selections 选项,当用户按下 3ds max 的工具栏里的某一按钮时,宏记录
会生成一条命令。在绝大多数情况下,记录工具栏里的按钮状态是多余的。
7. Menu Item Selections
如果选择 Menu Item Selections 选项,当用户按下 3ds max 的某一菜单项时,宏记录会
生成一条命令。

 

MAX Script Editor

1.可以选择 Editor 窗口里一行或几行脚本,将其拖拉至 3ds max 的工具栏,创建一个
脚本宏

2.可以通过调用 edit()函数在 Listener 窗口中或其他正在运行的脚本文件中打开一个
MAXScript Editor 窗口,其语法为:
edit <filename_string>
其中参数<filename_string>为一个字符串或求值结果为字符串的表达式,它指定了
要装入 MAXScript Editor 窗口的脚本文件名,例如:
Scriptfile= "my_script.ms"

3.

可以在 Listener 窗口或正在运行的脚本文件中创建一个新的脚本文件,其语法为:
newScript()
下面的例子将创建一个新的脚本文件,然后把一些中间结果写入文件中:
debug = newScript()
...
print $foo to:debug
...
format "name is % | n" obj.name to:debug

 

4.

如果我们需要查找某一个脚本函数在哪一个脚本文件中被定义,可以使用下面的方
法:
showSource <fn>
系统会打开一个新的 MAXScript Editor 窗口,显示定义该函数的脚本文件,并将光
标定位在该函数定义的起点。

 

快速学习MAX ScrIpt 语言的两个方法

1.通过一个脚本文件学习 MAXScript

最好的学习 MAXScript 命令和语法的方法是在 MAXScript Editor 窗口中调入一个脚本
文件,逐行运行它,然后观察 Listener 窗口和用户界面的反应:
(1)在 MAXScript Editor 窗口中打开一个脚本文件。
(2)把光标放在第一个命令行,按下数字键盘区的 Enter 键运行当前行,输出信息会
在 Listerner 窗口的输出区域显示。
(3)移动鼠标至下一行,重复步骤(2)。

 

2.通过宏记录器(MacroRecorder)学习 MAXScript

如果你想知道 MAXScript 怎样执行一个任务,你可以从 MacroRecorder 开始。宏记录
器捕捉绝大多数命令执行的操作,并产生与这些操作相应的 MAXScript 命令。宏记录器输
出在 MAXScript Listener 窗口的粉红色区域。

 

 

2.尝试使用简单批量导入导出

posted on 2018-03-05 11:14  cainiao001  阅读(195)  评论(0编辑  收藏  举报

导航