首页 > 代码库 > 3D MAXScript(1)

3D MAXScript(1)

转载自http://www.cgjoy.com/thread-177298-1-5.html

 

首先我们要知道MAX的几个和脚本编写和测试有关的地方。
  单击命令面板中的
<ignore_js_op>

技术分享

  按钮,打开应用程序面板,再单击MAX Script按钮,在应用程序面板出现MAXScript卷帘窗,如图1-1所示。
<ignore_js_op>

技术分享

  脚本监听器窗口
  脚本监听器又叫脚本跟踪器,单击MAXScript卷帘窗中的Open Listener按钮,也可选择菜单栏中的 MAXScript/MAXScript Listener
  命令,快捷键F11。如图所示。
<ignore_js_op>

技术分享

  也可右击用户界面左下方的Mini-Listener(迷你监听器)打开脚本监听器窗口,如图所示。
<ignore_js_op>

技术分享

  脚本监听器窗口是一个命令编辑和执行窗口,它由两部分组成,上半部分为宏记录窗口,下半部分为脚本运行结果输出窗口。如图所示。
<ignore_js_op>

技术分享

  脚本编辑窗口
  单击MAXScript卷帘窗中的New Listener按钮,或者选择菜单中的 MAXScript/New Scrip 命令打开脚本编辑窗口,如图1-5所示。
<ignore_js_op>

技术分享

  下面我们就直接进入正题用脚本编辑窗口来编辑下自定义的一些控件:
  1。浮动对话框的制作:
<ignore_js_op>

技术分享

  Rollout floater "浮动窗口":定义窗口的类型是一个rollout 窗口的标题名称是“浮动窗口”
  Createdialog floater:表示创建这个浮动的窗口 注意定义的变量名称“floater”上下必须一致,width和height表示窗口的宽度和高度,最后的2个参分别表示背景色和前景色,中间必须用括号分开,在括号内书写我们定义的内容。然后我们求解ctrl+E或者是tools下的evaluate all 得到如下的结果:
<ignore_js_op>

技术分享

  当然这种浮动窗口也可以定义一些菜单拦,下面我们就来定义下菜单。首先我们来看下我们下面的语句:
<ignore_js_op>

技术分享

  我们首先在定义浮动窗口上面写出定义菜单的语句,然后我们在定义ROLLOUT的后面加上menu:TDHmenu其中TDHmenu是定义菜单的变量括号依然是我们所定义的内容,现在我们只是语句的格式说明,内容都为空。我们运行可以得到需要的结。
<ignore_js_op>

技术分享

  在我们的窗口上出现了我的定义的submenu的菜单的名字。下面我们在进一步的编写,在我们的菜单里面定义下拉的子菜单的方法:
<ignore_js_op>

技术分享

  如上图,红色的框内是新加的2个字菜单的语句 2个子菜单的名字分别是打开和关闭。
  运行后就可以得到想要的效果
  下面我们就为我们的浮动窗口里面写入控件,在MAX里面有许多控件,如下图:
<ignore_js_op>

技术分享

  我们首先在浮动的窗口里加入上面的控制具体的语句如下:
<ignore_js_op>

技术分享

  其中range表示spinner控件的值的范围是-100到100 默认的是0 fieldsidth:表示spinner控件的宽度 tooltip:表示当鼠标移动到上面的提示字符。其中scale表示每点一下spinner所变化的最小数值,另外每个控件的属性的定义不一样,大家可以参考质料,具体的编写方法都是这样的,在如下
<ignore_js_op>

技术分享

  其中如#center前面加有“#”的表示是名称
  上面的教程我们简单的写了下制作这样的控制面板的一个方法,这个只是其中的一个,下面我们就来运用这些知识写个小脚本制作一个
<ignore_js_op>

技术分享

  如上图是一个浮动窗口里在做一个rollout的卷展栏,然后创建一个按牛“gonghu”点开它又弹出一个浮动的窗口,在浮动的窗口的菜单上点第一个子菜单,弹出一个“你看懂没有”的提示对话框
  下面在做个简单的创建一个BOX的脚本具体如下:
<ignore_js_op>

技术分享

  其中如上面,spinner的触发事件是“on ..changed val do”
  For i in selection do表示 当i处于选择的时候做什么
  下面是一个创建链子的脚本。
<ignore_js_op>

技术分享

  运行后执行的结果如下图:
<ignore_js_op>

技术分享

  以上的中间的事件和函数定义等等知识参考MAX的帮住文件几可查到相关的命令
  我本人也是个CG爱好者。平时无聊的时候就看下脚本,功能十分的强大,我也是初学者。写的不好的地方请指正,希望认识更多的写脚本的朋友,一起提高进步。
  下面副上我的美术作品以及一些骨骼的装配作品:
<ignore_js_op>

技术分享

<ignore_js_op>

技术分享

<ignore_js_op>

技术分享

3D MAXScript(1)