cgjoy_wando 发表于 2012-7-24 19:19

MaxScript 教程 学习⑦

绘制界面

  现在目标明确、方案可行,到了规划我们工具界面的时间了。有些高手喜欢靠全手工写出界面代码,而我们可以用图6.4中叫做Visual MAXScript的工具,通过简单的拖放式操作来创建界面。

1.在MAXScript菜单中选择 New Script

2.在MAXScript Editor窗口菜单中选择Edit -> New Rollout。注意脚本输入区此时变成了灰色,即无法进行输入了;在Visual MAXScript工具开启时,其他的脚本输入区处于锁定状态。

  提示:可视化脚本工具可以用两种方法来启动,不同的启动方式也会对脚本编辑器产生不同的影响:主菜单中MAXScript -> Visual MAXScript Editor,或者 MAXScript Editor窗口菜单中的 Edit -> Edit Rollout。

  如果我们从主菜单中启动Visual MAXScript,就必须在操作完成后把结果储存为一个.ms文件,然后打开这个文件,将其拷贝/粘贴到自己的脚本中去使用。

  而通过 MAXScript编辑窗口的菜单启动可视化工具,则可以将它与脚本编辑器挂接起来,当你通过菜单File -> Save时,界面代码会直接写到你的脚本中,因此这种方式在工作中显得更加方便。

3.编辑器右边是属性页,它用于显示我们当前所编辑界面对象的属性。现在我们把它的name属性改为quickDraft_rollout,而caption改为quickDraft。其中name是我们用来在脚本中指代工具本身的名字,而caption则是在工具界面上所显示的标题名。

4.接下来还是在Properties页,把下面的width设为111,height设为216,使左边表示界面的区域变得更加紧凑,其大小能够容纳一排复选框及其标题就可以了。

5.在编辑窗口下方的部件工具条上点击复选框图标,在左边灰色界面区拖出一个矩形。这样就建立了一个叫做Checkbox的复选框,同时可以看到右边属性页上所显示的内容变成了该复选框的属性。
6.将其名称也就是name属性改为hidden,而caption改为Render Hidden

  提示:界面UI元素的name属性中不可以包含空格,也不能以数字开头。

7.如果caption的内容超出了你画的矩形宽度,用矩形侧边的调节柄将其加宽(或者可以使用中文会短一点)。

8.接下来回到右边的属性页,把height属性设置为14,这是大多数UI元素的一般高度。

9.在编辑窗口菜单中选择File -> Save。即可看到MAXScript Editor窗口中被写入了界面代码,尽管它仍然是灰色状态的。

  提示:没有Undo!可视化脚本编辑器中不提供撤消功能,因此一定要记住时常保存你的UI代码,这样一旦你中途操作失误,就可以关闭并重新打开可视化编辑工具以恢复到之前的版本。

10.接下来建立新的复选框时就不必重画了,点击下方工具条的黑箭头选择工具,选择刚才建立的Render Hidden复选框,按Ctrl+C和Ctrl+V进行复制和粘贴,再把复制品往下拖动到合适的位置,并将其name和caption属性改为rfw和RFW。不必在意两框是否对齐,界面编辑器为我们提供了排列工具来完成对齐界面等修整工作。

11.接下来重复9次上述的粘贴-移动-更名操作,这样我们就有了总共11个复选框,使用下列名称与标题来赋予它们对应的属性:
表6.3 quickDraft中的复选框工具属性

--------------------------------------------------------------------------------
名称 Name 标题 Caption 中文名

--------------------------------------------------------------------------------
hidden Rendder Hidden 渲染隐藏物体
rfw RFW 渲染窗口
save Save File 保存文件
elements Elements Active 渲染元素
aa Antialiasing 抗锯齿
samp Disable Samp 关闭采样
shad Shadows 阴影
area Area as Point 简化区域灯光
raytrace Raytracing 光线追踪
atmo Atmospherics 大气效果
displace Displacement 位移贴图

--------------------------------------------------------------------------------

  现在我们所有的复选框已经建立和命名完毕,该把它们对齐了。

12.选择菜单File -> Save 来把目前的界面代码写入MAXScript Editor中。这样如果下一步操作结果不令人满意,我们就可以还原到这一步来。

13.使用选择工具(黑箭头)框选所有复选框,然后点击菜单Layout -> Align -> Left 也就是向左侧对齐,然后再Layout -> Space Evenly -> Down 即等距离排列。如果效果不理想就回到上一步,手动调节一下复选框们的位置,再执行对齐命令。

  返回上一步工作的方法是:直接关闭Visual MAXScript Editor,询问保存时选否,再在MAXScript Editor窗口菜单中选择Edit -> Edit Rollout。之后就可以重复上述步骤直到我们把界面元素排列到满意为止。在我自己的版本中,我决定把Area as Point项作为Shadows的子选项,因为如果阴影被关闭,那么Area灯光的开关就没有意义了。
14.当你对界面效果满意之后,选择编辑窗口菜单中File -> Save 来保存结果,关闭Visual MAXScript Editor,再在脚本编辑器的菜单中保存你的脚本为 quickDraft_interface01.ms(其实这一步才是真正落实到硬盘上的保存)。再需要打开Visual MAXScript Editor时,在脚本编辑器上直接按F2 就可以了。图6.6中所显示的界面脚本可以在DVD上找到:quickDraft_interface01.ms。

  从概念上来区分,我们的工具中所设置的参数有两种类型:一种是控制性设置,要随文件保存并且根据不同的项目有所区别;另一种是为渲草图加速而做的临时选项,到正式渲染时几乎都要统一设置的。在图6.6中显示的界面布局中,我在这两种参数的分组之间空了一行,不过如果能有一点更清晰的图形化分隔标记就更好了,下面我们就做这件事。

15.点击Group Box“分组框”工具按钮(就在我们刚才用过的复选框按钮左边),然后用鼠标在两组参数周围各拉出一个框。

16.使用分组框工具的尺寸调节柄来把它们的边缘调整到合适,然后将他们的caption属性分别改为 Render Controls 和 Speed-Ups(或者中文名“渲染设置”和“加速选项”)。图中的界面示例保存在DVD上的quickDraft_interface02.ms。
17.使用界面编辑窗口菜单的保存命令来把界面代码写入脚本编辑器,关闭Visual MAXScript窗口,再把脚本保存为 quickDraft_interface02.ms

  非常好!通过Visual MAXScript工具,现在我们已经完成了我们“ 快捷草图”工具的界面设计。现在,到了为界面添加脚本代码,并使其能够在3dsmax中作为工具栏开启的时候了。
转自:http://blog.sina.com.cn/s/blog_6798850f0100s6oe.html

lxf 发表于 2020-6-2 23:43

挺实用的,
感谢,我在学习过程中遇到用脚本处理文件时跳出窗口要手动选择,请问这个能用脚本自行处理吗?可否方便指点一下

一眼 发表于 2012-7-24 22:28

没想到作者写了8篇呢!
页: [1]
查看完整版本: MaxScript 教程 学习⑦