有兴趣学学MAXScript-1

网友投稿 709 2022-05-29

使用Macro Recorder 宏记录器,但不要依赖

在MAXScript 菜单中我们会可以找到Macro Recorder,它的功能是把我们的鼠标和键盘操作转化为脚本形式记录下来。比如我们想知道如何写出一个建立球体的脚本,可以先打开Macro Recorder,再用命令面板的建立球体按钮完成操作,之后就可以看到Macro Recorder所记录的类似这样一段脚本:

Sphere radius:6.57503 smooth:on segs:32 chop:0 slice:off sliceFrom:0 sliceTo:0 mapCoords:on recenter:off pos:[-2.50576,-0.672316,0] isSelected:on

(↑单行,很长——要想看到完整版,有必要按F11打开MAXScript Listener)

如果我们要在脚本中建立球体,那这个就是完成该任务的范例(先不必汗,宏记录下来的都是超级完整标准版,其实可以写成短小精悍型的)。要想使用这种记录后的脚本,一个简单的办法是把它们选中之后,用鼠标拖到屏幕上方的工具按钮——就出现了一个新按钮,每次按它的时候,都会给你在同样位置建立一个同样大小和参数的球……当然名称和颜色还是会有区分的。

提示:有些操作是Macro Recorder无法记录的,并且它也不总是会记录完全正确的脚本。有些操作虽然是可以写成脚本,但并不出现在Macro Recorder的记录中;还有的时候它会给你一些错误的信息,并且像上面的例子一样,它生成的代码总是包含大量不必要的默认参数。因此非必要时刻就不要依赖它。

为有价值的脚本进行通用化处理

在我们的工作中,经常有为了某种特定需要而开发专用软件的情况。假如一个动画师想使10个物体沿一个特殊物体的表面运动。对于编写脚本来说,我们可以写出只能专门控制这10个物体的运动脚本,这种方法会显得比较快因为我不必制作一个操作界面,并可以对脚本所控制的10个物体进行特定的省时省事的操作。这种做法的另一个含义就是——用完就扔,因为它只能解决这一个问题,而下次另一个任务中要使用类似的功能时,我还得重新写过……因此,我们有必要学习适时地为脚本进行通用化。

当我不能确定手头的脚本有没有必要再次使用时,我采取的办法是在其中加入许多注释说明,并将它保存到我脚本目录中一个名为“草稿”的目录。如果下次用得着,我就可以把它拿出来方便地修改和通用化,避免大规模重复性劳动的灾难。

为编写长脚本准备一个优秀的文字编辑软件

有兴趣学学MAXScript-1

尽管我们可以用max内置的脚本编辑器(MAXScript菜单->New Script),然而这个编辑器有个先天不足:一旦你的脚本错误或者任何其他原因导致了max的崩溃……那它也就完了,写在里面的脚本会丢失,也可能带走了之前的部分工作成果。因此我更喜欢在一个独立的文字编辑软件中编写我的脚本,比如Windows系统的记事本或者我最爱的TextPad(www.textpad.com)。它有很多很酷的长处:它的排版更合理,语法高亮显示功能比max内置的更快更好,还可以同时在多个文挡之间进行搜索和替换,还有它可以同时打开多个文件同时查看与编辑……等等。

提示:然而内置的MAXScript 编辑器有一个功能是无可替代的,那就是在使用Visual MAXScript(VMXS) 工具创建界面时,VMXS只会把它生成的代码写进MAXScript 编辑器的窗口里面。在那之后我才可以把它们拷贝/粘贴到我的Textpad里面。

本书附带的DVD中包含了一个评估版的TextPad和它使用语法高亮功能所需的MaxScript.syn文件。注意它是一个商业软件,过期请注册。(虽然没有DVD,但我从电驴中直接搜索到了它的软件本身和注册文件,搜索关键词TaxtPad)

为MAXScript 工作设置TextPad

运行安装程序

将MaxScript.syn 复制到Program Files/TextPad 4/system目录下.如果DVD不在手边,可以去 www.textpad.com/add-ons/synh2m.html下载这个小文件。

打开TextPad,在菜单中选择Config/New Document Class.

在添加文档类型的向导中,输入MaxScript作为类型名,并点击Next.

输入 *.ms, *.mcr 为该类型的成员,Next.

勾选"Enable syntax highlighting"复选框,并从下拉菜单中选择MaxScript,点击Next。

在摘要信息中确认你的选择,并点击Finish完成配置。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【案例分享】实时支撑千亿数据,高效出行的背后全因有TA
下一篇:ClickHouse问题分析:删除系统表时卡住,长时间不恢复
相关文章